From: Holger Eitzenberger Date: Thu, 4 Aug 2005 20:49:49 +0000 (+0200) Subject: [PATCH] git: use git_mkstemp() instead of mkstemp() for diff generation. X-Git-Tag: v0.99.4~24 X-Git-Url: https://git.verplant.org/?a=commitdiff_plain;h=64f8a631e1112efdd4d4236442d59fe871da4bac;p=git.git [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 --git a/diff.c b/diff.c index 361d7c09..9962fc35 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)