On Fri, Mar 23, 2018 at 9:43 PM, Eric Blake <ebl...@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 <ebl...@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lur...@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