Skip to content

Commit

Permalink
rerere: fix memory leak if rerere images can't be read
Browse files Browse the repository at this point in the history
Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Bert Wesarg authored and Junio C Hamano committed Feb 23, 2010
1 parent 1675862 commit 689b8c2
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions rerere.c
Original file line number Diff line number Diff line change
Expand Up @@ -364,16 +364,18 @@ static int find_conflict(struct string_list *conflict)
static int merge(const char *name, const char *path)
{
int ret;
mmfile_t cur, base, other;
mmfile_t cur = {NULL, 0}, base = {NULL, 0}, other = {NULL, 0};
mmbuffer_t result = {NULL, 0};

if (handle_file(path, NULL, rerere_path(name, "thisimage")) < 0)
return 1;

if (read_mmfile(&cur, rerere_path(name, "thisimage")) ||
read_mmfile(&base, rerere_path(name, "preimage")) ||
read_mmfile(&other, rerere_path(name, "postimage")))
return 1;
read_mmfile(&other, rerere_path(name, "postimage"))) {
ret = 1;
goto out;
}
ret = ll_merge(&result, path, &base, &cur, "", &other, "", 0);
if (!ret) {
FILE *f = fopen(path, "w");
Expand All @@ -387,6 +389,7 @@ static int merge(const char *name, const char *path)
strerror(errno));
}

out:
free(cur.ptr);
free(base.ptr);
free(other.ptr);
Expand Down

0 comments on commit 689b8c2

Please sign in to comment.