public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* Coping with gcc warning due to limitation of gcc analysis?
@ 2018-01-28  2:03 Samuel Thibault
  2018-01-28 10:58 ` Jeff Law
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Samuel Thibault @ 2018-01-28  2:03 UTC (permalink / raw)
  To: GNU C Library

Hello,

We have a warning in sysdeps/mach/hurd/getresgid.c:

../sysdeps/mach/hurd/getresgid.c:57:9: warning: 'saved' may be used uninitialized in this function

Basically the structure of the function is the following:

int
__getresgid (gid_t *rgid, gid_t *egid, gid_t *sgid)
{
  gid_t saved;
  ...

  err = foo ();
  if (!err)
    {
      if (bar)
	err = EBAR;
      else
	{
	  saved = bat;
	}
    }

  if (err)
    return err;

  *sgid = saved;  /* The warning is triggered here */
  ...
}

i.e. in all the cases where `saved' is not initialized, err is set to
non-zero, and thus we return before ever using saved.

What is the glibc-preferred way to deal with this? Of course I could
just initialize saved to a dumb value like -1 but the reader might
wonder why unless we put a blunt comment, and a smarter compiler might
later warn "-1 set in `saved' is never used"...

Samuel

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

end of thread, other threads:[~2018-01-29 16:06 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-28  2:03 Coping with gcc warning due to limitation of gcc analysis? Samuel Thibault
2018-01-28 10:58 ` Jeff Law
2018-01-28 14:45   ` Samuel Thibault
2018-01-28 14:49 ` Florian Weimer
2018-01-29 18:26 ` Joseph Myers

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 read-only IMAP folder(s) and NNTP newsgroup(s).