[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] [PATCH] don't leak a file descriptor on failed pciGetDevice call



Daniel P. Berrange wrote:
> On Tue, Mar 03, 2009 at 11:13:40AM +0100, Jim Meyering wrote:
>> This loop would mistakenly return early (skipping the closedir)
>> upon pciGetDevice failure.
>>
>> >From 2d4d1d25edf8f1c3f4770707215bba67d73fd59f Mon Sep 17 00:00:00 2001
>> From: Jim Meyering <meyering redhat com>
>> Date: Tue, 3 Mar 2009 11:11:07 +0100
>> Subject: [PATCH] don't leak a file descriptor on failed pciGetDevice call
>
> ACK, but...
>
>> @@ -823,7 +827,7 @@ void
>>  pciFreeDevice(virConnectPtr conn ATTRIBUTE_UNUSED, pciDevice *dev)
>>  {
>>      VIR_DEBUG("%s %s: freeing", dev->id, dev->name);
>> -    if (dev->fd)
>> +    if (dev->fd >= 0)
>>          close(dev->fd);
>>      VIR_FREE(dev);
>>  }
>
> With this change you also need to fix the bug in pciGetDevice() which
> leaves 'fd' initialized to 0 rather than setting it to -1

Ha.  Good catch.
That change did not belong in this patch (note lack of mention in log message).
It belongs in a separate patch.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]