aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Blake <eblake@redhat.com>2011-07-04 10:30:43 +0800
committerDaniel Veillard <veillard@redhat.com>2011-07-04 10:30:43 +0800
commit74d224fac35ff12761307fb0f1e527ead7b6fd0d (patch)
tree4b03e1f1d3486a076612e31cf7e4714c342c290a
parentcgroup: silence coverity warning (diff)
downloadlibvirt-74d224fac35ff12761307fb0f1e527ead7b6fd0d.tar.gz
libvirt-74d224fac35ff12761307fb0f1e527ead7b6fd0d.tar.bz2
libvirt-74d224fac35ff12761307fb0f1e527ead7b6fd0d.zip
qemu: avoid null deref on low memory
Detected by Coverity. qemuDomainEventQueue requires a non-NULL pointer; most callers silently drop the event if we encountered and OOM situation trying to create the event. * src/qemu/qemu_migration.c (qemuMigrationFinish): Check for OOM.
-rw-r--r--src/qemu/qemu_migration.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
index 800b714c0..d7b27a0a1 100644
--- a/src/qemu/qemu_migration.c
+++ b/src/qemu/qemu_migration.c
@@ -2552,7 +2552,8 @@ qemuMigrationFinish(struct qemud_driver *driver,
VIR_DOMAIN_EVENT_RESUMED_MIGRATED);
if (virDomainObjGetState(vm, NULL) == VIR_DOMAIN_PAUSED) {
virDomainObjSetState(vm, VIR_DOMAIN_PAUSED, VIR_DOMAIN_PAUSED_USER);
- qemuDomainEventQueue(driver, event);
+ if (event)
+ qemuDomainEventQueue(driver, event);
event = virDomainEventNewFromObj(vm,
VIR_DOMAIN_EVENT_SUSPENDED,
VIR_DOMAIN_EVENT_SUSPENDED_PAUSED);