]> git.ipfire.org Git - thirdparty/git.git/commit
send-pack: free cas options before exit
authorJeff King <peff@peff.net>
Tue, 24 Sep 2024 21:55:39 +0000 (17:55 -0400)
committerJunio C Hamano <gitster@pobox.com>
Wed, 25 Sep 2024 17:24:53 +0000 (10:24 -0700)
commit05372c28bedbd2ae067e695805590b7eea947e10
treeed3a612c44ce93352c3411cd1c28120fba93b358
parent753f6708d0a49cf56957f13d94d0d4919edd74b5
send-pack: free cas options before exit

The send-pack --force-with-lease option populates a push_cas_option
struct with allocated strings. Exiting without cleaning this up will
cause leak-checkers to complain.

We can fix this by calling clear_cas_option(), after making it publicly
available. Previously it was used only for resetting the list when we
saw --no-force-with-lease.

The git-push command has the same "leak", though in this case it won't
trigger a leak-checker since it stores the push_cas_option struct as a
global rather than on the stack (and is thus reachable even after main()
exits). I've added cleanup for it here anyway, though, as
future-proofing.

The leak is triggered by t5541 (it tests --force-with-lease over http,
which requires a separate send-pack process under the hood), but we
can't mark it as leak-free yet.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/push.c
builtin/send-pack.c
remote.c
remote.h