提交 b056e09b 编写于 作者: J John Ferlan

storage: Don't allow encryption secretPath to be NULL

Allowing a NULL @secretPath for virStorageBackendCreateQemuImgCmdFromVol
would result in a generated command line with a dangling "file=" output.
So let's make sure the @secretPath exists before processing.

This means we should pass a dummy path from the storage test.
Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
ACKed-by: NMichal Privoznik <mprivozn@redhat.com>
上级 5b603a78
...@@ -1233,6 +1233,11 @@ virStorageBackendCreateQemuImgCmdFromVol(virStoragePoolObjPtr pool, ...@@ -1233,6 +1233,11 @@ virStorageBackendCreateQemuImgCmdFromVol(virStoragePoolObjPtr pool,
if (info.format == VIR_STORAGE_FILE_RAW && vol->target.encryption && if (info.format == VIR_STORAGE_FILE_RAW && vol->target.encryption &&
vol->target.encryption->format == VIR_STORAGE_ENCRYPTION_FORMAT_LUKS) { vol->target.encryption->format == VIR_STORAGE_ENCRYPTION_FORMAT_LUKS) {
if (!info.secretPath) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("path to secret data file is required"));
goto error;
}
if (virAsprintf(&info.secretAlias, "%s_encrypt0", vol->name) < 0) if (virAsprintf(&info.secretAlias, "%s_encrypt0", vol->name) < 0)
goto error; goto error;
if (storageBackendCreateQemuImgSecretObject(cmd, info.secretPath, if (storageBackendCreateQemuImgSecretObject(cmd, info.secretPath,
......
...@@ -82,7 +82,7 @@ testCompareXMLToArgvFiles(bool shouldFail, ...@@ -82,7 +82,7 @@ testCompareXMLToArgvFiles(bool shouldFail,
cmd = virStorageBackendCreateQemuImgCmdFromVol(obj, vol, cmd = virStorageBackendCreateQemuImgCmdFromVol(obj, vol,
inputvol, flags, inputvol, flags,
create_tool, create_tool,
NULL); "/path/to/secretFile");
if (!cmd) { if (!cmd) {
if (shouldFail) { if (shouldFail) {
virResetLastError(); virResetLastError();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册