# [PATCH 1/2] index-pack: allocate NUL byte at the buffer end

3 messages from 2008-03-01 to 2008-03-02. Participants: Martin Koegler, Junio C Hamano.
Thread: https://gitlist.dev/t/12414

## Martin Koegler, 2008-03-01 21:21

Subject: [PATCH 1/2] index-pack: allocate NUL byte at the buffer end
Message-ID: <12044064822655-git-send-email-mkoegler@auto.tuwien.ac.at>
URL: https://gitlist.dev/e/12044064822655-git-send-email-mkoegler%40auto.tuwien.ac.at

```
Signed-off-by: Martin Koegler <mkoegler@auto.tuwien.ac.at>
---
Other parts of git add a NUL to buffers as safty measure, so why not index-pack/
unpack-objects too?

 index-pack.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/index-pack.c b/index-pack.c
index 4bb333f..ff8e93d 100644
--- a/index-pack.c
+++ b/index-pack.c
@@ -213,7 +213,8 @@ static void bad_object(unsigned long offset, const char *format, ...)
 static void *unpack_entry_data(unsigned long offset, unsigned long size)
 {
 	z_stream stream;
-	void *buf = xmalloc(size);
+	char *buf = xmalloc(size + 1);
+	buf[size] = 0;
 
 	memset(&stream, 0, sizeof(stream));
 	stream.next_out = buf;
-- 
1.5.4.2.g4b5fd.dirty


```

## Martin Koegler, 2008-03-01 21:21

Subject: [PATCH 2/2] unpack-objects: allocate NUL byte at the buffer end
Message-ID: <12044064831419-git-send-email-mkoegler@auto.tuwien.ac.at>
URL: https://gitlist.dev/e/12044064831419-git-send-email-mkoegler%40auto.tuwien.ac.at
In-Reply-To: <12044064822655-git-send-email-mkoegler@auto.tuwien.ac.at>

```
Signed-off-by: Martin Koegler <mkoegler@auto.tuwien.ac.at>
---
 builtin-unpack-objects.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/builtin-unpack-objects.c b/builtin-unpack-objects.c
index 9d2a854..1845abc 100644
--- a/builtin-unpack-objects.c
+++ b/builtin-unpack-objects.c
@@ -86,7 +86,8 @@ static void use(int bytes)
 static void *get_data(unsigned long size)
 {
 	z_stream stream;
-	void *buf = xmalloc(size);
+	char *buf = xmalloc(size + 1);
+	buf[size] = 0;
 
 	memset(&stream, 0, sizeof(stream));
 
-- 
1.5.4.2.g4b5fd.dirty


```

## Junio C Hamano, 2008-03-02 01:06

Subject: Re: [PATCH 1/2] index-pack: allocate NUL byte at the buffer end
Message-ID: <7vablix7ch.fsf@gitster.siamese.dyndns.org>
URL: https://gitlist.dev/e/7vablix7ch.fsf%40gitster.siamese.dyndns.org
In-Reply-To: <12044064822655-git-send-email-mkoegler@auto.tuwien.ac.at>

```
Martin Koegler <mkoegler@auto.tuwien.ac.at> writes:

> Signed-off-by: Martin Koegler <mkoegler@auto.tuwien.ac.at>
> ---
> Other parts of git add a NUL to buffers as safty measure, so why not index-pack/
> unpack-objects too?

Perhaps because nobody other than index-pack itself accesses it as if it
is a NUL terminated buffer?

```
