mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-08-04 00:13:40 +02:00
Don't read past the end of the string. (#334471, Morten Welinder)
2006-03-14 Matthias Clasen <mclasen@redhat.com> * glib/gutils.c (g_parse_debug_string): Don't read past the end of the string. (#334471, Morten Welinder)
This commit is contained in:
committed by
Matthias Clasen
parent
99024c7ea7
commit
9e58246669
@@ -432,6 +432,31 @@ test_g_mkdir_with_parents (void)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
test_g_parse_debug_string (void)
|
||||
{
|
||||
GDebugKey keys[3] = {
|
||||
{ "foo", 1 },
|
||||
{ "bar", 2 },
|
||||
{ "baz", 4 }
|
||||
};
|
||||
guint n_keys = 3;
|
||||
guint result;
|
||||
|
||||
result = g_parse_debug_string ("bar:foo:blubb", keys, n_keys);
|
||||
g_assert (result == 3);
|
||||
|
||||
result = g_parse_debug_string (":baz::_E@~!_::", keys, n_keys);
|
||||
g_assert (result == 4);
|
||||
|
||||
result = g_parse_debug_string ("", keys, n_keys);
|
||||
g_assert (result == 0);
|
||||
|
||||
result = g_parse_debug_string (" : ", keys, n_keys);
|
||||
g_assert (result == 0);
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
main (int argc,
|
||||
char *argv[])
|
||||
@@ -1488,7 +1513,9 @@ main (int argc,
|
||||
close (fd);
|
||||
g_clear_error (&error);
|
||||
remove (name_used);
|
||||
|
||||
|
||||
test_g_parse_debug_string ();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user