]> git.ipfire.org Git - thirdparty/git.git/commit
object-file: fix memory leak when reading corrupted headers
authorPatrick Steinhardt <ps@pks.im>
Wed, 14 Aug 2024 06:51:58 +0000 (08:51 +0200)
committerJunio C Hamano <gitster@pobox.com>
Wed, 14 Aug 2024 17:07:57 +0000 (10:07 -0700)
commitaa9ef614dc281d123e8f18d19c9abecf82295c0e
tree78239faef7d90e6767e15cd6eca429137a53b416
parentce15f9eb9eb9e7ac3d5095b19cd7b8c7c5bfc22b
object-file: fix memory leak when reading corrupted headers

When reading corrupt object headers in `read_loose_object()`, we bail
out immediately. This causes a memory leak though because we would have
already initialized the zstream in `unpack_loose_header()`, and it is
the callers responsibility to finish the zstream even on error. While
this feels weird, other callsites do it correctly already.

Fix this leak by ending the zstream even on errors. We may want to
revisit this interface in the future such that the callee handles this
for us already when there was an error.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
object-file.c
t/t1450-fsck.sh