[libvirt] [PATCH 2/5] commandtest: Resolve some coverity resource leaks

John Ferlan jferlan at redhat.com
Fri Feb 15 16:42:24 UTC 2013


On 02/15/2013 10:44 AM, Eric Blake wrote:
> On 02/15/2013 08:12 AM, John Ferlan wrote:
>> On 02/15/2013 08:54 AM, Peter Krempa wrote:
>>> On 02/15/13 14:17, Eric Blake wrote:
>>>> On 02/15/2013 02:01 AM, Peter Krempa wrote:
>>>>
>>>>>> So, one could logically believe the check could change to:
>>>>>>
>>>>>>       sa_assert(fd == -1 || (fd >= 3 && fd <= 8));
>>>>
>>>> Yes, I like that.
>>>
>>> If I understood it correctly, the above condition won't shut up
>>> coverity, only sa_assert(fd == -1) does as coverity then thinks that fd
>>> was > 8 and thus closed. Otherwise it does not detect the magic we're
>>> doing later.
>>
>> Yes, correct, hence the need for the "/* coverity[overwrite_var] */ tag.
> 
> If you're using the /* coverity[overwrite_var] */ tag, then do we still
> need the sa_assert?  This is one case where leaving comments to shut up
> coverity is fair game, because it is a test program, and because we
> already know we are doing some unusual games with fds to get into a
> known state.
> 

The sa_assert() would not be required.  I think by setting to just -1,
Coverity chose to not check fd >=3 && <=8. That is perhaps it "tells"
Coverity that we know our inputs and we're guaranteeing that the
VIR_CLOSE will happen.

I will remove the sa_assert and keep the comment.

John




More information about the libvir-list mailing list