Fix random segfaults in pack-objects.
[gitweb.git] / patch-id.c
index edbc4aa3e82974168f2d4c21085bdd43b774d55e..086d2d9c68835c6a7434932f6e3b430e0906578d 100644 (file)
@@ -42,10 +42,12 @@ static void generate_id_list(void)
 
                if (!memcmp(line, "diff-tree ", 10))
                        p += 10;
+               else if (!memcmp(line, "commit ", 7))
+                       p += 7;
 
                if (!get_sha1_hex(p, n)) {
                        flush_current_id(patchlen, sha1, &ctx);
-                       memcpy(sha1, n, 20);
+                       hashcpy(sha1, n);
                        patchlen = 0;
                        continue;
                }