summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpgen <p.gen.progs@gmail.com>2023-12-27 15:20:11 +0100
committerpgen <p.gen.progs@gmail.com>2023-12-27 15:20:11 +0100
commit31f6f07d8b3aa4bc9e950ebc5cfc52726b987ea1 (patch)
tree553f68aa8b8192cf0a4c5ac44b92161f7e67585e
parentbb98205f7f13e838e7458de223931e4b1480ab8d (diff)
Fix a potential dereferencing of a NULL pointer
-rw-r--r--smenu.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/smenu.c b/smenu.c
index 7d1afd9..261ae97 100644
--- a/smenu.c
+++ b/smenu.c
@@ -5001,12 +5001,15 @@ select_ending_matches(win_t *win,
ptr = str + strlen(str);
nb = 0;
- while ((ptr = utf8_prev(str, ptr)) && isblank(*ptr))
+ while ((ptr = utf8_prev(str, ptr)) != NULL && isblank(*ptr))
if (ptr - str > 0)
nb++;
else
break;
+ if (ptr == NULL) /* str is blank or contain an invalid uft8 sequence. */
+ ptr = str;
+
/* NOTE: utf8_prev cannot return NULL in the previous loop */
/* because str always contains at least one UTF-8 valid */
/* sequence, so does ptr. */