Merge branch 'rs/plug-strbuf-leak-in-merge'
authorJunio C Hamano <gitster@pobox.com>
Mon, 12 Jan 2015 19:38:32 +0000 (11:38 -0800)
committerJunio C Hamano <gitster@pobox.com>
Mon, 12 Jan 2015 19:38:37 +0000 (11:38 -0800)
* rs/plug-strbuf-leak-in-merge:
merge: release strbuf after use in suggest_conflicts()

1  2 
builtin/merge.c
diff --combined builtin/merge.c
index 9effed7ff15d087a6d6768044ffaa70db1ddac73,d72288969f24b98a8712d32539b41b9548a4f5bb..c638fd5a9a8165c58d46d4edeeb0f3bbe8c0f9a1
@@@ -894,6 -894,7 +894,7 @@@ static int suggest_conflicts(void
  
        append_conflicts_hint(&msgbuf);
        fputs(msgbuf.buf, fp);
+       strbuf_release(&msgbuf);
        fclose(fp);
        rerere(allow_rerere_auto);
        printf(_("Automatic merge failed; "
@@@ -1312,7 -1313,7 +1313,7 @@@ int cmd_merge(int argc, const char **ar
        if (!remoteheads)
                ; /* already up-to-date */
        else if (!remoteheads->next)
 -              common = get_merge_bases(head_commit, remoteheads->item, 1);
 +              common = get_merge_bases(head_commit, remoteheads->item);
        else {
                struct commit_list *list = remoteheads;
                commit_list_insert(head_commit, &list);
                         * merge_bases again, otherwise "git merge HEAD^
                         * HEAD^^" would be missed.
                         */
 -                      common_one = get_merge_bases(head_commit, j->item, 1);
 +                      common_one = get_merge_bases(head_commit, j->item);
                        if (hashcmp(common_one->item->object.sha1,
                                j->item->object.sha1)) {
                                up_to_date = 0;