Index: login_chpass/login_chpass.c
===================================================================
RCS file: /cvs/src/libexec/login_chpass/login_chpass.c,v
retrieving revision 1.16
diff -u -p -r1.16 login_chpass.c
--- login_chpass/login_chpass.c 4 Dec 2012 02:24:47 -0000       1.16
+++ login_chpass/login_chpass.c 5 Feb 2014 15:44:26 -0000
@@ -208,7 +208,7 @@ yp_chpass(char *username)
                            pwd_gensalt(salt, sizeof(salt), lc, 'y') == 0)
                                strlcpy(salt, "xx", sizeof(salt));
                        crypt(p, salt);
-                       memset(p, 0, strlen(p));
+                       explicit_bzero(p, strlen(p));
                }
                warnx("YP passwd database unchanged.");
                exit(1);
Index: login_lchpass/login_lchpass.c
===================================================================
RCS file: /cvs/src/libexec/login_lchpass/login_lchpass.c,v
retrieving revision 1.14
diff -u -p -r1.14 login_lchpass.c
--- login_lchpass/login_lchpass.c       4 Dec 2012 02:24:47 -0000       1.14
+++ login_lchpass/login_lchpass.c       5 Feb 2014 15:44:27 -0000
@@ -136,7 +136,7 @@ main(int argc, char *argv[])
                exit(1);
 
        salt = crypt(p, salt);
-       memset(p, 0, strlen(p));
+       explicit_bzero(p, strlen(p));
        if (!pwd || strcmp(salt, pwd->pw_passwd) != 0)
                exit(1);
 
Index: login_passwd/login.c
===================================================================
RCS file: /cvs/src/libexec/login_passwd/login.c,v
retrieving revision 1.10
diff -u -p -r1.10 login.c
--- login_passwd/login.c        1 Jun 2012 01:43:19 -0000       1.10
+++ login_passwd/login.c        5 Feb 2014 15:44:27 -0000
@@ -158,7 +158,7 @@ main(int argc, char **argv)
 #endif
 
        if (password != NULL)
-               memset(password, 0, strlen(password));
+               explicit_bzero(password, strlen(password));
        if (ret != AUTH_OK)
                fprintf(back, BI_REJECT "\n");
 
Index: login_passwd/login_passwd.c
===================================================================
RCS file: /cvs/src/libexec/login_passwd/login_passwd.c,v
retrieving revision 1.9
diff -u -p -r1.9 login_passwd.c
--- login_passwd/login_passwd.c 9 Mar 2006 19:14:10 -0000       1.9
+++ login_passwd/login_passwd.c 5 Feb 2014 15:44:27 -0000
@@ -62,7 +62,7 @@ pwd_login(char *username, char *password
 
        salt = crypt(password, salt);
        plen = strlen(password);
-       memset(password, 0, plen);
+       explicit_bzero(password, plen);
 
        /*
         * Authentication fails if the user does not exist in the password
Index: login_tis/login_tis.c
===================================================================
RCS file: /cvs/src/libexec/login_tis/login_tis.c,v
retrieving revision 1.11
diff -u -p -r1.11 login_tis.c
--- login_tis/login_tis.c       4 Dec 2012 02:24:47 -0000       1.11
+++ login_tis/login_tis.c       5 Feb 2014 15:44:27 -0000
@@ -394,8 +394,8 @@ tis_getkey(struct tis_connection *tc)
        }
        DES_string_to_key(key, &cblock);
        error = DES_set_key(&cblock, &tc->keysched);
-       memset(key, 0, len);
-       memset(&cblock, 0, sizeof(cblock));
+       explicit_bzero(key, len);
+       explicit_bzero(&cblock, sizeof(cblock));
        free(tbuf);
        return (error);
 }
@@ -507,10 +507,10 @@ tis_recv(struct tis_connection *tc, u_ch
                    len, &ks, &iv, DES_DECRYPT);
                if (strlcpy(buf, tbuf, bufsiz) >= bufsiz) {
                        syslog(LOG_ERR, "unencrypted data too large to store");
-                       memset(tbuf, 0, sizeof(tbuf));
+                       explicit_bzero(tbuf, sizeof(tbuf));
                        return (-1);
                }
-               memset(tbuf, 0, sizeof(tbuf));
+               explicit_bzero(tbuf, sizeof(tbuf));
        }
        return (len);
 }
@@ -656,7 +656,7 @@ tis_authorize(struct tis_connection *tc,
                syslog(LOG_ERR, "unexpected response from authsrv: %s", obuf);
                resp = error;
        }
-       memset(buf, 0, sizeof(buf));
+       explicit_bzero(buf, sizeof(buf));
 
        return (resp);
 }
@@ -684,10 +684,10 @@ tis_verify(struct tis_connection *tc, co
        if (strncmp(buf, "ok", 2) == 0) {
                if (buf[2] != '\0')
                        strlcpy(ebuf, buf + 3, TIS_BUFSIZ);
-               memset(buf, 0, sizeof(buf));
+               explicit_bzero(buf, sizeof(buf));
                return (0);
        }
        strlcpy(ebuf, buf, TIS_BUFSIZ);
-       memset(buf, 0, sizeof(buf));
+       explicit_bzero(buf, sizeof(buf));
        return (-1);
 }
Index: login_yubikey/login_yubikey.c
===================================================================
RCS file: /cvs/src/libexec/login_yubikey/login_yubikey.c,v
retrieving revision 1.8
diff -u -p -r1.8 login_yubikey.c
--- login_yubikey/login_yubikey.c       27 Nov 2013 21:25:25 -0000      1.8
+++ login_yubikey/login_yubikey.c       5 Feb 2014 15:44:27 -0000
@@ -152,7 +152,7 @@ main(int argc, char *argv[])
        }
 
        ret = yubikey_login(username, password);
-       memset(password, 0, strlen(password));
+       explicit_bzero(password, strlen(password));
        if (ret == AUTH_OK) {
                syslog(LOG_INFO, "user %s: authorize", username);
                fprintf(f, "%s\n", BI_AUTH);

Reply via email to