summaryrefslogtreecommitdiff
path: root/config.c
diff options
context:
space:
mode:
authorMatthieu Moy <Matthieu.Moy@imag.fr>2012-07-12 14:04:20 +0200
committerJunio C Hamano <gitster@pobox.com>2012-07-16 09:59:06 -0700
commite3ebc35b1695e9ac6e9b5978cd4e9ffb7b15f657 (patch)
treefb1a62844ebae65c826c9017c5dba1f2defcb27d /config.c
parent0e8593dc5b812df00400347e88f5707225fe831e (diff)
downloadgit-e3ebc35b1695e9ac6e9b5978cd4e9ffb7b15f657.tar.gz
config: fix several access(NULL) calls
When $HOME is unset, home_config_paths fails and returns NULL pointers for user_config and xdg_config. Valgrind complains with Syscall param access(pathname) points to unaddressable byte(s). Don't call blindly access() on these variables, but test them for NULL-ness before. Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'config.c')
-rw-r--r--config.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/config.c b/config.c
index d28a499b0b..6b97503b06 100644
--- a/config.c
+++ b/config.c
@@ -940,12 +940,12 @@ int git_config_early(config_fn_t fn, void *data, const char *repo_config)
found += 1;
}
- if (!access(xdg_config, R_OK)) {
+ if (xdg_config && !access(xdg_config, R_OK)) {
ret += git_config_from_file(fn, xdg_config, data);
found += 1;
}
- if (!access(user_config, R_OK)) {
+ if (user_config && !access(user_config, R_OK)) {
ret += git_config_from_file(fn, user_config, data);
found += 1;
}