]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
lib/cmdline: Return if the commandline was redacted in samba_cmdline_burn()
authorAndrew Bartlett <abartlet@samba.org>
Fri, 21 Jul 2023 03:27:00 +0000 (15:27 +1200)
committerAndrew Bartlett <abartlet@samba.org>
Fri, 21 Jul 2023 05:23:32 +0000 (05:23 +0000)
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15289

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
lib/cmdline/cmdline.c
lib/cmdline/cmdline.h

index de34a798aaf8b2dac8263ef17a7126f714edb3cd..9ee2d2af954eb7108b83907f6c4dcd48a4e7db6e 100644 (file)
@@ -135,8 +135,9 @@ void samba_cmdline_set_machine_account_fn(
        cli_credentials_set_machine_account_fn = fn;
 }
 
-void samba_cmdline_burn(int argc, char *argv[])
+bool samba_cmdline_burn(int argc, char *argv[])
 {
+       bool burnt = false;
        bool found = false;
        bool is_user = false;
        char *p = NULL;
@@ -146,7 +147,7 @@ void samba_cmdline_burn(int argc, char *argv[])
        for (i = 0; i < argc; i++) {
                p = argv[i];
                if (p == NULL) {
-                       return;
+                       return false;
                }
 
                if (strncmp(p, "-U", 2) == 0) {
@@ -181,8 +182,10 @@ void samba_cmdline_burn(int argc, char *argv[])
                        memset_s(p, strlen(p), '\0', strlen(p));
                        found = false;
                        is_user = false;
+                       burnt = true;
                }
        }
+       return burnt;
 }
 
 static bool is_popt_table_end(const struct poptOption *o)
index 19d1503ac59b6fd4aafe037f7e23a6aa51bbcd93..ce5dd2392dfb6e24a5cbf13042b23b1587d48188 100644 (file)
@@ -147,8 +147,10 @@ void samba_cmdline_set_machine_account_fn(
  * @param[in]  argc     The number of arguments.
  *
  * @param[in]  argv[]   The argument array we should remove secrets from.
+ *
+ * @return true if a password was removed, false otherwise.
  */
-void samba_cmdline_burn(int argc, char *argv[]);
+bool samba_cmdline_burn(int argc, char *argv[]);
 
 /**
  * @brief Sanity check the command line options.