aboutsummaryrefslogtreecommitdiff
path: root/builtin-init-db.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2009-04-18 13:39:52 -0700
committerJunio C Hamano <gitster@pobox.com>2009-04-18 13:39:52 -0700
commitd890d3f99635de7963effd1436148112ef7a52b7 (patch)
tree71138c5cf3cdd476164ebb0229c0f1eacc907588 /builtin-init-db.c
parent43be7a782e08489062a3b8130cbb7ffbe8807191 (diff)
parent62854410449ec407a363e4bb1dc980a75aa1699d (diff)
downloadgit-d890d3f99635de7963effd1436148112ef7a52b7.tar.gz
git-d890d3f99635de7963effd1436148112ef7a52b7.tar.xz
Merge branch 'maint-1.6.0' into maint
* maint-1.6.0: doc/git-daemon: add missing arguments to options init: Do not segfault on big GIT_TEMPLATE_DIR environment variable
Diffstat (limited to 'builtin-init-db.c')
-rw-r--r--builtin-init-db.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/builtin-init-db.c b/builtin-init-db.c
index 8199e5d4d..bfdfc7b41 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;