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