Message ID | 1535733414-6812-8-git-send-email-Liam.Merwick@oracle.com |
---|---|
State | New |
Headers | show |
Series | off-by-one and NULL pointer accesses detected by static analysis | expand |
On 08/31/2018 11:36 AM, Liam Merwick wrote: > In qio_channel_command_new_spawn() the 'flags' variable is checked > to see if /dev/null should be used for stdin or stdout; first with > O_RDONLY and then O_WRONLY. However the second check for O_WRONLY > is only needed if flags != O_RDONLY and therefore should be an > else if statement. > > This minor optimization has the added benefit of suppressing a warning > from a static analysis tool (Parfait) which incorrectly reported an > incorrect checking of flags in qio_channel_command_new_spawn() could > result in an uninitialized file descriptor being used. Removing this > noise will help us better find real issues. > > Signed-off-by: Liam Merwick <Liam.Merwick@oracle.com> > --- > io/channel-command.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) Reviewed-by: Eric Blake <eblake@redhat.com> > > diff --git a/io/channel-command.c b/io/channel-command.c > index 3e7eb17eff54..82acd3234915 100644 > --- a/io/channel-command.c > +++ b/io/channel-command.c > @@ -61,8 +61,7 @@ qio_channel_command_new_spawn(const char *const argv[], > > if (flags == O_RDONLY) { > stdinnull = true; > - } > - if (flags == O_WRONLY) { > + } else if (flags == O_WRONLY) { > stdoutnull = true; > } > >
diff --git a/io/channel-command.c b/io/channel-command.c index 3e7eb17eff54..82acd3234915 100644 --- a/io/channel-command.c +++ b/io/channel-command.c @@ -61,8 +61,7 @@ qio_channel_command_new_spawn(const char *const argv[], if (flags == O_RDONLY) { stdinnull = true; - } - if (flags == O_WRONLY) { + } else if (flags == O_WRONLY) { stdoutnull = true; }
In qio_channel_command_new_spawn() the 'flags' variable is checked to see if /dev/null should be used for stdin or stdout; first with O_RDONLY and then O_WRONLY. However the second check for O_WRONLY is only needed if flags != O_RDONLY and therefore should be an else if statement. This minor optimization has the added benefit of suppressing a warning from a static analysis tool (Parfait) which incorrectly reported an incorrect checking of flags in qio_channel_command_new_spawn() could result in an uninitialized file descriptor being used. Removing this noise will help us better find real issues. Signed-off-by: Liam Merwick <Liam.Merwick@oracle.com> --- io/channel-command.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)