storage: fix crash in luks encrypted volume creation

Fix the case when creating a luks encrypted volume
via an xml file without 'secret' element.
libvirtd was receiving SIGSEGV, now proper error is reported for
the missing element.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1468422

Signed-off-by: Katerina Koukiou <kkoukiou@redhat.com>
This commit is contained in:
Katerina Koukiou 2018-06-06 16:15:19 +02:00
parent f982c92c8f
commit fab2e49d3c

View File

@ -1277,6 +1277,13 @@ storageBackendCreateQemuImgSecretPath(virStoragePoolObjPtr pool,
return NULL;
}
if (enc->nsecrets != 1) {
virReportError(VIR_ERR_INVALID_ARG, "%s",
_("A single <secret type='passphrase'...> "
"element is expected in encryption description"));
return NULL;
}
conn = virGetConnectSecret();
if (!conn)
return NULL;