glib/tests/gvariant: Not try to memcpy NULL data

It's undefined behavior
This commit is contained in:
Marco Trevisan (Treviño) 2025-01-30 18:47:53 +01:00
parent c0f8f24969
commit 695cdcdba4

View File

@ -2325,10 +2325,19 @@ test_byteswap (void)
* This might not work because its 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);