mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-11-12 20:36:15 +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_two = g_variant_get_data ((GVariant *) two);
|
||||
|
||||
equal = memcmp (data_one, data_two, size_one) == 0;
|
||||
if (size_one)
|
||||
equal = memcmp (data_one, data_two, size_one) == 0;
|
||||
else
|
||||
equal = TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user