diff --git a/builtin/receive-pack.c b/builtin/receive-pack.c index 62ba6e7a3d014be01fe01ed497c083f7e44e9d34..89792b0a33e76671d594a6e440ba504d4cc3f5c0 100644 --- a/builtin/receive-pack.c +++ b/builtin/receive-pack.c @@ -828,8 +828,11 @@ static const char *unpack(int err_fd) : 0); hdr_err = parse_pack_header(&hdr); - if (hdr_err) + if (hdr_err) { + if (err_fd > 0) + close(err_fd); return hdr_err; + } snprintf(hdr_arg, sizeof(hdr_arg), "--pack_header=%"PRIu32",%"PRIu32, ntohl(hdr.hdr_version), ntohl(hdr.hdr_entries));