From 3a96e87303003981c30f1699c6ec3b0c32101b9f Mon Sep 17 00:00:00 2001 From: Boram Park Date: Wed, 3 Apr 2013 17:25:49 +0900 Subject: [PATCH] fix: xorg crash by referencing null pointer Change-Id: If7cbc8ff35d99281930fc030d156b1d9472ffbd6 --- dbus/xdbg_dbus_server.c | 6 +++--- module/xdbg_module.c | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/dbus/xdbg_dbus_server.c b/dbus/xdbg_dbus_server.c index 1a8e95a..b8c1961 100755 --- a/dbus/xdbg_dbus_server.c +++ b/dbus/xdbg_dbus_server.c @@ -199,8 +199,6 @@ _xDbgDBusServerWakeupHandler (pointer data, int error, pointer pRead) if (FD_ISSET(info->fd, (fd_set*)pRead)) { - dbus_connection_ref (info->conn); - do { dbus_connection_read_write_dispatch (info->conn, 0); } while (info->conn && @@ -208,7 +206,9 @@ _xDbgDBusServerWakeupHandler (pointer data, int error, pointer pRead) dbus_connection_get_dispatch_status (info->conn) == DBUS_DISPATCH_DATA_REMAINS); - dbus_connection_unref (info->conn); + /* DON'T use info->conn from here. info->conn becomes NULL by + * dbus_connection_read_write_dispatch(_xDbgDBusServerMsgFilter) + */ } } diff --git a/module/xdbg_module.c b/module/xdbg_module.c index b9ea47f..eb5c35e 100644 --- a/module/xdbg_module.c +++ b/module/xdbg_module.c @@ -114,4 +114,5 @@ xDbgModuleSetup (pointer module, pointer opts, int *errmaj, int *errmin) void xDbgModuleTearDown (pointer module) { + xDbgModuleMainExit (module); } -- 2.7.4