diff options
author | zeertzjq <zeertzjq@outlook.com> | 2024-09-27 07:40:46 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-26 23:40:46 +0000 |
commit | a9287dd882e082a17fc7dcf004d3f991ed29001b (patch) | |
tree | eafd77075b02bd7aef20cdceb6097636edb97b12 /src | |
parent | 98d1c0ebef77ba2d96f1203ad504b8ae08ebdab0 (diff) | |
download | rneovim-a9287dd882e082a17fc7dcf004d3f991ed29001b.tar.gz rneovim-a9287dd882e082a17fc7dcf004d3f991ed29001b.tar.bz2 rneovim-a9287dd882e082a17fc7dcf004d3f991ed29001b.zip |
fix(mbyte): check for utf8proc_map() failure (#30531)
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/mbyte.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/nvim/mbyte.c b/src/nvim/mbyte.c index e1701bb931..05f81c48a9 100644 --- a/src/nvim/mbyte.c +++ b/src/nvim/mbyte.c @@ -1380,11 +1380,15 @@ int utf_fold(int a) } utf8proc_uint8_t input_str[16] = { 0 }; - utf8proc_encode_char(a, input_str); + if (utf8proc_encode_char(a, input_str) <= 0) { + return a; + } utf8proc_uint8_t *fold_str_utf; - utf8proc_map((utf8proc_uint8_t *)input_str, 0, &fold_str_utf, - UTF8PROC_NULLTERM | UTF8PROC_CASEFOLD); + if (utf8proc_map((utf8proc_uint8_t *)input_str, 0, &fold_str_utf, + UTF8PROC_NULLTERM | UTF8PROC_CASEFOLD) < 0) { + return a; + } int fold_codepoint_utf = utf_ptr2char((char *)fold_str_utf); |