From 7b856d628bfd6c775dfaee2138a3542ee13b1960 Mon Sep 17 00:00:00 2001 From: ailin-nemui Date: Thu, 15 Dec 2016 18:01:26 +0100 Subject: check for end of string in ansi 48 --- src/fe-common/core/formats.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/fe-common/core/formats.c b/src/fe-common/core/formats.c index a58d839a..a789c0e3 100644 --- a/src/fe-common/core/formats.c +++ b/src/fe-common/core/formats.c @@ -956,6 +956,7 @@ static const char *get_ansi_color(THEME_REC *theme, const char *str, str++; for (num2 = 0; i_isdigit(*str); str++) num2 = num2*10 + (*str-'0'); + if (*str == '\0') return start; switch (num2) { case 2: @@ -973,6 +974,8 @@ static const char *get_ansi_color(THEME_REC *theme, const char *str, for (; i_isdigit(*str); str++) num2 = (num2&~0xff) | (((num2&0xff) * 10 + (*str-'0'))&0xff); + + if (*str == '\0') return start; } if (i == -1) break; @@ -1001,6 +1004,7 @@ static const char *get_ansi_color(THEME_REC *theme, const char *str, str++; for (num2 = 0; i_isdigit(*str); str++) num2 = num2*10 + (*str-'0'); + if (*str == '\0') return start; if (num == 38) { flags &= ~GUI_PRINT_FLAG_COLOR_24_FG; -- cgit v1.2.3