From b62b176be2c37a3edd0770449c5c089514200494 Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Thu, 26 Mar 2020 12:08:59 +0100 Subject: [PATCH] qemuSecurityChownCallback: Remove 'cleanup' section Treat the shortcut for chowning local files as a stand-alone section by returning success from it and refactor the rest so that the cleanup section is inline. Signed-off-by: Peter Krempa Reviewed-by: Pavel Mores --- src/qemu/qemu_driver.c | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index ff97f10f11..3d944d2713 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -268,24 +268,20 @@ qemuSecurityChownCallback(const virStorageSource *src, } if (chown(src->path, uid, gid) < 0) - goto cleanup; - } else { - if (!(cpy = virStorageSourceCopy(src, false))) - goto cleanup; - - /* src file init reports errors, return -2 on failure */ - if (virStorageFileInit(cpy) < 0) { - ret = -2; - goto cleanup; - } + return -1; - if (virStorageFileChown(cpy, uid, gid) < 0) - goto cleanup; + return 0; } - ret = 0; + if (!(cpy = virStorageSourceCopy(src, false))) + return -1; + + /* src file init reports errors, return -2 on failure */ + if (virStorageFileInit(cpy) < 0) + return -2; + + ret = virStorageFileChown(cpy, uid, gid); - cleanup: save_errno = errno; virStorageFileDeinit(cpy); errno = save_errno; -- GitLab