From 32d1776b1341c17b99da862e80ddf151a5b558fe Mon Sep 17 00:00:00 2001 From: Frank Lichtenheld Date: Sat, 18 Apr 2009 16:14:02 +0200 Subject: init: Do not segfault on big GIT_TEMPLATE_DIR environment variable Signed-off-by: Frank Lichtenheld Signed-off-by: Junio C Hamano --- builtin-init-db.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'builtin-init-db.c') diff --git a/builtin-init-db.c b/builtin-init-db.c index d30c3fe2ca..6cc945d507 100644 --- a/builtin-init-db.c +++ b/builtin-init-db.c @@ -122,8 +122,10 @@ static void copy_templates(const char *template_dir) template_dir = system_path(DEFAULT_GIT_TEMPLATE_DIR); if (!template_dir[0]) return; + template_len = strlen(template_dir); + if (PATH_MAX <= (template_len+strlen("/config"))) + die("insanely long template path %s", template_dir); strcpy(template_path, template_dir); - template_len = strlen(template_path); if (template_path[template_len-1] != '/') { template_path[template_len++] = '/'; template_path[template_len] = 0; -- cgit v1.2.3