
On 12/08/2014 03:50 AM, Peter Krempa wrote:
On 12/06/14 09:14, Eric Blake wrote:
qemuDomainGetStatsBlock() could leak a stats hash table if it encountered OOM while populating the virTypedParameters. Oddly, the fix doesn't even touch qemuDomainGetStatsBlock :)
+ cleanup:
With this change qemuDomainGetStatsInterface will return success even in case when the OOM occurred. You need to add a 'ret' variable set to -1 and set it to 0 just before cleanup, so that the error gets propagated.
Oh right :)
ACK if you keep reporting the error in OOM case in qemuDomainGetStatsInterface()
Done and pushed: diff --git i/src/qemu/qemu_driver.c w/src/qemu/qemu_driver.c index a7b208f..ed8e140 100644 --- i/src/qemu/qemu_driver.c +++ w/src/qemu/qemu_driver.c @@ -18409,6 +18409,7 @@ qemuDomainGetStatsInterface(virQEMUDriverPtr driver ATTRIBUTE_UNUSED, { size_t i; struct _virDomainInterfaceStats tmp; + int ret = -1; if (!virDomainObjIsActive(dom)) return 0; @@ -18448,8 +18449,9 @@ qemuDomainGetStatsInterface(virQEMUDriverPtr driver ATTRIBUTE_UNUSED, "tx.drop", tmp.tx_drop); } + ret = 0; cleanup: - return 0; + return ret; } #undef QEMU_ADD_NET_PARAM -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org