repo-config: give value_ a sane default so regexec won't segfault
authorJonas Fonseca <fonseca@diku.dk>
Mon, 6 Mar 2006 05:23:30 +0000 (06:23 +0100)
committerJunio C Hamano <junkio@cox.net>
Wed, 8 Mar 2006 01:06:10 +0000 (17:06 -0800)
Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
Signed-off-by: Junio C Hamano <junkio@cox.net>
repo-config.c
t/t1300-repo-config.sh

index 9cf6519..c5ebb76 100644 (file)
@@ -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++;
        }
index 207dd3d..ab4dd5c 100755 (executable)
@@ -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