Skip to content

Commit

Permalink
repo-config: give value_ a sane default so regexec won't segfault
Browse files Browse the repository at this point in the history
Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
Signed-off-by: Junio C Hamano <junkio@cox.net>
  • Loading branch information
Jonas Fonseca authored and Junio C Hamano committed Mar 8, 2006
1 parent aa1dbc9 commit f067a13
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 1 deletion.
5 changes: 4 additions & 1 deletion repo-config.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 ^
Expand All @@ -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++;
}
Expand Down
8 changes: 8 additions & 0 deletions t/t1300-repo-config.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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

0 comments on commit f067a13

Please sign in to comment.