From 64f8a631e1112efdd4d4236442d59fe871da4bac Mon Sep 17 00:00:00 2001 From: Holger Eitzenberger Date: Thu, 4 Aug 2005 22:49:49 +0200 Subject: [PATCH] [PATCH] git: use git_mkstemp() instead of mkstemp() for diff generation. This lets you run git diff in a repository otherwise read-only to you. Signed-off-by: Junio C Hamano --- diff.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/diff.c b/diff.c index 361d7c09d..9962fc359 100644 --- a/diff.c +++ b/diff.c @@ -41,11 +41,13 @@ static const char *external_diff(void) return external_diff_cmd; } +#define TEMPFILE_PATH_LEN 50 + static struct diff_tempfile { const char *name; /* filename external diff should read from */ char hex[41]; char mode[10]; - char tmp_path[50]; + char tmp_path[TEMPFILE_PATH_LEN]; } diff_temp[2]; static int count_lines(const char *filename) @@ -421,8 +423,7 @@ static void prep_temp_blob(struct diff_tempfile *temp, { int fd; - strcpy(temp->tmp_path, ".diff_XXXXXX"); - fd = mkstemp(temp->tmp_path); + fd = git_mkstemp(temp->tmp_path, TEMPFILE_PATH_LEN, ".diff_XXXXXX"); if (fd < 0) die("unable to create temp-file"); if (write(fd, blob, size) != size) -- 2.30.2