Skip to content

Commit

Permalink
Merge branch 'tc/bundle-uri-leakfix' into maint-2.47
Browse files Browse the repository at this point in the history
Leakfix.

* tc/bundle-uri-leakfix:
  bundle-uri: plug leak in unbundle_from_file()
  • Loading branch information
gitster committed Nov 25, 2024
2 parents 058c36a + 6dab49b commit 3357b3d
Showing 1 changed file with 13 additions and 5 deletions.
18 changes: 13 additions & 5 deletions bundle-uri.c
Original file line number Diff line number Diff line change
Expand Up @@ -368,17 +368,23 @@ static int unbundle_from_file(struct repository *r, const char *file)
struct strbuf bundle_ref = STRBUF_INIT;
size_t bundle_prefix_len;

if ((bundle_fd = read_bundle_header(file, &header)) < 0)
return 1;
bundle_fd = read_bundle_header(file, &header);
if (bundle_fd < 0) {
result = 1;
goto cleanup;
}

/*
* Skip the reachability walk here, since we will be adding
* a reachable ref pointing to the new tips, which will reach
* the prerequisite commits.
*/
if ((result = unbundle(r, &header, bundle_fd, NULL,
VERIFY_BUNDLE_QUIET | (fetch_pack_fsck_objects() ? VERIFY_BUNDLE_FSCK : 0))))
return 1;
result = unbundle(r, &header, bundle_fd, NULL,
VERIFY_BUNDLE_QUIET | (fetch_pack_fsck_objects() ? VERIFY_BUNDLE_FSCK : 0));
if (result) {
result = 1;
goto cleanup;
}

/*
* Convert all refs/heads/ from the bundle into refs/bundles/
Expand Down Expand Up @@ -407,6 +413,8 @@ static int unbundle_from_file(struct repository *r, const char *file)
0, UPDATE_REFS_MSG_ON_ERR);
}

cleanup:
strbuf_release(&bundle_ref);
bundle_header_release(&header);
return result;
}
Expand Down

0 comments on commit 3357b3d

Please sign in to comment.