raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=d37958c1b0b005b8f04a6ee951d83f6af6e79689
commit d37958c1b0b005b8f04a6ee951d83f6af6e79689 Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com> Date: Sun Jan 24 15:59:55 2021 +0000 ethumb - fix asan complaint on mis-accessing struct after free in client @fix --- src/lib/ethumb_client/ethumb_client.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/lib/ethumb_client/ethumb_client.c b/src/lib/ethumb_client/ethumb_client.c index 1175402887..70e56bce94 100644 --- a/src/lib/ethumb_client/ethumb_client.c +++ b/src/lib/ethumb_client/ethumb_client.c @@ -204,6 +204,7 @@ _ethumb_client_free(Ethumb_Client *client) if (client->invalid) return; + if (client->dbus_pending) { Eldbus_Pending *pending; EINA_LIST_FREE(client->dbus_pending, pending) @@ -216,8 +217,11 @@ _ethumb_client_free(Ethumb_Client *client) struct _ethumb_pending_add *pending = data; if (pending->pending_call) { - eldbus_pending_cancel(pending->pending_call); + Eldbus_Pending *call = pending->pending_call; + + pending->pending_call = NULL; pending->client = NULL; + eldbus_pending_cancel(call); } else { @@ -245,8 +249,11 @@ _ethumb_client_free(Ethumb_Client *client) pending->free_data(pending->data); if (pending->pending_call) { - eldbus_pending_cancel(pending->pending_call); + Eldbus_Pending *call = pending->pending_call; + + pending->pending_call = NULL; pending->client = NULL; + eldbus_pending_cancel(call); } else { --