From 34f3999206e8ea41b9e4cf48e30ab1149e01d8a5 Mon Sep 17 00:00:00 2001
From: Jim Meyering <jim@meyering.net>
Date: Mon, 18 Jan 2010 22:55:07 +0100
Subject: [PATCH] grep: NUL terminate input from a file

Internally "git grep" runs regexec(3) that expects its input string
to be NUL terminated.  When searching inside blob data, read_sha1_file()
automatically gives such a buffer, but builtin-grep.c forgot to put
the NUL at the end, even though it allocated enough space for it.

Signed-off-by: Jim Meyering <meyering@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 builtin-grep.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/builtin-grep.c b/builtin-grep.c
index d79a6260a4..63dc31c45c 100644
--- a/builtin-grep.c
+++ b/builtin-grep.c
@@ -207,6 +207,7 @@ static int grep_file(struct grep_opt *opt, const char *filename)
 		return 0;
 	}
 	close(i);
+	data[sz] = 0;
 	if (opt->relative && opt->prefix_length)
 		filename = quote_path_relative(filename, -1, &buf, opt->prefix);
 	i = grep_buffer(opt, filename, data, sz);