mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-09 12:25:48 +01:00
gvariant: Avoid memcmp (NULL, ., 0) or memcmp (., NULL, 0)
Similar to 3837b83f, glibc memcmp is declared with the first two arguments annotated as non-null via an attribute, which results in the undefined behaviour sanitizer considering it to be UB to pass a null pointer there (even if we are comparing 0 bytes, and hence not actually dereferencing the pointer). This shows up in /gvariant/serialiser/children when run with the undefined behaviour sanitizer. Signed-off-by: Simon McVittie <smcv@collabora.com>
This commit is contained in:
parent
6d8836515c
commit
2465e64c93
@ -2765,7 +2765,10 @@ g_variant_equal (gconstpointer one,
|
|||||||
data_one = g_variant_get_data ((GVariant *) one);
|
data_one = g_variant_get_data ((GVariant *) one);
|
||||||
data_two = g_variant_get_data ((GVariant *) two);
|
data_two = g_variant_get_data ((GVariant *) two);
|
||||||
|
|
||||||
|
if (size_one)
|
||||||
equal = memcmp (data_one, data_two, size_one) == 0;
|
equal = memcmp (data_one, data_two, size_one) == 0;
|
||||||
|
else
|
||||||
|
equal = TRUE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user