[PATCH] Fix alloc_filespec() initialization
[gitweb.git] / diff.c
diff --git a/diff.c b/diff.c
index f8e3cbf1a652de273ee3a9b98c09eefc268f9977..1059049fb99ae45fcfb81f3bf9ebb19005c67561 100644 (file)
--- 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;
 }