The memset() was resetting only 30 bytes in the array (size of the
array), but it is array of pointers. Since it is a static array,
let's just reset it by its size.
Found by gcc-7.1:
testutils.c: In function 'virTestRun':
testutils.c:243:13: error: 'memset' used with length equal to number
of elements without multiplication by element size [-Werror=memset-elt-size]
memset(testAllocStack, 0, ARRAY_CARDINALITY(testAllocStack));
^~~~~~
Signed-off-by: Martin Kletzander <mkletzan(a)redhat.com>
---
Pushed as trivial an also under the build-breaker rule.
I'm still getting one more error in config.h that probably needs
fixing in autoconf:
../config.h:2994:48: warning: this use of "defined" may not be portable
[-Wexpansion-to-defined]
|| (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \
Let me know if you know how I could help with that.
tests/testutils.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/testutils.c b/tests/testutils.c
index 4fb2338bb1de..4b8cf79ef939 100644
--- a/tests/testutils.c
+++ b/tests/testutils.c
@@ -240,7 +240,7 @@ virTestRun(const char *title,
for (i = start; i < end; i++) {
bool missingFail = false;
# ifdef TEST_OOM_TRACE
- memset(testAllocStack, 0, ARRAY_CARDINALITY(testAllocStack));
+ memset(testAllocStack, 0, sizeof(testAllocStack));
ntestAllocStack = 0;
# endif
virAllocTestOOM(i + 1, 1);
--
2.13.0