qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH for-2.12] tests: Silence false positive warning on generated test name
@ 2018-03-23 20:43 Eric Blake
  2018-03-27 10:05 ` Marc-André Lureau
  0 siblings, 1 reply; 2+ messages in thread
From: Eric Blake @ 2018-03-23 20:43 UTC (permalink / raw)
  To: qemu-devel; +Cc: Markus Armbruster, Michael Roth

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>
---

Makes sense for me to take this through my QAPI tree, if it gets a review.

 tests/test-visitor-serialization.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/test-visitor-serialization.c b/tests/test-visitor-serialization.c
index 438c18a0d64..d18d90db2c7 100644
--- a/tests/test-visitor-serialization.c
+++ b/tests/test-visitor-serialization.c
@@ -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;
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [Qemu-devel] [PATCH for-2.12] tests: Silence false positive warning on generated test name
  2018-03-23 20:43 [Qemu-devel] [PATCH for-2.12] tests: Silence false positive warning on generated test name Eric Blake
@ 2018-03-27 10:05 ` Marc-André Lureau
  0 siblings, 0 replies; 2+ messages in thread
From: Marc-André Lureau @ 2018-03-27 10:05 UTC (permalink / raw)
  To: Eric Blake; +Cc: QEMU, Markus Armbruster, Michael Roth

On Fri, Mar 23, 2018 at 9:43 PM, Eric Blake <eblake@redhat.com> wrote:
> 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>

Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>


> ---
>
> Makes sense for me to take this through my QAPI tree, if it gets a review.
>
>  tests/test-visitor-serialization.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tests/test-visitor-serialization.c b/tests/test-visitor-serialization.c
> index 438c18a0d64..d18d90db2c7 100644
> --- a/tests/test-visitor-serialization.c
> +++ b/tests/test-visitor-serialization.c
> @@ -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;
> --
> 2.14.3
>
>



-- 
Marc-André Lureau

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-03-27 10:05 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-03-23 20:43 [Qemu-devel] [PATCH for-2.12] tests: Silence false positive warning on generated test name Eric Blake
2018-03-27 10:05 ` Marc-André Lureau

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).