git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Jonas Fonseca <fonseca@diku.dk>
Date
Mar 6, 2006, 05:23 UTC
Message-ID
<20060306052330.GB6487@diku.dk>
Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
---
 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
Message 1 of 1 in “repo-config: give value_ a sane default so regexec won't segfault”
  1. repo-config: give value_ a sane default so regexec won't segfaultJonas Fonseca, Mar 6, 2006

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.