summaryrefslogtreecommitdiffstats
path: root/smenu.c
diff options
context:
space:
mode:
Diffstat (limited to 'smenu.c')
-rw-r--r--smenu.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/smenu.c b/smenu.c
index 09ae346..b4a9c0d 100644
--- a/smenu.c
+++ b/smenu.c
@@ -2001,7 +2001,12 @@ parse_selectors(char * str, filters_t * filter, char ** unparsed,
/* We must parse a single number. */
/* """""""""""""""""""""""""""""" */
- if (sscanf(str + start, "%ld", &first) != 1)
+ int rc;
+ int pos;
+
+ rc = sscanf(str + start, "%ld%n", &first, &pos);
+
+ if (rc != 1 || *(str + start + pos) != '\0')
{
*unparsed = strprint(str + start);
return;