From: Taylor Blau Date: Tue, 26 Oct 2021 21:01:18 +0000 (-0400) Subject: builtin/multi-pack-index.c: don't leak concatenated options X-Git-Tag: v2.35.0-rc0~129^2~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ee4a1d63d7e9bdbea6bbeeb3f82ef33030de9ffb;p=thirdparty%2Fgit.git builtin/multi-pack-index.c: don't leak concatenated options The `multi-pack-index` builtin dynamically allocates an array of command-line option for each of its separate modes by calling add_common_options() to concatante the common options with sub-command specific ones. Because this operation allocates a new array, we have to be careful to remember to free it. We already do this in the repack and write sub-commands, but verify and expire don't. Rectify this by calling FREE_AND_NULL as the other modes do. Signed-off-by: Taylor Blau Signed-off-by: Junio C Hamano --- diff --git a/builtin/multi-pack-index.c b/builtin/multi-pack-index.c index 075d15d706..4480ba3982 100644 --- a/builtin/multi-pack-index.c +++ b/builtin/multi-pack-index.c @@ -167,6 +167,8 @@ static int cmd_multi_pack_index_verify(int argc, const char **argv) usage_with_options(builtin_multi_pack_index_verify_usage, options); + FREE_AND_NULL(options); + return verify_midx_file(the_repository, opts.object_dir, opts.flags); } @@ -191,6 +193,8 @@ static int cmd_multi_pack_index_expire(int argc, const char **argv) usage_with_options(builtin_multi_pack_index_expire_usage, options); + FREE_AND_NULL(options); + return expire_midx_packs(the_repository, opts.object_dir, opts.flags); }