diff options
| author | Patrick Steinhardt <ps@pks.im> | 2024-09-30 11:13:22 +0200 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2024-09-30 11:23:03 -0700 |
| commit | c75841687b39f4c62fba56bde08653591b9c2149 (patch) | |
| tree | f9fb0584efac869663a06c1accf4db7aeae6da39 /t/t9400-git-cvsserver-server.sh | |
| parent | d607bd88161d1826adc236bf7cf758e754becd61 (diff) | |
| download | git-c75841687b39f4c62fba56bde08653591b9c2149.tar.gz | |
shell: fix leaking strings
There are two memory leaks in "shell.c". The first one in `run_shell()`
is trivial and fixed without further explanation. The second one in
`cmd_main()` happens because we overwrite the `prog` variable, which
contains an allocated string. In fact though, the memory pointed to by
that variable is still in use because we use `split_cmdline()`, which
may create pointers into the middle of that string. But as we do not
have a direct pointer to the head of the allocated string anymore, we
get a complaint by the leak checker.
Address this by not overwriting the `prog` pointer.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t9400-git-cvsserver-server.sh')
| -rwxr-xr-x | t/t9400-git-cvsserver-server.sh | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/t/t9400-git-cvsserver-server.sh b/t/t9400-git-cvsserver-server.sh index e499c7f955..6da7440e73 100755 --- a/t/t9400-git-cvsserver-server.sh +++ b/t/t9400-git-cvsserver-server.sh @@ -11,6 +11,7 @@ cvs CLI client via git-cvsserver server' GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME +TEST_PASSES_SANITIZE_LEAK=true . ./test-lib.sh if ! test_have_prereq PERL; then |
