From f067a13745fbeae1aa357876348a00e5edd0a629 Mon Sep 17 00:00:00 2001 From: Jonas Fonseca Date: Mon, 6 Mar 2006 06:23:30 +0100 Subject: [PATCH] repo-config: give value_ a sane default so regexec won't segfault Signed-off-by: Jonas Fonseca Signed-off-by: Junio C Hamano --- repo-config.c | 5 ++++- t/t1300-repo-config.sh | 8 ++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/repo-config.c b/repo-config.c index 9cf65193..c5ebb766 100644 --- a/repo-config.c +++ b/repo-config.c @@ -14,6 +14,9 @@ static enum { T_RAW, T_INT, T_BOOL } type = T_RAW; static int show_config(const char* key_, const char* value_) { + if (value_ == NULL) + value_ = ""; + if (!strcmp(key_, key) && (regexp == NULL || (do_not_match ^ @@ -35,7 +38,7 @@ static int show_config(const char* key_, const char* value_) sprintf(value, "%s", git_config_bool(key_, value_) ? "true" : "false"); } else { - value = strdup(value_ ? value_ : ""); + value = strdup(value_); } seen++; } diff --git a/t/t1300-repo-config.sh b/t/t1300-repo-config.sh index 207dd3de..ab4dd5c4 100755 --- a/t/t1300-repo-config.sh +++ b/t/t1300-repo-config.sh @@ -247,5 +247,13 @@ EOF test_expect_success 'hierarchical section value' 'cmp .git/config expect' +cat > .git/config << EOF +[novalue] + variable +EOF + +test_expect_success 'get variable with no value' \ + 'git-repo-config --get novalue.variable ^$' + test_done -- 2.11.0