Commit cdb6f9bf5e77b6e83d4bdc6cd75c31d0d3377800

Carlos Martín Nieto 2011-06-20T17:34:01

Allocate enough memory for the terminator in commit parsing Also allow space for the null-terminator when allocating the buffer in packfile_unpack_compressed. Up to now, the last newline had served as a terminator, but 858ef372 searches for a double-newline and exposes the problem. Signed-off-by: Carlos Martín Nieto <cmn@elego.de>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
diff --git a/src/odb_pack.c b/src/odb_pack.c
index 8a88a0b..2328f52 100644
--- a/src/odb_pack.c
+++ b/src/odb_pack.c
@@ -1246,7 +1246,8 @@ static int packfile_unpack_compressed(
 	z_stream stream;
 	unsigned char *buffer, *in;
 
-	buffer = git__malloc(size);
+	buffer = git__malloc(size + 1);
+	memset(buffer, 0x0, size + 1);
 
 	memset(&stream, 0, sizeof(stream));
 	stream.next_out = buffer;