fix memory leak in parse_object when check_sha1_signature fails
[git/git.git] / object.c
index 78a44a6..ccd7dd7 100644 (file)
--- a/object.c
+++ b/object.c
@@ -185,6 +185,7 @@ struct object *parse_object(const unsigned char *sha1)
        if (buffer) {
                struct object *obj;
                if (check_sha1_signature(sha1, buffer, size, typename(type)) < 0) {
+                       free(buffer);
                        error("sha1 mismatch %s\n", sha1_to_hex(sha1));
                        return NULL;
                }