]> git.ozlabs.org Git - ppp.git/blobdiff - pppd/options.c
pppd: Obfuscate password argument string
[ppp.git] / pppd / options.c
index 5db580a0e270c0628fb99d1400423599a1f0ce5e..aecb930249b636035ab6a47330dac4637f4bc865 100644 (file)
@@ -79,7 +79,6 @@
 char *strdup __P((char *));
 #endif
 
-static const char rcsid[] = RCSID;
 
 struct option_value {
     struct option_value *next;
@@ -802,6 +801,11 @@ process_option(opt, cmd, argv)
                free(*optptr);
            *optptr = sv;
        }
+       /* obfuscate original argument for things like password */
+       if (opt->flags & OPT_HIDE) {
+           memset(*argv, '?', strlen(*argv));
+           *argv = "********";
+       }
        break;
 
     case o_special_noarg:
@@ -1358,6 +1362,7 @@ getword(f, word, newlinep, filename)
 
        c = getc(f);
     }
+    word[MAXWORDLEN-1] = 0;    /* make sure word is null-terminated */
 
     /*
      * End of the word: check for errors.