Skip to content

Commit 2e38f67

Browse files
authored
Merge pull request #27 from fasuizu-br/fix/issue-21-empty-session-id
Add empty session_id guard in logout() fallback
2 parents 5ddc9b0 + 146e831 commit 2e38f67

File tree

1 file changed

+15
-10
lines changed

1 file changed

+15
-10
lines changed

src/linux.rs

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -337,16 +337,21 @@ pub fn logout() -> ShutdownResult {
337337
} // show_dialog - true, allow_save - true
338338

339339
let session_id = get_session_id();
340-
if !session_id.is_empty() {
341-
if dbus_send(
342-
"org.freedesktop.login1",
343-
"/org/freedesktop/login1",
344-
"org.freedesktop.login1.Manager",
345-
"TerminateSession",
346-
&(session_id),
347-
) {
348-
return Ok(());
349-
}
340+
if session_id.is_empty() {
341+
return Err(Error::new(
342+
ErrorKind::Other,
343+
"could not determine session ID for logout",
344+
));
345+
}
346+
347+
if dbus_send(
348+
"org.freedesktop.login1",
349+
"/org/freedesktop/login1",
350+
"org.freedesktop.login1.Manager",
351+
"TerminateSession",
352+
&session_id,
353+
) {
354+
return Ok(());
350355
}
351356

352357
// As a last resort

0 commit comments

Comments
 (0)