mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-21 09:42:10 +01:00
glib/tests/gvariant: Not try to memcpy NULL data
It's undefined behavior
This commit is contained in:
parent
c0f8f24969
commit
695cdcdba4
@ -2325,10 +2325,19 @@ test_byteswap (void)
|
||||
* This might not work because it’s not necessarily possible to make an
|
||||
* arbitrary random variant non-normal. Adding a single zero byte to the end
|
||||
* often makes something non-normal but still readable. */
|
||||
three_size_copy = three.size + 1;
|
||||
three_data_copy = g_malloc (three_size_copy);
|
||||
memcpy (three_data_copy, three.data, three.size);
|
||||
three_data_copy[three.size] = '\0';
|
||||
if (three.data != NULL)
|
||||
{
|
||||
g_assert_cmpuint (three.size, !=, 0);
|
||||
|
||||
three_size_copy = three.size + 1;
|
||||
three_data_copy = g_malloc (three_size_copy);
|
||||
memcpy (three_data_copy, three.data, three.size);
|
||||
three_data_copy[three.size] = '\0';
|
||||
}
|
||||
else
|
||||
{
|
||||
g_assert_cmpuint (three.size, ==, 0);
|
||||
}
|
||||
|
||||
three_variant = g_variant_new_from_data (G_VARIANT_TYPE (g_variant_type_info_get_type_string (three.type_info)),
|
||||
three_data_copy, three_size_copy, FALSE, NULL, NULL);
|
||||
|
Loading…
x
Reference in New Issue
Block a user