]> git.ipfire.org Git - thirdparty/git.git/commit
reftable/record: fix memory leak when decoding object records
authorPatrick Steinhardt <ps@pks.im>
Thu, 7 Mar 2024 20:35:58 +0000 (21:35 +0100)
committerJunio C Hamano <gitster@pobox.com>
Thu, 7 Mar 2024 21:59:19 +0000 (13:59 -0800)
commit1a0359181263029468736aba04565af308be89d0
treeced38c3b52d618cd0f6762333fd42279dfd5c7db
parent43072b4ca132437f21975ac6acc6b72dc22fd398
reftable/record: fix memory leak when decoding object records

When decoding records it is customary to reuse a `struct
reftable_ref_record` across calls. Thus, it may happen that the record
already holds some allocated memory. When decoding ref and log records
we handle this by releasing or reallocating held memory. But we fail to
do this for object records, which causes us to leak memory.

Fix this memory leak by releasing object records before we decode into
them. We may eventually want to reuse memory instead to avoid needless
reallocations. But for now, let's just plug the leak and be done.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
reftable/record.c