Merge branch 'cn/config-missing-path'
"git config --path $key" segfaulted on "[section] key" (a boolean "true" spelled without "=", not "[section] key = true"). * cn/config-missing-path: config: don't segfault when given --path with a missing value
This commit is contained in:
commit
0f76f97676
@ -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_;
|
||||
|
@ -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"
|
||||
|
Loading…
Reference in New Issue
Block a user