From c2f41bf521b5b2ffb9ea93b98e4a57bf73d70864 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nguy=E1=BB=85n=20Th=C3=A1i=20Ng=E1=BB=8Dc=20Duy?= Date: Thu, 19 Jan 2017 18:41:21 +0700 Subject: color.c: fix color_parse_mem() with value_len == 0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Signed-off-by: Junio C Hamano diff --git a/color.c b/color.c index 81c2676..a9eadd1 100644 --- a/color.c +++ b/color.c @@ -207,6 +207,9 @@ int color_parse_mem(const char *value, int value_len, char *dst) struct color fg = { COLOR_UNSPECIFIED }; struct color bg = { COLOR_UNSPECIFIED }; + if (!len) + return -1; + if (!strncasecmp(value, "reset", len)) { xsnprintf(dst, end - dst, GIT_COLOR_RESET); return 0; -- cgit v0.10.2-6-g49f6