Fix handle leak in sha1_file/unpack_objects if there were damaged object data
authorAlex Riesen <raa.lkml@gmail.com>
Wed, 19 Nov 2008 11:14:05 +0000 (12:14 +0100)
committerJunio C Hamano <gitster@pobox.com>
Mon, 24 Nov 2008 03:31:05 +0000 (19:31 -0800)
In the case of bad packed object CRC, unuse_pack wasn't called after
check_pack_crc which calls use_pack.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Acked-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
sha1_file.c

index 75a748a644f8f11c7bcb372fe74fbfb00faf1796..0106e2ce5ce7bc134d35466a2229dde982b60815 100644 (file)
@@ -1749,6 +1749,7 @@ void *unpack_entry(struct packed_git *p, off_t obj_offset,
                        error("bad packed object CRC for %s",
                              sha1_to_hex(sha1));
                        mark_bad_packed_object(p, sha1);
+                       unuse_pack(&w_curs);
                        return NULL;
                }
        }