[libvirt] [PATCH 08/10] virt-login-shell: use single instead of double fork
John Ferlan
jferlan at redhat.com
Wed Mar 5 19:14:37 UTC 2014
On 03/05/2014 01:55 PM, Eric Blake wrote:
> On 03/05/2014 06:57 AM, John Ferlan wrote:
>> Coverity has found an issue (NEGATIVE_RETURNS)
>>
>> The 'nfdlist' is the culprit.
>>
>
>>> cleanup:
>>> + for (i = 0; i < nfdlist; i++)
>>> + VIR_FORCE_CLOSE(fdlist[i]);
>>
>> (41) Event negative_returns: Using unsigned variable "nfdlist" in a
>> loop exit condition.
>> Also see events: [negative_return_fn][var_assign]
>
> Yep. Fixing with this, as the obvious followup:
>
> diff --git i/tools/virt-login-shell.c w/tools/virt-login-shell.c
> index 3ea7ade..abe7eeb 100644
> --- i/tools/virt-login-shell.c
> +++ w/tools/virt-login-shell.c
> @@ -339,8 +339,9 @@ main(int argc, char **argv)
> /* At this point, the parent is now waiting for the child to exit,
> * but as that may take a long time, we release resources now. */
> cleanup:
> - for (i = 0; i < nfdlist; i++)
> - VIR_FORCE_CLOSE(fdlist[i]);
> + if (nfdlist > 0)
> + for (i = 0; i < nfdlist; i++)
> + VIR_FORCE_CLOSE(fdlist[i]);
> VIR_FREE(fdlist);
> virConfFree(conf);
> if (dom)
>
>
ACK,
checked with my Coverity build too.
John
More information about the libvir-list
mailing list