color.c: fix color_parse_mem() with value_len == 0
In this code we want to match the word "reset". If len is zero, strncasecmp() will return zero and we incorrectly assume it's "reset" as a result. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Nguyễn Thái Ngọc Duy committed
Jan 19, 2017 at 18:41 UTC
c2f41bf521b5b2ffb9ea93b98e4a57bf73d70864
1 file changed
+3
color.c
+3
@@ -207,6 +207,9 @@ int color_parse_mem(const char *value, int value_len, char *dst)
207
struct color fg = { COLOR_UNSPECIFIED };
208
struct color bg = { COLOR_UNSPECIFIED };
209
210
+ if (!len)
211
+ return -1;
212
+
213
if (!strncasecmp(value, "reset", len)) {
214
xsnprintf(dst, end - dst, GIT_COLOR_RESET);
215
return 0;