On Wed, Jul 3, 2013 at 8:42 PM, Carsten Haitzler - Enlightenment Git < no-re...@enlightenment.org> wrote:
> raster pushed a commit to branch master. > > commit bdd57af1136dd6c81244c15b0456ec06d10fa59e > Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com> > Date: Thu Jul 4 08:41:45 2013 +0900 > > eldbus - only unref client conns that are not null after dispatch > --- > src/lib/eldbus/eldbus_core.c | 3 ++- > src/lib/ethumb_client/ethumb_client.c | 2 +- > 2 files changed, 3 insertions(+), 2 deletions(-) > > diff --git a/src/lib/eldbus/eldbus_core.c b/src/lib/eldbus/eldbus_core.c > index 040fe4c..a92d1e2 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); > Huuum I think should be better increase eldbus_connection reference before call dbus_connection_dispatch(). conn->dbus_conn only will be null if some cb remove the last reference of eldbus_connection, so this will ran invalid memory. I will fix this tomorrow at work. > return ECORE_CALLBACK_RENEW; > } > > diff --git a/src/lib/ethumb_client/ethumb_client.c > b/src/lib/ethumb_client/ethumb_client.c > index cbd3c96..3d62fa1 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); > > -- > > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by Windows: > > Build for Windows Store. > > http://p.sf.net/sfu/windows-dev2dev > ------------------------------------------------------------------------------ This SF.net email is sponsored by Windows: Build for Windows Store. http://p.sf.net/sfu/windows-dev2dev _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel