aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2024-08-26 11:10:20 -0700
committerJunio C Hamano <gitster@pobox.com>2024-08-26 11:10:20 -0700
commit528a762ca67e4be03241e8b80cde5504dc2c6432 (patch)
treefe2cab24aff6d3b9b9497f0db4f58f6acd2bf531
parent88639e5d4cb3e9602e25114640885cad2696caa6 (diff)
parentd98d9c77e5d9ac0b0663069e05a512037b9279cf (diff)
downloadgit-528a762ca67e4be03241e8b80cde5504dc2c6432.tar.gz
Merge branch 'jc/leakfix-mailmap' into maint-2.46
Leakfix. * jc/leakfix-mailmap: mailmap: plug memory leak in read_mailmap_blob()
-rw-r--r--mailmap.c4
-rwxr-xr-xt/t4203-mailmap.sh1
2 files changed, 4 insertions, 1 deletions
diff --git a/mailmap.c b/mailmap.c
index 2d0212f444..2acf97f307 100644
--- a/mailmap.c
+++ b/mailmap.c
@@ -201,8 +201,10 @@ static int read_mailmap_blob(struct string_list *map, const char *name)
buf = repo_read_object_file(the_repository, &oid, &type, &size);
if (!buf)
return error("unable to read mailmap object at %s", name);
- if (type != OBJ_BLOB)
+ if (type != OBJ_BLOB) {
+ free(buf);
return error("mailmap is not a blob: %s", name);
+ }
read_mailmap_string(map, buf);
diff --git a/t/t4203-mailmap.sh b/t/t4203-mailmap.sh
index 8a88dd7900..79e5f42760 100755
--- a/t/t4203-mailmap.sh
+++ b/t/t4203-mailmap.sh
@@ -5,6 +5,7 @@ test_description='.mailmap configurations'
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
test_expect_success 'setup commits and contacts file' '