mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-22 18:22:11 +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
|
* 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
|
* arbitrary random variant non-normal. Adding a single zero byte to the end
|
||||||
* often makes something non-normal but still readable. */
|
* often makes something non-normal but still readable. */
|
||||||
three_size_copy = three.size + 1;
|
if (three.data != NULL)
|
||||||
three_data_copy = g_malloc (three_size_copy);
|
{
|
||||||
memcpy (three_data_copy, three.data, three.size);
|
g_assert_cmpuint (three.size, !=, 0);
|
||||||
three_data_copy[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_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);
|
three_data_copy, three_size_copy, FALSE, NULL, NULL);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user