diff options
Diffstat (limited to 'Userland/Libraries/LibCore/Account.cpp')
-rw-r--r-- | Userland/Libraries/LibCore/Account.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/Userland/Libraries/LibCore/Account.cpp b/Userland/Libraries/LibCore/Account.cpp index 647688d72a..68de38c562 100644 --- a/Userland/Libraries/LibCore/Account.cpp +++ b/Userland/Libraries/LibCore/Account.cpp @@ -231,6 +231,8 @@ ErrorOr<DeprecatedString> Account::generate_passwd_file() const break; if (pwd->pw_name == m_username) { + if (m_deleted) + continue; builder.appendff("{}:!:{}:{}:{}:{}:{}\n", m_username, m_uid, m_gid, @@ -259,9 +261,11 @@ ErrorOr<DeprecatedString> Account::generate_shadow_file() const struct spwd* p; errno = 0; while ((p = getspent())) { - if (p->sp_namp == m_username) + if (p->sp_namp == m_username) { + if (m_deleted) + continue; builder.appendff("{}:{}", m_username, m_password_hash); - else + } else builder.appendff("{}:{}", p->sp_namp, p->sp_pwdp); builder.appendff(":{}:{}:{}:{}:{}:{}:{}\n", |