diff options
author | pgen <p.gen.progs@gmail.com> | 2023-12-27 15:20:11 +0100 |
---|---|---|
committer | pgen <p.gen.progs@gmail.com> | 2023-12-27 15:20:11 +0100 |
commit | 31f6f07d8b3aa4bc9e950ebc5cfc52726b987ea1 (patch) | |
tree | 553f68aa8b8192cf0a4c5ac44b92161f7e67585e | |
parent | bb98205f7f13e838e7458de223931e4b1480ab8d (diff) |
Fix a potential dereferencing of a NULL pointer
-rw-r--r-- | smenu.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -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. */ |