[haiku-commits] haiku: hrev52780 - src/bin/multiuser

  • From: waddlesplash <waddlesplash@xxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Mon, 21 Jan 2019 10:52:22 -0500 (EST)

hrev52780 adds 1 changeset to branch 'master'
old head: 2876fb7c18d9e31813e8f5f7d7bb90dd2b0851bd
new head: ef916ff3b5680299e79d6cd2316daaecfe729ece
overview: 
https://git.haiku-os.org/haiku/log/?qt=range&q=ef916ff3b568+%5E2876fb7c18d9

----------------------------------------------------------------------------

ef916ff3b568: bin/multiuser: Fix PVS 1809 and 1896
  
  Replace memset() with explicit_bzero(), since compiler could delete
  memset() funnction call.
  
  Change-Id: I6d6ad991951f516cf94b6fdf1772715ef4a42822
  Reviewed-on: https://review.haiku-os.org/c/880
  Reviewed-by: waddlesplash <waddlesplash@xxxxxxxxx>

                                      [ Murai Takashi <tmurai01@xxxxxxxxx> ]

----------------------------------------------------------------------------

Revision:    hrev52780
Commit:      ef916ff3b5680299e79d6cd2316daaecfe729ece
URL:         https://git.haiku-os.org/haiku/commit/?id=ef916ff3b568
Author:      Murai Takashi <tmurai01@xxxxxxxxx>
Date:        Sat Jan 12 00:17:59 2019 UTC
Committer:   waddlesplash <waddlesplash@xxxxxxxxx>
Commit-Date: Mon Jan 21 15:52:19 2019 UTC

----------------------------------------------------------------------------

4 files changed, 9 insertions(+), 7 deletions(-)
src/bin/multiuser/Jamfile             | 8 +++++---
src/bin/multiuser/login.cpp           | 2 +-
src/bin/multiuser/multiuser_utils.cpp | 2 +-
src/bin/multiuser/passwd.cpp          | 4 ++--

----------------------------------------------------------------------------

diff --git a/src/bin/multiuser/Jamfile b/src/bin/multiuser/Jamfile
index fb81e3cc64..13306c51de 100644
--- a/src/bin/multiuser/Jamfile
+++ b/src/bin/multiuser/Jamfile
@@ -6,14 +6,16 @@ UsePrivateHeaders kernel ;
        # for <util/KMessage.h>
 UsePrivateHeaders libroot ;
 UsePrivateHeaders shared ;
+UseHeaders [ FDirName $(HAIKU_TOP) headers compatibility bsd ] : true ;
+SubDirC++Flags [ FDefines _BSD_SOURCE=1 ] ;
 
 StaticLibrary libmultiuser_utils.a : multiuser_utils.cpp ;
 
-BinCommand login : login.cpp : libmultiuser_utils.a ;
+BinCommand login : login.cpp : libmultiuser_utils.a libbsd.so ;
 
-BinCommand su : su.cpp : libmultiuser_utils.a ;
+BinCommand su : su.cpp : libmultiuser_utils.a libbsd.so ;
 
-BinCommand passwd : passwd.cpp : libmultiuser_utils.a ;
+BinCommand passwd : passwd.cpp : libmultiuser_utils.a libbsd.so ;
 
 BinCommand useradd : useradd.cpp ;
 
diff --git a/src/bin/multiuser/login.cpp b/src/bin/multiuser/login.cpp
index 37c01f0866..416daea353 100644
--- a/src/bin/multiuser/login.cpp
+++ b/src/bin/multiuser/login.cpp
@@ -91,7 +91,7 @@ login(const char* user, struct passwd** _passwd)
        struct spwd* spwd = getspnam(user);
 
        bool ok = verify_password(passwd, spwd, password);
-       memset(password, 0, sizeof(password));
+       explicit_bzero(password, sizeof(password));
 
        if (!ok)
                return B_PERMISSION_DENIED;
diff --git a/src/bin/multiuser/multiuser_utils.cpp 
b/src/bin/multiuser/multiuser_utils.cpp
index d8804b193f..d43b82ab0b 100644
--- a/src/bin/multiuser/multiuser_utils.cpp
+++ b/src/bin/multiuser/multiuser_utils.cpp
@@ -140,7 +140,7 @@ authenticate_user(const char* prompt, passwd* passwd, spwd* 
spwd, int maxTries,
 
                // check it
                bool ok = verify_password(passwd, spwd, plainPassword);
-               memset(plainPassword, 0, sizeof(plainPassword));
+               explicit_bzero(plainPassword, sizeof(plainPassword));
                if (ok)
                        return B_OK;
 
diff --git a/src/bin/multiuser/passwd.cpp b/src/bin/multiuser/passwd.cpp
index 33df0c54bd..3c47d25296 100644
--- a/src/bin/multiuser/passwd.cpp
+++ b/src/bin/multiuser/passwd.cpp
@@ -169,11 +169,11 @@ main(int argc, const char* const* argv)
                        exit(1);
                }
 
-               memset(repeatedPassword, 0, sizeof(repeatedPassword));
+               explicit_bzero(repeatedPassword, sizeof(repeatedPassword));
 
                // crypt it
                encryptedPassword = crypt(password, NULL);
-               memset(password, 0, sizeof(password));
+               explicit_bzero(password, sizeof(password));
        }
 
        // prepare request for the registrar


Other related posts:

  • » [haiku-commits] haiku: hrev52780 - src/bin/multiuser - waddlesplash