aboutsummaryrefslogtreecommitdiffstats
path: root/ui-log.c
diff options
context:
space:
mode:
authorJason A. Donenfeld2013-04-08 21:12:19 +0200
committerJason A. Donenfeld2013-04-08 21:43:26 +0200
commit8a92df033e974af6338b530a0d78d1bdb0b0f918 (patch)
treeea7968f81170a9ed83b50f544036da78b1b8490c /ui-log.c
parentfb3655df3bf85bd405c5921bbd4b3a54c705c839 (diff)
downloadcgit-8a92df033e974af6338b530a0d78d1bdb0b0f918.tar.gz
cgit-8a92df033e974af6338b530a0d78d1bdb0b0f918.tar.bz2
cgit-8a92df033e974af6338b530a0d78d1bdb0b0f918.zip
Do not load user or system gitconfig and gitattributes
While doing any kind of git loading, unset HOME variables and set NOSYSTEM variables so that cgit does not load any settings that a user may have set for his own /usr/bin/git usage. This fixes a fatal error introduced with git 1.8, whereupon git would fatally exit when failing to access particular files. The result of this is that only repo-local configuration files are accessed: zx2c4@thinkpad ~/Projects/cgit $ HOME=/root QUERY_STRING="url=foo/log" CGIT_CONFIG=tests/trash/cgitrc strace -e access ./cgit >/dev/null access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) access("repos/foo/.git/objects", X_OK) = 0 access("repos/foo/.git/refs", X_OK) = 0 access("repos/foo/.git/config", R_OK) = 0 access("repos/foo/.git/config", R_OK) = 0 access("repos/foo/.git/objects/b3/bafdbf0183f4897ef8b1319cb8c490ed54717e", F_OK) = 0 access("repos/foo/.git/objects/b3/bafdbf0183f4897ef8b1319cb8c490ed54717e", F_OK) = 0 access("repos/foo/.git/objects/b3/bafdbf0183f4897ef8b1319cb8c490ed54717e", F_OK) = 0 access("repos/foo/.git/objects/b3/bafdbf0183f4897ef8b1319cb8c490ed54717e", F_OK) = 0 +++ exited with 0 +++ Reported-by: Ferry Huberts <ferry.huberts@pelagic.nl> Tested-by: Jason A. Donenfeld <Jason@zx2c4.com> Tested-by: Ferry Huberts <ferry.huberts@pelagic.nl> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'ui-log.c')
-rw-r--r--ui-log.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/ui-log.c b/ui-log.c
index 93af0ce..2aa12c3 100644
--- a/ui-log.c
+++ b/ui-log.c
@@ -403,7 +403,6 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern
403 commit->parents = NULL; 403 commit->parents = NULL;
404 } 404 }
405 405
406 init_display_notes(NULL);
407 for (i = 0; i < cnt && (commit = get_revision(&rev)) != NULL; i++) { 406 for (i = 0; i < cnt && (commit = get_revision(&rev)) != NULL; i++) {
408 print_commit(commit, &rev); 407 print_commit(commit, &rev);
409 free(commit->buffer); 408 free(commit->buffer);