[PATCH 07/14] cmdSecretSetValue: Make it obvious that --file, --base64 and --interactive are exlcusive

Peter Krempa pkrempa at redhat.com
Mon Feb 1 13:38:59 UTC 2021


Convert the conditions to else if so that it's obvious that only one of
the cases will ever be used.

Signed-off-by: Peter Krempa <pkrempa at redhat.com>
---
 tools/virsh-secret.c | 19 +++++++------------
 1 file changed, 7 insertions(+), 12 deletions(-)

diff --git a/tools/virsh-secret.c b/tools/virsh-secret.c
index 16accc8ad2..5d656151e8 100644
--- a/tools/virsh-secret.c
+++ b/tools/virsh-secret.c
@@ -225,16 +225,10 @@ cmdSecretSetValue(vshControl *ctl, const vshCmd *cmd)
     if (vshCommandOptStringReq(ctl, cmd, "file", &filename) < 0)
         return false;

-    if (!base64 && !filename && !interactive) {
-        vshError(ctl, _("Input secret value is missing"));
-        return false;
-    }
-
-    /* warn users that the --base64 option passed from command line is wrong */
-    if (base64)
+    if (base64) {
+        /* warn users that the --base64 option passed from command line is wrong */
         vshError(ctl, _("Passing secret value as command-line argument is insecure!"));
-
-    if (filename) {
+    } else if (filename) {
         ssize_t read_ret;
         if ((read_ret = virFileReadAll(filename, 1024, &file_buf)) < 0) {
             vshSaveLibvirtError();
@@ -243,9 +237,7 @@ cmdSecretSetValue(vshControl *ctl, const vshCmd *cmd)

         file_len = read_ret;
         base64 = file_buf;
-    }
-
-    if (interactive) {
+    } else if (interactive) {
         vshPrint(ctl, "%s", _("Enter new value for secret:"));
         fflush(stdout);

@@ -255,6 +247,9 @@ cmdSecretSetValue(vshControl *ctl, const vshCmd *cmd)
         }
         file_len = strlen(file_buf);
         plain = true;
+    } else {
+        vshError(ctl, _("Input secret value is missing"));
+        return false;
     }

     if (plain) {
-- 
2.29.2




More information about the libvir-list mailing list