nano

nano with my custom patches
git clone git://bsandro.tech/nano
Log | Files | Refs | README | LICENSE

commit ac726f08fa15256abb619533affc6bda4131ee6c
parent 30986db7088b118edf42f137bf7cb8a584a2e4bd
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Fri,  7 Jul 2017 11:48:26 +0200

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 <pooka109@gmail.com>

Diffstat:
Msrc/color.c | 8++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git 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