mirror of
https://github.com/git/git
synced 2024-11-04 16:17:49 +00:00
9a48fc1da2
We're leaking the args vector in git-annotate(1) because we never clear it. Fixing it isn't as easy as calling `strvec_clear()` though because calling `cmd_blame()` will cause the underlying array to be modified. Instead, we also need to pass a shallow copy of the argv array to the function. Do so to plug the memory leaks. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
21 lines
481 B
Bash
Executable file
21 lines
481 B
Bash
Executable file
#!/bin/sh
|
|
|
|
test_description='git annotate'
|
|
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
|
|
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
|
|
|
|
TEST_CREATE_REPO_NO_TEMPLATE=1
|
|
TEST_PASSES_SANITIZE_LEAK=true
|
|
. ./test-lib.sh
|
|
|
|
PROG='git annotate'
|
|
. "$TEST_DIRECTORY"/annotate-tests.sh
|
|
|
|
test_expect_success 'annotate old revision' '
|
|
git annotate file main >actual &&
|
|
awk "{ print \$3; }" <actual >authors &&
|
|
test 2 = $(grep A <authors | wc -l) &&
|
|
test 2 = $(grep B <authors | wc -l)
|
|
'
|
|
|
|
test_done
|