diff options
author | Taylor Blau <me@ttaylorr.com> | 2021-10-26 17:01:18 -0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-10-28 15:32:14 -0700 |
commit | ee4a1d63d7e9bdbea6bbeeb3f82ef33030de9ffb (patch) | |
tree | ab2b265884ef943252bfb154218089c4c58addb0 /builtin | |
parent | builtin/repack.c: avoid leaking child arguments (diff) | |
download | tgif-ee4a1d63d7e9bdbea6bbeeb3f82ef33030de9ffb.tar.xz |
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 <me@ttaylorr.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin')
-rw-r--r-- | builtin/multi-pack-index.c | 4 |
1 files changed, 4 insertions, 0 deletions
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); } |