]> git.ipfire.org Git - thirdparty/git.git/commitdiff
builtin/name-rev: fix various trivial memory leaks
authorPatrick Steinhardt <ps@pks.im>
Thu, 1 Aug 2024 10:38:35 +0000 (12:38 +0200)
committerJunio C Hamano <gitster@pobox.com>
Thu, 1 Aug 2024 15:47:35 +0000 (08:47 -0700)
There are several structures that we don't release after
`cmd_name_rev()` is done. Plug those leaks.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/name-rev.c
t/t6007-rev-list-cherry-pick-file.sh
t/t6120-describe.sh

index 70e9ec4e477b8e5edc0839184cc4dafd66b9a958..f62c0a36cb7480d94745a088cd68715e0770c0e2 100644 (file)
@@ -677,7 +677,9 @@ int cmd_name_rev(int argc, const char **argv, const char *prefix)
                                  always, allow_undefined, data.name_only);
        }
 
-       UNLEAK(string_pool);
-       UNLEAK(revs);
+       string_list_clear(&data.ref_filters, 0);
+       string_list_clear(&data.exclude_filters, 0);
+       mem_pool_discard(&string_pool, 0);
+       object_array_clear(&revs);
        return 0;
 }
index 6f3e5439771fa62f3b3e308ae878fa2e08a08107..2d337d7287a3c2b003e61c85494ef4da4d28bcd1 100755 (executable)
@@ -5,6 +5,7 @@ test_description='test git rev-list --cherry-pick -- file'
 GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
 export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
 
+TEST_PASSES_SANITIZE_LEAK=true
 . ./test-lib.sh
 
 # A---B---D---F
index 79e0f19deba0efbdaff2c3ffdf8b43a0dcbf4d84..05ed2510d96868d1586d6699a1d3d35c0791612e 100755 (executable)
@@ -14,6 +14,7 @@ test_description='test describe'
 GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
 export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
 
+TEST_PASSES_SANITIZE_LEAK=true
 . ./test-lib.sh
 
 check_describe () {