threads / patch / 12414

patch, 2 partsindex-pack: allocate NUL byte at the buffer end

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

## tl;dr

3 messages between Mar 1, 2008 and Mar 2, 2008. Diffs are folded; open one to read it.

replies: 2people: 2as markdown or json

Martin Koegler· Mar 1, 2008, 21:21 UTC · lore
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(-)
Show changes to index-pack.c +2 −1
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· Mar 1, 2008, 21:21 UTC · re: Martin Koegler · lore

[PATCH 2/2] unpack-objects: allocate NUL byte at the buffer end

Signed-off-by: Martin Koegler <mkoegler@auto.tuwien.ac.at>
---
 builtin-unpack-objects.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
Show changes to builtin-unpack-objects.c +2 −1
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· Mar 2, 2008, 01:06 UTC · re: Martin Koegler · lore

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

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?

← back to recent threads