From: Linus Torvalds Date: Wed, 14 Sep 2005 20:41:24 +0000 (-0700) Subject: [PATCH] Fix alloc_filespec() initialization X-Git-Tag: v0.99.7~43 X-Git-Url: https://git.verplant.org/?a=commitdiff_plain;h=705a7148ba1bb9597b1837b7f64a0dcb67f1ad0c;p=git.git [PATCH] Fix alloc_filespec() initialization This simplifies and fixes the initialization of a "diff_filespec" when allocated. The old code would not initialize "sha1_valid". Noticed by valgrind. Signed-off-by: Linus Torvalds Signed-off-by: Junio C Hamano --- diff --git a/diff.c b/diff.c index f8e3cbf1..1059049f 100644 --- a/diff.c +++ b/diff.c @@ -214,14 +214,10 @@ struct diff_filespec *alloc_filespec(const char *path) { int namelen = strlen(path); struct diff_filespec *spec = xmalloc(sizeof(*spec) + namelen + 1); + + memset(spec, 0, sizeof(*spec)); spec->path = (char *)(spec + 1); - strcpy(spec->path, path); - spec->should_free = spec->should_munmap = 0; - spec->xfrm_flags = 0; - spec->size = 0; - spec->data = NULL; - spec->mode = 0; - memset(spec->sha1, 0, 20); + memcpy(spec->path, path, namelen+1); return spec; }