diff options
author | Stephen Gallagher <sgallagh@redhat.com> | 2008-10-28 09:10:01 -0400 |
---|---|---|
committer | Simo Sorce <idra@samba.org> | 2008-11-03 10:12:29 -0500 |
commit | 0d3fad824641eabd2e856f7b4aa7828367bba5fa (patch) | |
tree | 78ac333a9e9a5d38962d34a79ea695f1fc17171f /server/dbus/sssd_dbus_server.c | |
parent | f95d98094c3872199eaed59da48a76c44d0e0531 (diff) | |
download | sssd-0d3fad824641eabd2e856f7b4aa7828367bba5fa.tar.gz sssd-0d3fad824641eabd2e856f7b4aa7828367bba5fa.tar.bz2 sssd-0d3fad824641eabd2e856f7b4aa7828367bba5fa.zip |
Fixed segfault issue when remote connection is lost.
Diffstat (limited to 'server/dbus/sssd_dbus_server.c')
-rw-r--r-- | server/dbus/sssd_dbus_server.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/server/dbus/sssd_dbus_server.c b/server/dbus/sssd_dbus_server.c index 6ad8e0dd..c6bc7db9 100644 --- a/server/dbus/sssd_dbus_server.c +++ b/server/dbus/sssd_dbus_server.c @@ -252,10 +252,20 @@ static void new_connection_callback(DBusServer *server, DBusConnection *conn, { struct dbus_server_toplevel_context *dst_ctx; DBusObjectPathVTable *monitor_vtable; + int *connection_type; int ret; dst_ctx = talloc_get_type(data,struct dbus_server_toplevel_context); + if (!dbus_connection_allocate_data_slot(&connection_type_slot)) { + dbus_connection_close(conn); + return; + } + + connection_type = talloc(dst_ctx, int); + *connection_type = DBUS_CONNECTION_TYPE_PRIVATE; + dbus_connection_set_data(conn, connection_type_slot, connection_type, talloc_free); + ret = sssd_add_dbus_connection(dst_ctx->sd_ctx, conn); if (ret != 0) { dbus_connection_close(conn); |