]> git.ipfire.org Git - thirdparty/git.git/commit
reftable: fix unlikely leak on API error
authorJeff King <peff@peff.net>
Sun, 28 Jun 2026 09:03:14 +0000 (05:03 -0400)
committerJunio C Hamano <gitster@pobox.com>
Sun, 28 Jun 2026 15:35:06 +0000 (08:35 -0700)
commitc6fb3b9c3ec6ca16ba2fbed154b41b22e5a088f0
tree9e747b7cb5246e26db62e307591fcf32e97eefd1
parent94f057755b7941b321fd11fec1b2e3ca5313a4e0
reftable: fix unlikely leak on API error

If the reftable writer sees a bogus block size, we return with
REFTABLE_API_ERROR, leaking the reftable_writer struct we previously
allocated. Originally this case was a BUG(), but it became a regular
return in 445f9f4f35 (reftable: stop using `BUG()` in trivial cases,
2025-02-18).

We could obviously fix it by calling "reftable_free(wp)". But we can
observe that we never use the allocated "wp" until after we've validated
the input options. So let's just bump the allocation down. That fixes
the leak, and I think makes the flow of the function more logical
(we validate our inputs before doing any work).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
reftable/writer.c