From 07731f9917c2961bb30606d3b52baad514679aca Mon Sep 17 00:00:00 2001 From: John Ferlan Date: Fri, 6 Oct 2017 12:12:38 -0400 Subject: [PATCH] storage: Add error path for virStorageBackendCreateQemuImgCmdFromVol Rather than inline the various free's and return NULL, just create an error label. --- src/storage/storage_util.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/src/storage/storage_util.c b/src/storage/storage_util.c index 4371963a53..52926adee7 100644 --- a/src/storage/storage_util.c +++ b/src/storage/storage_util.c @@ -1261,19 +1261,13 @@ virStorageBackendCreateQemuImgCmdFromVol(virConnectPtr conn, if (info.format == VIR_STORAGE_FILE_RAW && vol->target.encryption != NULL && vol->target.encryption->format == VIR_STORAGE_ENCRYPTION_FORMAT_LUKS) { - if (storageBackendCreateQemuImgSecretObject(cmd, vol, &info) < 0) { - VIR_FREE(info.secretAlias); - virCommandFree(cmd); - return NULL; - } + if (storageBackendCreateQemuImgSecretObject(cmd, vol, &info) < 0) + goto error; enc = &vol->target.encryption->encinfo; } - if (storageBackendCreateQemuImgSetOptions(cmd, imgformat, enc, info) < 0) { - VIR_FREE(info.secretAlias); - virCommandFree(cmd); - return NULL; - } + if (storageBackendCreateQemuImgSetOptions(cmd, imgformat, enc, info) < 0) + goto error; VIR_FREE(info.secretAlias); if (info.inputPath) @@ -1283,6 +1277,11 @@ virStorageBackendCreateQemuImgCmdFromVol(virConnectPtr conn, virCommandAddArgFormat(cmd, "%lluK", info.size_arg); return cmd; + + error: + VIR_FREE(info.secretAlias); + virCommandFree(cmd); + return NULL; } -- GitLab