diff --git a/Userland/Libraries/LibCore/Account.cpp b/Userland/Libraries/LibCore/Account.cpp index d46bb80731..106773b702 100644 --- a/Userland/Libraries/LibCore/Account.cpp +++ b/Userland/Libraries/LibCore/Account.cpp @@ -188,9 +188,9 @@ bool Account::login() const return true; } -void Account::set_password(const char* password) +void Account::set_password(SecretString const& password) { - m_password_hash = crypt(password, get_salt().characters()); + m_password_hash = crypt(password.characters(), get_salt().characters()); } void Account::set_password_enabled(bool enabled) diff --git a/Userland/Libraries/LibCore/Account.h b/Userland/Libraries/LibCore/Account.h index d0c3360575..ade6fec5c0 100644 --- a/Userland/Libraries/LibCore/Account.h +++ b/Userland/Libraries/LibCore/Account.h @@ -45,7 +45,7 @@ public: // Setters only affect in-memory copy of password. // You must call sync to apply changes. - void set_password(const char* password); + void set_password(SecretString const& password); void set_password_enabled(bool enabled); void set_home_directory(const char* home_directory) { m_home_directory = home_directory; } void set_uid(uid_t uid) { m_uid = uid; } diff --git a/Userland/Utilities/passwd.cpp b/Userland/Utilities/passwd.cpp index 12032a0c89..952d9b2914 100644 --- a/Userland/Utilities/passwd.cpp +++ b/Userland/Utilities/passwd.cpp @@ -121,7 +121,7 @@ int main(int argc, char** argv) return 1; } - target_account.set_password(new_password.value().characters()); + target_account.set_password(new_password.value()); } if (pledge("stdio wpath rpath cpath fattr", nullptr) < 0) {