Browse Source

repo-config: give value_ a sane default so regexec won't segfault

Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
Signed-off-by: Junio C Hamano <junkio@cox.net>
maint
Jonas Fonseca 19 years ago committed by Junio C Hamano
parent
commit
f067a13745
  1. 5
      repo-config.c
  2. 8
      t/t1300-repo-config.sh

5
repo-config.c

@ -14,6 +14,9 @@ static enum { T_RAW, T_INT, T_BOOL } type = T_RAW; @@ -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_) @@ -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++;
}

8
t/t1300-repo-config.sh

@ -247,5 +247,13 @@ EOF @@ -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


Loading…
Cancel
Save