From 600cc2dff859aac525d62000316d957846da4a66 Mon Sep 17 00:00:00 2001 From: Chao Liu Date: Tue, 7 May 2024 03:42:34 +0000 Subject: [PATCH 1/2] uptime: Fix uptime return 0 user when systemd-pam is not installed When systemd-pam is not installed, systemd won't create files in /run/systemd/sessions/ and sd_get_sessions will return 0. However, the actual number of users is not 0. When sd_get_sessions return 0, uptime should use getutxent for statistics. --- library/uptime.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/library/uptime.c b/library/uptime.c index 52720cbc..0db38ee5 100644 --- a/library/uptime.c +++ b/library/uptime.c @@ -71,7 +71,9 @@ PROCPS_EXPORT int procps_users(void) #if defined(WITH_SYSTEMD) || defined(WITH_ELOGIND) if (sd_booted() > 0) - return sd_get_sessions(NULL); + numuser = sd_get_sessions(NULL); + if (numuser > 0) + return numuser; #endif setutent(); -- 2.33.0