[PATCH v2 01/20] merge-recursive: fix minor memory leak in error condition
- From
Elijah Newren <newren@gmail.com>
- Date
- Jul 26, 2019, 15:52 UTC
- Message-ID
- <20190726155258.28561-2-newren@gmail.com>
- In-Reply-To
- <20190726155258.28561-1-newren@gmail.com>
Returning before freeing the allocated buffer is suboptimal; as with elsewhere in the same function, make sure buf gets free'd.
Signed-off-by: Elijah Newren <newren@gmail.com> --- merge-recursive.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/merge-recursive.c b/merge-recursive.c index 12300131fc..1163508811 100644 --- a/merge-recursive.c +++ b/merge-recursive.c @@ -934,9 +934,11 @@ static int update_file_flags(struct merge_options *opt, } buf = read_object_file(&contents->oid, &type, &size); - if (!buf) - return err(opt, _("cannot read object %s '%s'"), - oid_to_hex(&contents->oid), path); + if (!buf) { + ret = err(opt, _("cannot read object %s '%s'"), + oid_to_hex(&contents->oid), path); + goto free_buf; + } if (type != OBJ_BLOB) { ret = err(opt, _("blob expected for %s '%s'"), oid_to_hex(&contents->oid), path);
-- 2.22.0.550.g71c37a0928.dirty