diff options
-rw-r--r-- | builtin/config.c | 3 | ||||
-rwxr-xr-x | t/t1300-repo-config.sh | 5 |
2 files changed, 7 insertions, 1 deletions
diff --git a/builtin/config.c b/builtin/config.c index 8cd08da99..a8cf1af88 100644 --- a/builtin/config.c +++ b/builtin/config.c @@ -129,7 +129,8 @@ static int show_config(const char *key_, const char *value_, void *cb) else sprintf(value, "%d", v); } else if (types == TYPE_PATH) { - git_config_pathname(&vptr, key_, value_); + if (git_config_pathname(&vptr, key_, value_) < 0) + return -1; must_free_vptr = 1; } else if (value_) { vptr = value_; diff --git a/t/t1300-repo-config.sh b/t/t1300-repo-config.sh index a477453e2..17272e042 100755 --- a/t/t1300-repo-config.sh +++ b/t/t1300-repo-config.sh @@ -803,6 +803,11 @@ test_expect_success NOT_MINGW 'get --path copes with unset $HOME' ' test_cmp expect result ' +test_expect_success 'get --path barfs on boolean variable' ' + echo "[path]bool" >.git/config && + test_must_fail git config --get --path path.bool +' + cat > expect << EOF [quote] leading = " test" |