Jeff King <peff@xxxxxxxx> writes: > You didn't see my response to the other patch yet. :) > >> > /* write pack */ >> > if (write_pack_data(bundle_fd, &revs)) >> > - return -1; >> > + goto err; > > This does still suffer from the double-close I mentioned earlier. I'm > not sure if we want to address that or not. Something like this on top? bundle.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/bundle.c b/bundle.c index 08e32ca..bbf4efa 100644 --- a/bundle.c +++ b/bundle.c @@ -453,8 +453,10 @@ int create_bundle(struct bundle_header *header, const char *path, goto err; /* write pack */ - if (write_pack_data(bundle_fd, &revs)) + if (write_pack_data(bundle_fd, &revs)) { + bundle_fd = -1; /* already closed by the above call */ goto err; + } if (!bundle_to_stdout) { if (commit_lock_file(&lock)) @@ -463,7 +465,8 @@ int create_bundle(struct bundle_header *header, const char *path, return 0; err: if (!bundle_to_stdout) { - close(bundle_fd); + if (0 <= bundle_fd) + close(bundle_fd); rollback_lock_file(&lock); } return -1; -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html