On 03/12/2014 05:26 PM, Jim Fehlig wrote:
Commit 6b306d66 converted virHostdevManager to a virObject, but
missed adding a virObject field to the virHostdevManager struct.
Result is memory corruption when taking a reference on an instance
of the object, where atomic inc is done on the stateDir field.
Later use of stateDir crashes libvirtd.
Signed-off-by: Jim Fehlig <jfehlig(a)suse.com>
---
src/util/virhostdev.h | 2 ++
1 file changed, 2 insertions(+)
ACK.
diff --git a/src/util/virhostdev.h b/src/util/virhostdev.h
index ade7e2f..a56a2b5 100644
--- a/src/util/virhostdev.h
+++ b/src/util/virhostdev.h
@@ -45,6 +45,8 @@ typedef enum {
typedef struct _virHostdevManager virHostdevManager;
typedef virHostdevManager *virHostdevManagerPtr;
struct _virHostdevManager {
+ virObject parent;
+
char *stateDir;
virPCIDeviceListPtr activePCIHostdevs;
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org