diff options
author | Thomas Rast <trast@student.ethz.ch> | 2012-03-05 14:48:49 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-03-05 09:36:09 -0800 |
commit | a8ea1b7a5580bc4377818fb6718d55d4b735dae8 (patch) | |
tree | 7c9d7ab1d5e2f52beb7eba73d86730c777472168 /fast-import.c | |
parent | ead8eb8c1092ce2d94d70872946829a7a946ae9d (diff) | |
download | git-a8ea1b7a5580bc4377818fb6718d55d4b735dae8.tar.gz |
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 <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'fast-import.c')
-rw-r--r-- | fast-import.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fast-import.c b/fast-import.c index 6cd19e580b..c1486cabba 100644 --- a/fast-import.c +++ b/fast-import.c @@ -2712,7 +2712,7 @@ static void parse_new_tag(void) /* Obtain the new tag name from the rest of our command */ sp = strchr(command_buf.buf, ' ') + 1; t = pool_alloc(sizeof(struct tag)); - t->next_tag = NULL; + memset(t, 0, sizeof(struct tag)); t->name = pool_strdup(sp); if (last_tag) last_tag->next_tag = t; |