Commit a2366c949d86570192c0badbb904e87a08ee8ac4

Vicent Martí 2011-10-27T15:33:53

Merge pull request #467 from oleganza/oa-config-parse-fix Fixed crash in config parser when empty value is encountered.

diff --git a/src/config_file.c b/src/config_file.c
index a85ae15..3540aae 100644
--- a/src/config_file.c
+++ b/src/config_file.c
@@ -1158,19 +1158,25 @@ static int parse_variable(diskfile_backend *cfg, char **var_name, char **var_val
 		while (isspace(value_start[0]))
 			value_start++;
 
-		if (value_start[0] == '\0')
+		if (value_start[0] == '\0') {
+			*var_value = NULL;
 			goto out;
+		}
 
 		if (is_multiline_var(value_start)) {
 			error = parse_multiline_variable(cfg, value_start, var_value);
-			if (error < GIT_SUCCESS)
+			if (error != GIT_SUCCESS)
+			{
+				*var_value = NULL;
 				free(*var_name);
+			}
 			goto out;
 		}
 
 		tmp = strdup(value_start);
 		if (tmp == NULL) {
 			free(*var_name);
+			*var_value = NULL;
 			error = GIT_ENOMEM;
 			goto out;
 		}