summaryrefslogtreecommitdiffstats
path: root/smenu.c
diff options
context:
space:
mode:
authorpgen <p.gen.progs@gmail.com>2023-04-22 23:39:57 +0200
committerpgen <p.gen.progs@gmail.com>2023-04-22 23:39:57 +0200
commitbff9c1cc55c5401dbe8976f724aa297f1146f3df (patch)
treece294d12f9185d234ecb630bc96c1cc3fe450296 /smenu.c
parentf5ee8e15827b80c8696e1a98bba40b977df89ee0 (diff)
Make the decoding of column or row No. more robust
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;