]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
tests: Silence false positive warning on generated test name
authorEric Blake <eblake@redhat.com>
Fri, 23 Mar 2018 20:43:41 +0000 (15:43 -0500)
committerEric Blake <eblake@redhat.com>
Tue, 27 Mar 2018 15:17:32 +0000 (10:17 -0500)
Running 'make check' on rawhide with gcc 8.0.1 fails:

tests/test-visitor-serialization.c: In function 'main':
tests/test-visitor-serialization.c:1127:34: error: '/primitives/' directive writing 12 bytes into a region of size between 1 and 128 [-Werror=format-overflow=]

The warning is a false positive (we have two buffers of size 128,
so yes, if we FULLY used the first buffer, then sprint'ing it into
the second will overflow the second).  But in practice, our first
buffer will not be longer than "/visitor/serialization/String",
so sizing it smaller is enough to let gcc see that we don't
overflow the second.

Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <20180323204341.1501664-1-eblake@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
tests/test-visitor-serialization.c

index 438c18a0d641eb1b27968b3669a087333845eec5..d18d90db2c749f46ddc36b2fd7423daaaf3bc93b 100644 (file)
@@ -1115,7 +1115,7 @@ static const SerializeOps visitors[] = {
 
 static void add_visitor_type(const SerializeOps *ops)
 {
-    char testname_prefix[128];
+    char testname_prefix[32];
     char testname[128];
     TestArgs *args;
     int i = 0;