diff options
| author | Jeff King <peff@peff.net> | 2024-06-04 06:13:20 -0400 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2024-06-04 10:38:23 -0700 |
| commit | 4c844c2f499a573e5801bd3cb83b8d42d3f1566a (patch) | |
| tree | 4271682ffda424f861882fdf40f3bd4ff12b0904 /t/t7002-mv-sparse-checkout.sh | |
| parent | db83b64cda1813368e0c48b808c76422d4512b1b (diff) | |
| download | git-4c844c2f499a573e5801bd3cb83b8d42d3f1566a.tar.gz | |
dir.c: free removed sparse-pattern hashmap entries
In add_pattern_to_hashsets(), we remove entries from the
recursive_hashmap when adding similar ones to the parent_hashmap. I
won't pretend to understand all of what's going on here, but there's an
obvious leak: whatever we removed from recursive_hashmap is not
referenced anywhere else, and is never free()d.
We can easily fix this by asking the hashmap to return a pointer to the
old entry. This makes t7002 now completely leak-free.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t7002-mv-sparse-checkout.sh')
| -rwxr-xr-x | t/t7002-mv-sparse-checkout.sh | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/t/t7002-mv-sparse-checkout.sh b/t/t7002-mv-sparse-checkout.sh index 26582ae4e5..57969ce805 100755 --- a/t/t7002-mv-sparse-checkout.sh +++ b/t/t7002-mv-sparse-checkout.sh @@ -2,6 +2,7 @@ test_description='git mv in sparse working trees' +TEST_PASSES_SANITIZE_LEAK=true . ./test-lib.sh setup_sparse_checkout () { |
