[kbd] [Lint][Bug report] src/openvt.c:386: 'pid' may be used uninitialized

Alexey Gladkov gladkov.alexey at gmail.com
Thu Jun 20 11:59:40 MSK 2019


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.
To make linter happy, I’ll make pid = 0.
Thanks!

-- 
Rgrds, legion



More information about the kbd mailing list