summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2012-04-05 14:02:17 -0400
committerRay Strode <rstrode@redhat.com>2012-04-05 14:31:18 -0400
commit522ef48a5566db0f8d8d6c80062b6ff63de0eaae (patch)
treec891bfc80a9d2bda4937fc60d185c19335f53ddb
parentabd78a5a184f012aecdb8b3795b91c854e1fbece (diff)
lib: handle when get_sessions() returns NULL more gracefully
sd_get_sessions() can return NULL in some rare cases, so make sure we don't fall over when it does.
-rw-r--r--src/libaccountsservice/act-user-manager.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/libaccountsservice/act-user-manager.c b/src/libaccountsservice/act-user-manager.c
index 022690f..11bc859 100644
--- a/src/libaccountsservice/act-user-manager.c
+++ b/src/libaccountsservice/act-user-manager.c
@@ -1594,11 +1594,13 @@ reload_systemd_sessions (ActUserManager *manager)
_remove_stale_systemd_sessions (manager, systemd_sessions);
g_hash_table_unref (systemd_sessions);
- for (i = 0; sessions[i]; i ++) {
- free (sessions[i]);
- }
+ if (sessions != NULL) {
+ for (i = 0; sessions[i]; i ++) {
+ free (sessions[i]);
+ }
- free (sessions);
+ free (sessions);
+ }
}
#endif