All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Marc-André Lureau" <marcandre.lureau@redhat.com>
To: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Cc: "Blake, Eric" <eblake@redhat.com>,
	qemu-devel <qemu-devel@nongnu.org>,
	"Wolf, Kevin" <kwolf@redhat.com>,
	qemu-block <qemu-block@nongnu.org>,
	Juan Quintela <quintela@redhat.com>, Jeff Cody <jcody@redhat.com>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Max Reitz <mreitz@redhat.com>,
	Igor Mammedov <imammedo@redhat.com>,
	"unix, namei" <namei.unix@gmail.com>
Subject: Re: [Qemu-devel] [PATCH for-3.1? 2/3] migration: fix stringop-truncation warning
Date: Tue, 20 Nov 2018 21:24:39 +0400	[thread overview]
Message-ID: <CAMxuvax0K1BH3gCXeJ2=0G7EBvpTgHV1TefK8Yp8XzyXaFyieQ@mail.gmail.com> (raw)
In-Reply-To: <20181120172241.GC5072@work-vm>

Hi

On Tue, Nov 20, 2018 at 9:22 PM Dr. David Alan Gilbert
<dgilbert@redhat.com> wrote:
>
> * Eric Blake (eblake@redhat.com) wrote:
> > On 11/20/18 9:27 AM, Marc-André Lureau wrote:
> > > Adding an assert is enough to silence GCC.
> > >
> > > ~/src/qemu/migration/global_state.c: In function 'global_state_store_running':
> > > ~/src/qemu/migration/global_state.c:45:5: error: 'strncpy' specified bound 100 equals destination size [-Werror=stringop-truncation]
> > >       strncpy((char *)global_state.runstate,
> > >       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > >              state, sizeof(global_state.runstate));
> > >              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > > cc1: all warnings being treated as errors
> > >
> > > (alternatively, we could hard-code "running")
> > >
> > > Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> > > ---
> > >   migration/global_state.c | 1 +
> > >   1 file changed, 1 insertion(+)
> >
> > Reviewed-by: Eric Blake <eblake@redhat.com>
> >
> > I think this is safe for 3.1, but I know the migration code is particularly
> > wary of assert()s, even when they are non-triggerable (a 100-byte buffer at
> > global_state.runstate is big enough for ALL of the run states, not just
> > RUN_STATE_RUNNING).
>
> That's OK; the universe would have to be particularly broken to trigger
> that one, and it's in no way connected with any state, so it would
> trigger on even the most basic tests.
>
> However, I wonder if this fixes the problem on mingw builds - windows
> asserts are not marked as noreturn.

On f29, with mingw64-gcc-8.2.0-3.fc29.x86_64, it fixes the warning.

>
> Dave
>
> > >
> > > diff --git a/migration/global_state.c b/migration/global_state.c
> > > index 8e8ab5c51e..01805c567a 100644
> > > --- a/migration/global_state.c
> > > +++ b/migration/global_state.c
> > > @@ -42,6 +42,7 @@ int global_state_store(void)
> > >   void global_state_store_running(void)
> > >   {
> > >       const char *state = RunState_str(RUN_STATE_RUNNING);
> > > +    assert(strlen(state) < sizeof(global_state.runstate));
> > >       strncpy((char *)global_state.runstate,
> > >              state, sizeof(global_state.runstate));
> > >   }
> > >
> >
> > --
> > Eric Blake, Principal Software Engineer
> > Red Hat, Inc.           +1-919-301-3266
> > Virtualization:  qemu.org | libvirt.org
> --
> Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK

  reply	other threads:[~2018-11-20 17:24 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-20 15:27 [Qemu-devel] [PATCH for-3.1? 0/3] strcpy: fix stringop-truncation warnings Marc-André Lureau
2018-11-20 15:27 ` [Qemu-devel] [PATCH for-3.1? 1/3] sheepdog: fix stringop-truncation warning Marc-André Lureau
2018-11-20 16:56   ` Eric Blake
2018-11-20 19:35   ` Philippe Mathieu-Daudé
2018-11-20 15:27 ` [Qemu-devel] [PATCH for-3.1? 2/3] migration: " Marc-André Lureau
2018-11-20 17:01   ` Eric Blake
2018-11-20 17:22     ` Dr. David Alan Gilbert
2018-11-20 17:24       ` Marc-André Lureau [this message]
2018-11-20 17:25         ` Dr. David Alan Gilbert
2018-11-20 19:37   ` Philippe Mathieu-Daudé
2018-11-20 15:27 ` [Qemu-devel] [PATCH for-3.1? 3/3] acpi: fix stringop-truncation warnings Marc-André Lureau
2018-11-20 17:03   ` Eric Blake
2018-11-20 19:45   ` Philippe Mathieu-Daudé

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAMxuvax0K1BH3gCXeJ2=0G7EBvpTgHV1TefK8Yp8XzyXaFyieQ@mail.gmail.com' \
    --to=marcandre.lureau@redhat.com \
    --cc=dgilbert@redhat.com \
    --cc=eblake@redhat.com \
    --cc=imammedo@redhat.com \
    --cc=jcody@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=mreitz@redhat.com \
    --cc=mst@redhat.com \
    --cc=namei.unix@gmail.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.