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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Signed-off-by: Jonas Fonseca <fonseca@xxxxxxx>

---

 repo-config.c          |    5 ++++-
 t/t1300-repo-config.sh |    8 ++++++++
 2 files changed, 12 insertions(+), 1 deletions(-)

7fcdb6b9c8c75a0c84076b4a0ebc46b4c7383906
diff --git a/repo-config.c b/repo-config.c
index 9cf6519..c5ebb76 100644
--- a/repo-config.c
+++ b/repo-config.c
@@ -14,6 +14,9 @@ static enum { T_RAW, T_INT, T_BOOL } typ
 
 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_,
 			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 207dd3d..ab4dd5c 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
 
-- 
1.2.4.g9201

-- 
Jonas Fonseca
-
: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]