diff --git a/test/input.c b/test/input.c index 8a54af9d3..12771c59a 100644 --- a/test/input.c +++ b/test/input.c @@ -803,12 +803,18 @@ static void cmp_attr_fields(InputAttributes *attr1, tags1 = attr1->tags; tags2 = attr2->tags; + + /* if we don't have any tags, skip the tag checking bits */ if (!tags1) { g_assert(!tags2); return; } + /* Don't lug around empty arrays */ + g_assert(*tags1); + g_assert(*tags2); + /* check for identical content, but duplicated */ while (*tags1) { @@ -818,6 +824,7 @@ static void cmp_attr_fields(InputAttributes *attr1, tags2++; } + /* ensure tags1 and tags2 have the same no of elements */ g_assert(!*tags2); /* check for not sharing memory */ @@ -842,7 +849,7 @@ static void dix_input_attributes(void) g_assert(!new); new = DuplicateInputAttributes(&orig); - g_assert(memcpy(&orig, new, sizeof(InputAttributes))); + g_assert(memcmp(&orig, new, sizeof(InputAttributes)) == 0); orig.product = "product name"; new = DuplicateInputAttributes(&orig);