diff options
| -rw-r--r-- | builtin/bundle.c | 2 | ||||
| -rw-r--r-- | bundle.c | 4 | ||||
| -rw-r--r-- | transport.c | 2 |
3 files changed, 5 insertions, 3 deletions
diff --git a/builtin/bundle.c b/builtin/bundle.c index d5d41a8f67..df97f39901 100644 --- a/builtin/bundle.c +++ b/builtin/bundle.c @@ -220,7 +220,9 @@ static int cmd_bundle_unbundle(int argc, const char **argv, const char *prefix) &extra_index_pack_args, 0) || list_bundle_refs(&header, argc, argv); bundle_header_release(&header); + cleanup: + strvec_clear(&extra_index_pack_args); free(bundle_file); return ret; } @@ -639,10 +639,8 @@ int unbundle(struct repository *r, struct bundle_header *header, if (flags & VERIFY_BUNDLE_FSCK) strvec_push(&ip.args, "--fsck-objects"); - if (extra_index_pack_args) { + if (extra_index_pack_args) strvec_pushv(&ip.args, extra_index_pack_args->v); - strvec_clear(extra_index_pack_args); - } ip.in = bundle_fd; ip.no_stdout = 1; diff --git a/transport.c b/transport.c index f0672fdc50..da639d3bff 100644 --- a/transport.c +++ b/transport.c @@ -189,6 +189,8 @@ static int fetch_refs_from_bundle(struct transport *transport, &extra_index_pack_args, fetch_pack_fsck_objects() ? VERIFY_BUNDLE_FSCK : 0); transport->hash_algo = data->header.hash_algo; + + strvec_clear(&extra_index_pack_args); return ret; } |
