From f1b32e87f71ff5718be4c8bf79d29a480600d53b Mon Sep 17 00:00:00 2001 From: Dave Davenport Date: Sun, 17 Jan 2021 16:09:58 +0100 Subject: [PATCH] Add check for input == NULL. --- source/helper.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/source/helper.c b/source/helper.c index 1eb2b902..07441732 100644 --- a/source/helper.c +++ b/source/helper.c @@ -1138,13 +1138,17 @@ char *helper_get_theme_path ( const char *file ) return filename; } -static void parse_pair ( char *input, rofi_range_pair *item ) +static gboolean parse_pair ( char *input, rofi_range_pair *item ) { // Skip leading blanks. while ( input != NULL && isblank ( *input ) ) { ++input; } + if ( input == NULL ) { + return FALSE; + } + const char *sep[] = { "-", ":" }; int pythonic = ( strchr ( input, ':' ) || input[0] == '-' ) ? 1 : 0; int index = 0; @@ -1166,6 +1170,7 @@ static void parse_pair ( char *input, rofi_range_pair *item ) --item->stop; } } + return TRUE; } void parse_ranges ( char *input, rofi_range_pair **list, unsigned int *length ) { @@ -1178,9 +1183,9 @@ void parse_ranges ( char *input, rofi_range_pair **list, unsigned int *length ) // Make space. *list = g_realloc ( ( *list ), ( ( *length ) + 1 ) * sizeof ( struct rofi_range_pair ) ); // Parse a single pair. - parse_pair ( token, &( ( *list )[*length] ) ); - - ( *length )++; + if ( parse_pair ( token, &( ( *list )[*length] ) ) ) { + ( *length )++; + } } } /**