From 5c50f0409882ad775b53793297a78dd2b9bdb1c0 Mon Sep 17 00:00:00 2001 From: Johan Hedberg Date: Tue, 30 Aug 2011 18:13:19 +0300 Subject: [PATCH] gobex: Protect against transfer_complete callback removing the transfer --- gobex/gobex-transfer.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gobex/gobex-transfer.c b/gobex/gobex-transfer.c index 3978c1375..be5ebcb0e 100644 --- a/gobex/gobex-transfer.c +++ b/gobex/gobex-transfer.c @@ -71,6 +71,9 @@ static void transfer_free(struct transfer *transfer) static void transfer_complete(struct transfer *transfer, GError *err) { transfer->complete_func(transfer->obex, err, transfer->user_data); + /* Check if the complete_func removed the transfer */ + if (g_slist_find(transfers, transfer) == NULL) + return; transfer_free(transfer); } -- 2.47.3