diff --git a/src/daemon.c b/src/daemon.c index aa9d050..078f807 100644 --- a/src/daemon.c +++ b/src/daemon.c @@ -292,7 +292,7 @@ entry_generator_fgetpwent (Daemon *daemon, generator_state = g_malloc0 (sizeof(*generator_state)); generator_state->fp = fp; - generator_state->shadow_users = shadow_users; + generator_state->shadow_users = NULL; *state = generator_state; } @@ -572,9 +572,11 @@ reload_users (Daemon *daemon) g_hash_table_iter_init (&iter, users); while (g_hash_table_iter_next (&iter, &name, &value)) { User *user = value; - if (!user_get_system_account (user)) + if (!user_get_system_account (user)) { number_of_normal_users++; - user_update_local_account_property (user, g_hash_table_contains (local_users, name)); + } else { + user_update_local_account_property (user, g_hash_table_contains (local_users, name)); + } } g_clear_pointer (&local_users, g_hash_table_destroy);