summaryrefslogtreecommitdiff
path: root/config.c
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2014-01-28 01:37:30 (GMT)
committerJunio C Hamano <gitster@pobox.com>2014-01-28 19:59:49 (GMT)
commit67beb600563cf28186f44450e528df1ec4d524fd (patch)
tree1365fcd9d56c7d156756e4417b1af25f2ffaf768 /config.c
parent53ec551c87c731c5c4171e943842998bdfb5548e (diff)
downloadgit-67beb600563cf28186f44450e528df1ec4d524fd.zip
git-67beb600563cf28186f44450e528df1ec4d524fd.tar.gz
git-67beb600563cf28186f44450e528df1ec4d524fd.tar.bz2
handle_path_include: don't look at NULL value
When we see config like: [include] path the expand_user_path helper notices that the config value is empty, but we then dereference NULL while printing the error message (glibc will helpfully print "(null)" for us here, but we cannot rely on that). $ git -c include.path rev-parse error: Could not expand include path '(null)' fatal: unable to parse command-line config Instead of tweaking our message, let's actually use config_error_nonbool to match other config variables that expect a value: $ git -c include.path rev-parse error: Missing value for 'include.path' fatal: unable to parse command-line config Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'config.c')
-rw-r--r--config.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/config.c b/config.c
index 2bbf02d..47ce8d8 100644
--- a/config.c
+++ b/config.c
@@ -37,8 +37,12 @@ static int handle_path_include(const char *path, struct config_include_data *inc
{
int ret = 0;
struct strbuf buf = STRBUF_INIT;
- char *expanded = expand_user_path(path);
+ char *expanded;
+ if (!path)
+ return config_error_nonbool("include.path");
+
+ expanded = expand_user_path(path);
if (!expanded)
return error("Could not expand include path '%s'", path);
path = expanded;