From ac726f08fa15256abb619533affc6bda4131ee6c Mon Sep 17 00:00:00 2001 From: Benno Schulenberg Date: Fri, 7 Jul 2017 11:48:26 +0200 Subject: [PATCH] startup: don't try parsing color names that were not specified Dereferencing a NULL pointer is never a good idea. This fixes https://savannah.gnu.org/bugs/?51405. Reported-by: David Lawrence Ramsey --- src/color.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/color.c b/src/color.c index 3eb41141..1e965ac1 100644 --- a/src/color.c +++ b/src/color.c @@ -54,8 +54,9 @@ void set_colorpairs(void) for (i = 0; i < NUMBER_OF_ELEMENTS; i++) { bool bright = FALSE; - if (parse_color_names(specified_color_combo[i], - &foreground, &background, &bright)) { + if (specified_color_combo[i] != NULL && + parse_color_names(specified_color_combo[i], + &foreground, &background, &bright)) { if (foreground == -1 && !using_defaults) foreground = COLOR_WHITE; if (background == -1 && !using_defaults) @@ -63,8 +64,7 @@ void set_colorpairs(void) init_pair(i + 1, foreground, background); interface_color_pair[i] = COLOR_PAIR(i + 1) | (bright ? A_BOLD : A_NORMAL); - } - else { + } else { if (i != FUNCTION_TAG) interface_color_pair[i] = hilite_attribute; else