fix memory leak in parse_object when check_sha1_signature fails
When check_sha1_signature fails, program is not terminated: it prints an error message and returns NULL, so the buffer returned by read_sha1_file should be freed before. Signed-off-by: Carlos Rica <jasampler@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:

committed by
Junio C Hamano

parent
c075aea5da
commit
0b1f113075
1
object.c
1
object.c
@ -185,6 +185,7 @@ struct object *parse_object(const unsigned char *sha1)
|
|||||||
if (buffer) {
|
if (buffer) {
|
||||||
struct object *obj;
|
struct object *obj;
|
||||||
if (check_sha1_signature(sha1, buffer, size, typename(type)) < 0) {
|
if (check_sha1_signature(sha1, buffer, size, typename(type)) < 0) {
|
||||||
|
free(buffer);
|
||||||
error("sha1 mismatch %s\n", sha1_to_hex(sha1));
|
error("sha1 mismatch %s\n", sha1_to_hex(sha1));
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user