From 5d8efff2910d448a0df220d8e38efc72875aa730 Mon Sep 17 00:00:00 2001 From: Ben Chan Date: Fri, 13 Sep 2013 23:14:45 -0700 Subject: [PATCH] iface-modem: free GError when interface initialization is cancelled This patch fixes an assertion failure 'ctx->fatal_error == NULL' in initialization_context_complete_and_free(), which happens if 'fatal_error' of the initialization context is set during the modem interface initialization and the initialization is later cancelled. --- src/mm-iface-modem.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/mm-iface-modem.c b/src/mm-iface-modem.c index c5990509..748a7206 100644 --- a/src/mm-iface-modem.c +++ b/src/mm-iface-modem.c @@ -3530,6 +3530,12 @@ initialization_context_complete_and_free_if_cancelled (InitializationContext *ct if (!g_cancellable_is_cancelled (ctx->cancellable)) return FALSE; + /* Simply ignore any fatal error encountered as the initialization is cancelled anyway. */ + if (ctx->fatal_error) { + g_error_free (ctx->fatal_error); + ctx->fatal_error = NULL; + } + g_simple_async_result_set_error (ctx->result, MM_CORE_ERROR, MM_CORE_ERROR_CANCELLED,