summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Davenport <qball@gmpclient.org>2021-01-17 16:09:58 +0100
committerDave Davenport <qball@gmpclient.org>2021-01-17 16:09:58 +0100
commit519b2a22eb439743c027de128fabfece6d8a2df7 (patch)
treefa0380cc003aa276e3bc6e0b4da86582565bf648
parentca86eec8020ef5011cd7962358ce3425d9e6f12c (diff)
Add check for input == NULL.
-rw-r--r--source/helper.c13
1 files 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 )++;
+ }
}
}
/**