File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -429,16 +429,31 @@ gsm_systemd_is_last_session_for_user (GsmSystemd *manager)
429429 gboolean is_last_session ;
430430 int ret , i ;
431431
432+ #ifdef HAVE_SYSTEMD
432433 ret = sd_pid_get_session (getpid (), & session );
434+ #endif
435+
436+ if (session == NULL ) {
437+ return FALSE;
438+ }
433439
434440 if (ret != 0 ) {
441+ free (session );
435442 return FALSE;
436443 }
437444
445+ #ifdef HAVE_SYSTEMD
438446 ret = sd_uid_get_sessions (getuid (), FALSE, & sessions );
447+ #endif
448+
449+ if (sessions == NULL ) {
450+ free (session );
451+ return FALSE;
452+ }
439453
440454 if (ret <= 0 ) {
441455 free (session );
456+ free (sessions );
442457 return FALSE;
443458 }
444459
@@ -450,7 +465,9 @@ gsm_systemd_is_last_session_for_user (GsmSystemd *manager)
450465 if (g_strcmp0 (sessions [i ], session ) == 0 )
451466 continue ;
452467
468+ #ifdef HAVE_SYSTEMD
453469 ret = sd_session_get_state (sessions [i ], & state );
470+ #endif
454471
455472 if (ret != 0 )
456473 continue ;
@@ -461,7 +478,9 @@ gsm_systemd_is_last_session_for_user (GsmSystemd *manager)
461478 }
462479 free (state );
463480
481+ #ifdef HAVE_SYSTEMD
464482 ret = sd_session_get_type (sessions [i ], & type );
483+ #endif
465484
466485 if (ret != 0 )
467486 continue ;
You can’t perform that action at this time.
0 commit comments