# HG changeset patch
# User Heidi Eckhart <heidieck(a)linux.vnet.ibm.com>
# Date 1201773643 -3600
# Node ID 277d2b8395e2460a355973309ed14c06e1ef9038
# Parent 2920e184226248f7885dd87a28e30eb1a90005c9
Device: getInstance with wrong hypervisor segfaults
wbemgi
'http://localhost:5988/root/virt:Xen_LogicalDisk.DeviceID="qemu1/hda",CreationClassName="KVM_LogicalDisk",SystemName="qemu1",SystemCreationClassName=""'
on a KVM system segfaults.
Signed-off-by: Heidi Eckhart <heidieck(a)linux.vnet.ibm.com>
diff -r 2920e1842262 -r 277d2b8395e2 src/Virt_Device.c
--- a/src/Virt_Device.c Wed Jan 30 10:52:58 2008 -0800
+++ b/src/Virt_Device.c Thu Jan 31 11:00:43 2008 +0100
@@ -464,8 +464,12 @@ static CMPIStatus get_device(const CMPIO
cn = CLASSNAME(reference);
conn = connect_by_classname(_BROKER, cn, &s);
- if (!conn)
- return s;
+ if (conn == NULL) {
+ cu_statusf(_BROKER, &s,
+ CMPI_RC_ERR_NOT_FOUND,
+ "No such instance");
+ goto out;
+ }
inst = instance_from_devid(_BROKER,
conn,
@@ -481,6 +485,7 @@ static CMPIStatus get_device(const CMPIO
"Unable to get device instance");
}
+ out:
virConnectClose(conn);
return s;