]> asedeno.scripts.mit.edu Git - PuTTY.git/commitdiff
Attempt to scrub -pw's argument in argv[], to make it less obvious.
authorJacob Nevins <jacobn@chiark.greenend.org.uk>
Sun, 25 Feb 2007 02:15:20 +0000 (02:15 +0000)
committerJacob Nevins <jacobn@chiark.greenend.org.uk>
Sun, 25 Feb 2007 02:15:20 +0000 (02:15 +0000)
[originally from svn r7323]

cmdline.c

index bdfa1aa2c60a6b6c7488dad9ce19535c62aae01e..033df64aeb72a0094d48a5faaf352c8f68a521b3 100644 (file)
--- a/cmdline.c
+++ b/cmdline.c
@@ -319,10 +319,15 @@ int cmdline_process_param(char *p, char *value, int need_save, Config *cfg)
        /* We delay evaluating this until after the protocol is decided,
         * so that we can warn if it's of no use with the selected protocol */
        if (cfg->protocol != PROT_SSH)
-           cmdline_error("The -pw option can only be used with the "
+           cmdline_error("the -pw option can only be used with the "
                          "SSH protocol");
-       else
-           cmdline_password = value;
+       else {
+           cmdline_password = dupstr(value);
+           /* Assuming that `value' is directly from argv, make a good faith
+            * attempt to trample it, to stop it showing up in `ps' output
+            * on Unix-like systems. Not guaranteed, of course. */
+           memset(value, 0, strlen(value));
+       }
     }
 
     if (!strcmp(p, "-agent") || !strcmp(p, "-pagent") ||