Skip to content

Commit

Permalink
Merge pull request #797 from glhez/master
Browse files Browse the repository at this point in the history
`git bundle create <bundle>` leaks handle the revlist is empty.
  • Loading branch information
dscho committed Aug 23, 2018
2 parents 4d4f073 + 8f8f411 commit 24a2f5e
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 3 deletions.
7 changes: 4 additions & 3 deletions bundle.c
Original file line number Diff line number Diff line change
Expand Up @@ -457,10 +457,11 @@ int create_bundle(struct bundle_header *header, const char *path,
object_array_remove_duplicates(&revs.pending);

ref_count = write_bundle_refs(bundle_fd, &revs);
if (!ref_count)
die(_("Refusing to create empty bundle."));
else if (ref_count < 0)
if (ref_count <= 0) {
if (!ref_count)
error(_("Refusing to create empty bundle."));
goto err;
}

/* write pack */
if (write_pack_data(bundle_fd, &revs)) {
Expand Down
4 changes: 4 additions & 0 deletions t/t5607-clone-bundle.sh
Original file line number Diff line number Diff line change
Expand Up @@ -71,4 +71,8 @@ test_expect_success 'prerequisites with an empty commit message' '
git bundle verify bundle
'

test_expect_success 'try to create a bundle with empty ref count' '
test_expect_code 1 git bundle create foobar.bundle master..master
'

test_done

0 comments on commit 24a2f5e

Please sign in to comment.