xaizek / vifm (License: GPLv2+) (since 2018-12-07)
Vifm is a file manager with curses interface, which provides Vi[m]-like environment for managing objects within file systems, extended with some useful ideas from mutt.
Commit d66e27bb42a226ae1aa3ad5b8ef517fb164179f2

Update utf8proc from v2.11.2 to v2.11.3
Changes:
* Correct out-of-bounds memory access when calling utf8proc_map with
both UTF8PROC_CHARBOUND and UTF8PROC_COMPOSE.
Author: xaizek
Author date (UTC): 2026-03-28 13:30
Committer name: xaizek
Committer date (UTC): 2026-03-28 13:30
Parent(s): 5ad1fb6bc4c0a84164b62b5af644cf6533a1cc4a
Signing key: 99DC5E4DB05F6BE2
Tree: e2cc2eb1ec68f2ac27df4a8d6cffbc83126f10d8
File Lines added Lines deleted
ChangeLog 1 1
src/utils/utf8proc.c 4 0
src/utils/utf8proc.h 1 1
File ChangeLog changed (mode: 100644) (index 75ce291d1..4e1254874)
38 38 symbolic links while copying. Thanks to Jose Riha (a.k.a. jose1711) and symbolic links while copying. Thanks to Jose Riha (a.k.a. jose1711) and
39 39 an anonymous at Vifm Q2A site. an anonymous at Vifm Q2A site.
40 40
41 Updated utf8proc to v2.11.2.
41 Updated utf8proc to v2.11.3.
42 42
43 43 Made documentation on which :commands can have comments a bit more Made documentation on which :commands can have comments a bit more
44 44 verbose. verbose.
File src/utils/utf8proc.c changed (mode: 100644) (index eb25204c8..a515401cb)
... ... UTF8PROC_DLLEXPORT utf8proc_ssize_t utf8proc_normalize_utf32(utf8proc_int32_t *b
662 662 utf8proc_ssize_t wpos = 0; utf8proc_ssize_t wpos = 0;
663 663 for (rpos = 0; rpos < length; rpos++) { for (rpos = 0; rpos < length; rpos++) {
664 664 utf8proc_int32_t current_char = buffer[rpos]; utf8proc_int32_t current_char = buffer[rpos];
665 if (current_char < 0) {
666 /* skip grapheme break */
667 continue;
668 }
665 669 const utf8proc_property_t *current_property = unsafe_get_property(current_char); const utf8proc_property_t *current_property = unsafe_get_property(current_char);
666 670 if (starter && current_property->combining_class > max_combining_class) { if (starter && current_property->combining_class > max_combining_class) {
667 671 /* combination perhaps possible */ /* combination perhaps possible */
File src/utils/utf8proc.h changed (mode: 100644) (index 3893f6f91..8d9a2e41e)
73 73 /** The MINOR version number (increased when new functionality is added in a backwards-compatible manner). */ /** The MINOR version number (increased when new functionality is added in a backwards-compatible manner). */
74 74 #define UTF8PROC_VERSION_MINOR 11 #define UTF8PROC_VERSION_MINOR 11
75 75 /** The PATCH version (increased for fixes that do not change the API). */ /** The PATCH version (increased for fixes that do not change the API). */
76 #define UTF8PROC_VERSION_PATCH 2
76 #define UTF8PROC_VERSION_PATCH 3
77 77 /** @} */ /** @} */
78 78
79 79 #include <stdlib.h> #include <stdlib.h>
Hints

Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/vifm

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/vifm

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master