diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/util/sss_semanage.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/util/sss_semanage.c b/src/util/sss_semanage.c index 01a2f41d8..d1d03988c 100644 --- a/src/util/sss_semanage.c +++ b/src/util/sss_semanage.c @@ -70,8 +70,13 @@ static void sss_semanage_error_callback(void *varg, static void sss_semanage_close(semanage_handle_t *handle) { - /* Calling disconnect on a disconnected handle is safe */ - semanage_disconnect(handle); + if (handle == NULL) { + return; /* semanage uses asserts */ + } + + if (semanage_is_connected(handle)) { + semanage_disconnect(handle); + } semanage_handle_destroy(handle); } |