From 016284c352084cdbf856905704070c1f30970f58 Mon Sep 17 00:00:00 2001 From: Djalal Harouni Date: Sat, 21 Dec 2013 15:49:46 +0100 Subject: [PATCH 1/1] loginctl: correctly show session IDs on session-status Commit f8f14b3654bcd introduced a regression that makes loginctl session-status to not show the correct session ID(s) In print_session_status_info() the map[] array, element "Seat" receives the offset of the "id" in "SessionStatusInfo" struct instead of the offset of the "seat" member. This will cause prop_map_first_of_struct() function to overwrite the SessionStatusInfo.id memory with seats if there are any. Fix this typo by using the "seat" member. Before: - tixxdz (1000) Since: Sat 2013-12-21 10:07:23 CET; 5h 26min ago Leader: 1265 (sshd) After: 1 - tixxdz (1000) Since: Sat 2013-12-21 10:07:23 CET; 5h 26min ago Leader: 1265 (sshd) --- src/login/loginctl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/login/loginctl.c b/src/login/loginctl.c index 7e6406647..914f31699 100644 --- a/src/login/loginctl.c +++ b/src/login/loginctl.c @@ -372,7 +372,7 @@ static int print_session_status_info(sd_bus *bus, const char *path, bool *new_li { "Remote", "b", NULL, offsetof(SessionStatusInfo, remote) }, { "Timestamp", "t", NULL, offsetof(SessionStatusInfo, timestamp) }, { "User", "(uo)", prop_map_first_of_struct, offsetof(SessionStatusInfo, uid) }, - { "Seat", "(so)", prop_map_first_of_struct, offsetof(SessionStatusInfo, id) }, + { "Seat", "(so)", prop_map_first_of_struct, offsetof(SessionStatusInfo, seat) }, {} }; @@ -419,7 +419,7 @@ static int print_session_status_info(sd_bus *bus, const char *path, bool *new_li printf("\n"); } - if (i.seat) { + if (!isempty(i.seat)) { printf("\t Seat: %s", i.seat); if (i.vtnr > 0) -- 2.30.2