]> git.ipfire.org Git - thirdparty/git.git/commitdiff
mailmap: always store allocated strings in mailmap blob
authorPatrick Steinhardt <ps@pks.im>
Fri, 7 Jun 2024 06:39:12 +0000 (08:39 +0200)
committerJunio C Hamano <gitster@pobox.com>
Fri, 7 Jun 2024 17:30:54 +0000 (10:30 -0700)
Same as with the preceding commit, the `git_mailmap_blob` may sometimes
contain an allocated string and sometimes it may contain a string
constant. This is risky and can easily lead to bugs in case the variable
is getting re-assigned, where the code may then try to free the previous
value to avoid memory leaks.

Safeguard the code by always storing allocated strings in the variable.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
mailmap.c

index b2efe29b3d6bd89543e2591e06fd59434aef2c10..3d1e092fef09a83999248276b27a126900c7c960 100644 (file)
--- a/mailmap.c
+++ b/mailmap.c
@@ -216,7 +216,7 @@ int read_mailmap(struct string_list *map)
        map->cmp = namemap_cmp;
 
        if (!git_mailmap_blob && is_bare_repository())
-               git_mailmap_blob = "HEAD:.mailmap";
+               git_mailmap_blob = xstrdup("HEAD:.mailmap");
 
        if (!startup_info->have_repository || !is_bare_repository())
                err |= read_mailmap_file(map, ".mailmap",