From: Junio C Hamano Date: Sun, 10 Sep 2017 08:02:52 +0000 (+0900) Subject: Merge branch 'rs/fsck-obj-leakfix' into maint X-Git-Tag: v2.14.2~31 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c3b931e162919da99517cc6b0d73303befcfd1db;p=git Merge branch 'rs/fsck-obj-leakfix' into maint Memory leak in an error codepath has been plugged. * rs/fsck-obj-leakfix: fsck: free buffers on error in fsck_obj() --- c3b931e162919da99517cc6b0d73303befcfd1db diff --cc builtin/fsck.c index 64542ac3de,ab0de7b9d3..d18244ab54 --- a/builtin/fsck.c +++ b/builtin/fsck.c @@@ -365,10 -369,15 +360,15 @@@ static int fsck_obj(struct object *obj } } - return 0; + out: + if (obj->type == OBJ_TREE) + free_tree_buffer((struct tree *)obj); + if (obj->type == OBJ_COMMIT) + free_commit_buffer((struct commit *)obj); + return err; } -static int fsck_obj_buffer(const unsigned char *sha1, enum object_type type, +static int fsck_obj_buffer(const struct object_id *oid, enum object_type type, unsigned long size, void *buffer, int *eaten) { /*