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@xxxxxxxxxx> >> 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. -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list