On Mon, Jun 24, 2013 at 05:54:53AM -0400, Laine Stump wrote: > virPCIDeviceReattach was making the assumption that the dev object > given to it was one and the same with the dev object on the > inactiveDevs list. If that had been the case, it would not need to > free the dev object it removed from the inactive list, because the > caller of virPCIDeviceReattach always frees the dev object that it > passes in. Since the dev object passed in is *never* the same object > that's on the list (it is a different object with the same name and > attributes, created just for the purpose of searching for the actual > object), simply doing a "ListSteal" to remove the object from the list > results in one leaked object; we need to actually free the object > after removing it from the list. > --- > src/util/virpci.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/src/util/virpci.c b/src/util/virpci.c > index 10e95bd..1108ef2 100644 > --- a/src/util/virpci.c > +++ b/src/util/virpci.c > @@ -1266,7 +1266,7 @@ virPCIDeviceReattach(virPCIDevicePtr dev, > > /* Steal the dev from list inactiveDevs */ > if (inactiveDevs) > - virPCIDeviceListSteal(inactiveDevs, dev); > + virPCIDeviceListDel(inactiveDevs, dev); > > return 0; > } ACK Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list