git log/diff: add -G<regexp> that greps in the patch text
[gitweb.git] / cache-tree.c
index d91743775dfbe98d99d8ab25a270af320c8b984e..c60cf9140dd18254886ea14de763738630f95973 100644 (file)
@@ -328,9 +328,11 @@ static int update_one(struct cache_tree *it,
                        mode = ce->ce_mode;
                        entlen = pathlen - baselen;
                }
-               if (mode != S_IFGITLINK && !missing_ok && !has_sha1_file(sha1))
+               if (mode != S_IFGITLINK && !missing_ok && !has_sha1_file(sha1)) {
+                       strbuf_release(&buffer);
                        return error("invalid object %06o %s for '%.*s'",
                                mode, sha1_to_hex(sha1), entlen+baselen, path);
+               }
 
                if (ce->ce_flags & CE_REMOVE)
                        continue; /* entry being removed */