diff options
author | Ray Strode <rstrode@redhat.com> | 2012-04-05 14:02:17 -0400 |
---|---|---|
committer | Ray Strode <rstrode@redhat.com> | 2012-04-05 14:31:18 -0400 |
commit | 522ef48a5566db0f8d8d6c80062b6ff63de0eaae (patch) | |
tree | c891bfc80a9d2bda4937fc60d185c19335f53ddb | |
parent | abd78a5a184f012aecdb8b3795b91c854e1fbece (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.c | 10 |
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 |