summaryrefslogtreecommitdiff
path: root/src/lib/ethumb_client
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2014-08-10 13:26:33 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2014-08-10 13:26:33 +0900
commit8dcc52984c137b0aa4e673b86039f1da3370ea91 (patch)
treee1f22c6d43cacd00f615a4a178cf08ad92b38ad1 /src/lib/ethumb_client
parent3b24c6ce91c8bbf177a4b1b88ce953d3b59ac6af (diff)
ethumb client - fix access to pending struct that has been freed
th pending cancel may call callbacks... which can mess with the list and thus the pending_add we have, sso do our work before calling this (like set pending_call to NULL).
Diffstat (limited to 'src/lib/ethumb_client')
-rw-r--r--src/lib/ethumb_client/ethumb_client.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/lib/ethumb_client/ethumb_client.c b/src/lib/ethumb_client/ethumb_client.c
index dbc9681ac4..fa5ff54ef7 100644
--- a/src/lib/ethumb_client/ethumb_client.c
+++ b/src/lib/ethumb_client/ethumb_client.c
@@ -1112,8 +1112,12 @@ ethumb_client_generate_cancel(Ethumb_Client *client, int id, Ethumb_Client_Gener
1112 continue; 1112 continue;
1113 } 1113 }
1114 if (pending_add->pending_call) 1114 if (pending_add->pending_call)
1115 eldbus_pending_cancel(pending_add->pending_call); 1115 {
1116 pending_add->pending_call = NULL; 1116 Eldbus_Pending *call = pending_add->pending_call;
1117
1118 pending_add->pending_call = NULL;
1119 eldbus_pending_cancel(call);
1120 }
1117 found = 1; 1121 found = 1;
1118 break; 1122 break;
1119 } 1123 }