From: Jim Meyering Date: Sat, 8 Dec 2007 15:48:05 +0000 (+0100) Subject: config.c:store_write_pair(): don't read the byte before a malloc'd buffer. X-Git-Tag: v1.5.4-rc0~37^2 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=6281f394674bf2db861967da6c2215cfc3fc78af;p=git.git config.c:store_write_pair(): don't read the byte before a malloc'd buffer. Signed-off-by: Jim Meyering Signed-off-by: Junio C Hamano --- diff --git a/config.c b/config.c index 56e99fc0f..914cfce85 100644 --- a/config.c +++ b/config.c @@ -630,13 +630,19 @@ static int store_write_pair(int fd, const char* key, const char* value) int length = strlen(key+store.baselen+1); int quote = 0; - /* Check to see if the value needs to be quoted. */ + /* + * Check to see if the value needs to be surrounded with a dq pair. + * Note that problematic characters are always backslash-quoted; this + * check is about not losing leading or trailing SP and strings that + * follow beginning-of-comment characters (i.e. ';' and '#') by the + * configuration parser. + */ if (value[0] == ' ') quote = 1; for (i = 0; value[i]; i++) if (value[i] == ';' || value[i] == '#') quote = 1; - if (value[i-1] == ' ') + if (i && value[i-1] == ' ') quote = 1; if (write_in_full(fd, "\t", 1) != 1 ||