982648
From 62d0406b726b0d62cb136924e7dce2a2fd364ec6 Mon Sep 17 00:00:00 2001
982648
Message-Id: <62d0406b726b0d62cb136924e7dce2a2fd364ec6@dist-git>
982648
From: Peter Krempa <pkrempa@redhat.com>
982648
Date: Tue, 3 Jul 2018 16:48:38 +0200
982648
Subject: [PATCH] qemu: hotplug: Don't access srcPriv when it's not allocated
982648
982648
The private data of a virStorageSource which is backing an iSCSI hostdev
982648
may be NULL if no authentication is present. The code handling the
982648
hotplug would attempt to extract the authentication info stored in
982648
'secinfo' without checking if it is allocated which resulted in a crash.
982648
982648
Here we opt the easy way to check if srcPriv is not NULL so that we
982648
don't duplicate all the logic which selects whether the disk source has
982648
a secret.
982648
982648
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1597550
982648
982648
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
982648
Reviewed-by: John Ferlan <jferlan@redhat.com>
982648
(cherry picked from commit 33a475056fdd76c030528982e422bae79c0a0e4a)
982648
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
982648
---
982648
 src/qemu/qemu_hotplug.c | 3 ++-
982648
 1 file changed, 2 insertions(+), 1 deletion(-)
982648
982648
diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
982648
index fcd8eb0ffa..075f2fb72e 100644
982648
--- a/src/qemu/qemu_hotplug.c
982648
+++ b/src/qemu/qemu_hotplug.c
982648
@@ -2240,7 +2240,8 @@ qemuDomainAttachHostSCSIDevice(virQEMUDriverPtr driver,
982648
     if (scsisrc->protocol == VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE_ISCSI) {
982648
         qemuDomainStorageSourcePrivatePtr srcPriv =
982648
             QEMU_DOMAIN_STORAGE_SOURCE_PRIVATE(scsisrc->u.iscsi.src);
982648
-        secinfo = srcPriv->secinfo;
982648
+        if (srcPriv)
982648
+            secinfo = srcPriv->secinfo;
982648
     }
982648
 
982648
     if (secinfo && secinfo->type == VIR_DOMAIN_SECRET_INFO_TYPE_AES) {
982648
-- 
982648
2.18.0
982648