mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-07-30 13:53:30 +02:00
gutf8: add string length check when ending character offset is -1
Some function such as atk_text_get_text, use -1 to indicate the end of the string. And an crash occurs when the -1 is passed to g_utf8_substring. Call Trace: 0 __memmove_avx_unaligned_erms 1 memcpy 2 g_utf8_substring 3 impl_GetText 4 handle_other 5 handle_message 6 _dbus_object_tree_dispatch_and_unlock 7 dbus_connection_dispatch 8 dbus_connection_dispatch 9 () 10 g_main_dispatch 11 g_main_context_dispatch 12 g_main_context_iterate 13 g_main_context_iteration 14 g_application_run 15 main Signed-off-by: Chen Guanqiao <chen.chenchacha@foxmail.com>
This commit is contained in:
@@ -128,6 +128,10 @@ test_utf8_substring (void)
|
||||
r = g_utf8_substring ("abc\xe2\x82\xa0gh\xe2\x82\xa4", 2, 5);
|
||||
g_assert_cmpstr (r, ==, "c\xe2\x82\xa0g");
|
||||
g_free (r);
|
||||
|
||||
r = g_utf8_substring ("abcd", 1, -1);
|
||||
g_assert_cmpstr (r, ==, "bcd");
|
||||
g_free (r);
|
||||
}
|
||||
|
||||
static void
|
||||
|
Reference in New Issue
Block a user