aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDag-Erling Smørgrav <des@FreeBSD.org>2002-04-27 21:58:23 +0000
committerDag-Erling Smørgrav <des@FreeBSD.org>2002-04-27 21:58:23 +0000
commitc552e298cb2544520538ae47f1054251b59038b6 (patch)
tree6044b09fc256f650cfe6bb22a29df5c9da4ac048 /lib
parent8c93421144f9ba739b13896f3d0f533038789acc (diff)
Notes
Diffstat (limited to 'lib')
-rw-r--r--lib/libypclnt/ypclnt_passwd.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/libypclnt/ypclnt_passwd.c b/lib/libypclnt/ypclnt_passwd.c
index d766e25c6fdf..61e6f7b38749 100644
--- a/lib/libypclnt/ypclnt_passwd.c
+++ b/lib/libypclnt/ypclnt_passwd.c
@@ -178,7 +178,10 @@ yppasswd_local(ypclnt_t *ypclnt, const struct passwd *pwd, const char *passwd)
if (nc != NULL)
freenetconfigent(nc);
free(yppwd.newpw.pw_name);
- free(yppwd.newpw.pw_passwd);
+ if (yppwd.newpw.pw_passwd != NULL) {
+ memset(yppwd.newpw.pw_passwd, 0, strlen(yppwd.newpw.pw_passwd));
+ free(yppwd.newpw.pw_passwd);
+ }
free(yppwd.newpw.pw_class);
free(yppwd.newpw.pw_gecos);
free(yppwd.newpw.pw_dir);
@@ -255,7 +258,10 @@ yppasswd_remote(ypclnt_t *ypclnt, const struct passwd *pwd, const char *passwd)
clnt_destroy(clnt);
}
free(yppwd.newpw.pw_name);
- free(yppwd.newpw.pw_passwd);
+ if (yppwd.newpw.pw_passwd != NULL) {
+ memset(yppwd.newpw.pw_passwd, 0, strlen(yppwd.newpw.pw_passwd));
+ free(yppwd.newpw.pw_passwd);
+ }
free(yppwd.newpw.pw_gecos);
free(yppwd.newpw.pw_dir);
free(yppwd.newpw.pw_shell);