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;


static int show_config(const char* key_, const char* value_) static int show_config(const char* key_, const char* value_)
{ {
if (value_ == NULL)
value_ = "";

if (!strcmp(key_, key) && if (!strcmp(key_, key) &&
(regexp == NULL || (regexp == NULL ||
(do_not_match ^ (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_) sprintf(value, "%s", git_config_bool(key_, value_)
? "true" : "false"); ? "true" : "false");
} else { } else {
value = strdup(value_ ? value_ : ""); value = strdup(value_);
} }
seen++; seen++;
} }

8
t/t1300-repo-config.sh

@ -247,5 +247,13 @@ EOF


test_expect_success 'hierarchical section value' 'cmp .git/config expect' 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 test_done



Loading…
Cancel
Save