From 556eb1200a3754935f573ccffee87554bf9e9296 Mon Sep 17 00:00:00 2001
From: Sumit Bose <sbose@redhat.com>
Date: Mon, 10 Apr 2017 13:45:27 +0200
Subject: [PATCH 100/101] sbus: check connection for NULL before unregister it
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
There seem to be code paths where the data is a added to the hash before
the connection is properly initialized, to avoid core dump during shut
down we only call dbus_conection_unregister_object_path() if there is a
connection.
Resolves:
https://pagure.io/SSSD/sssd/issue/3367
Reviewed-by: Pavel Březina <pbrezina@redhat.com>
(cherry picked from commit 35186217d44d0138a1aedf7a4db72249b2c40e66)
---
src/sbus/sssd_dbus_interface.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/sbus/sssd_dbus_interface.c b/src/sbus/sssd_dbus_interface.c
index 1a11c6abcf23053e3b8c77f4d469d7c202a88eb8..c9007a4814e09e26fedaf605ca7313234d5ebf2c 100644
--- a/src/sbus/sssd_dbus_interface.c
+++ b/src/sbus/sssd_dbus_interface.c
@@ -490,7 +490,13 @@ sbus_opath_hash_delete_cb(hash_entry_t *item,
conn = talloc_get_type(pvt, struct sbus_connection);
path = sbus_opath_get_base_path(NULL, item->key.str);
- dbus_connection_unregister_object_path(conn->dbus.conn, path);
+ /* There seem to be code paths where the data is added to the hash
+ * before the connection is properly initialized, to avoid core dump
+ * during shut down we only call dbus_connection_unregister_object_path()
+ * if there is a connection. */
+ if (conn->dbus.conn != NULL) {
+ dbus_connection_unregister_object_path(conn->dbus.conn, path);
+ }
}
hash_table_t *
--
2.9.3