From 31f6f07d8b3aa4bc9e950ebc5cfc52726b987ea1 Mon Sep 17 00:00:00 2001 From: pgen Date: Wed, 27 Dec 2023 15:20:11 +0100 Subject: Fix a potential dereferencing of a NULL pointer --- smenu.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'smenu.c') 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. */ -- cgit v1.2.3