diff --git a/src/lib/eldbus/eldbus_core.c b/src/lib/eldbus/eldbus_core.c index 040fe4c1dc..a92d1e22a0 100644 --- a/src/lib/eldbus/eldbus_core.c +++ b/src/lib/eldbus/eldbus_core.c @@ -772,7 +772,8 @@ eldbus_idler(void *data) dbus_connection_ref(conn->dbus_conn); DBG("Connection@%p: Dispatching", conn); dbus_connection_dispatch(conn->dbus_conn); - dbus_connection_unref(conn->dbus_conn); + // add the if check as dispact may set conn->dbus_conn to NULL in a cb + if (conn->dbus_conn) dbus_connection_unref(conn->dbus_conn); return ECORE_CALLBACK_RENEW; } diff --git a/src/lib/ethumb_client/ethumb_client.c b/src/lib/ethumb_client/ethumb_client.c index cbd3c960fe..3d62fa1205 100644 --- a/src/lib/ethumb_client/ethumb_client.c +++ b/src/lib/ethumb_client/ethumb_client.c @@ -238,7 +238,7 @@ end_connection: obj = eldbus_proxy_object_get(client->proxy); eldbus_proxy_unref(client->proxy); eldbus_object_unref(obj); - eldbus_connection_unref(client->conn); + if (client->conn) eldbus_connection_unref(client->conn); if (client->connect.free_data) client->connect.free_data(client->connect.data);