Skip to content

Commit a8ea1b7

Browse files
trastgitster
authored andcommitted
fast-import: zero all of 'struct tag' to silence valgrind
When running t9300, valgrind (correctly) complains about an uninitialized value in write_crash_report: ==2971== Use of uninitialised value of size 8 ==2971== at 0x4164F4: sha1_to_hex (hex.c:70) ==2971== by 0x4073E4: die_nicely (fast-import.c:468) ==2971== by 0x43284C: die (usage.c:86) ==2971== by 0x40420D: main (fast-import.c:2731) ==2971== Uninitialised value was created by a heap allocation ==2971== at 0x4C29B3D: malloc (vg_replace_malloc.c:263) ==2971== by 0x433645: xmalloc (wrapper.c:35) ==2971== by 0x405DF5: pool_alloc (fast-import.c:619) ==2971== by 0x407755: pool_calloc.constprop.14 (fast-import.c:634) ==2971== by 0x403F33: main (fast-import.c:3324) Fix this by zeroing all of the 'struct tag'. We would only need to zero out the 'sha1' field, but this way seems more future-proof. Signed-off-by: Thomas Rast <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent ead8eb8 commit a8ea1b7

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

fast-import.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2712,7 +2712,7 @@ static void parse_new_tag(void)
27122712
/* Obtain the new tag name from the rest of our command */
27132713
sp = strchr(command_buf.buf, ' ') + 1;
27142714
t = pool_alloc(sizeof(struct tag));
2715-
t->next_tag = NULL;
2715+
memset(t, 0, sizeof(struct tag));
27162716
t->name = pool_strdup(sp);
27172717
if (last_tag)
27182718
last_tag->next_tag = t;

0 commit comments

Comments
 (0)