From: Vladislav Ivanishin <vlad@ispras.ru> To: Alexey Gladkov <gladkov.alexey@gmail.com> Cc: kbd@lists.altlinux.org Subject: Re: [kbd] [Lint][Bug report] src/openvt.c:386: 'pid' may be used uninitialized Date: Thu, 11 Jul 2019 21:03:49 +0300 Message-ID: <87ef2wxxbu.fsf@ispras.ru> (raw) In-Reply-To: <87v9xcugq3.fsf@ispras.ru> (Vladislav Ivanishin's message of "Tue, 11 Jun 2019 21:20:04 +0300") Sorry, I didn't get your reply (not sure what the actual reason is, but it seems as if you've only replied to the list, and I am not subscribed) so I've just read it today in the archives. > On Tue, Jun 11, 2019 at 09:20:04PM +0300, Vladislav Ivanishin wrote: > > Hi, > > > > I've found this bug using a static analyzer (slightly improved GCC). > > > > Consider variable `pid` in function main from src/openvt.c: > > > > src/openvt.c:166: int opt, pid, i; > > src/openvt.c:303: if (direct_exec || ((pid = fork()) == 0)) { > > src/openvt.c:386: if (pid < 0) > > src/openvt.c:393: waitpid(pid, &retval, 0); > > > > If direct_exec is TRUE, then pid doesn't get initialized, but it is used > > outside the conditional regardless of that. > > This is not a bug. If direct_exec is TRUE we will never be on line 386. Oh, I didn't realize that; my bad, thanks for pointing this out. The real issue preventing the analyzer (i.e. the compiler) from seeing this as well is kbd_error lacking the noreturn attribute. > To make linter happy, I’ll make pid = 0. So a more proper fix would be adding the attribute in the header file. It would also make other compiler analyses/optimizations more effective. -- Vlad > Thanks! > -- > Rgrds, legion
next prev parent reply other threads:[~2019-07-11 18:03 UTC|newest] Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-06-11 18:20 Vladislav Ivanishin 2019-06-20 8:59 ` Alexey Gladkov 2019-07-11 18:03 ` Vladislav Ivanishin [this message] 2019-07-11 19:22 ` Alexey Gladkov
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=87ef2wxxbu.fsf@ispras.ru \ --to=vlad@ispras.ru \ --cc=gladkov.alexey@gmail.com \ --cc=kbd@lists.altlinux.org \ /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
Linux console tools development discussion This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/kbd/0 kbd/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 kbd kbd/ http://lore.altlinux.org/kbd \ kbd@lists.altlinux.org kbd@lists.altlinux.ru kbd@lists.altlinux.com public-inbox-index kbd Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.kbd AGPL code for this site: git clone https://public-inbox.org/public-inbox.git