From 746cf54b112b223b9712453fe9b154c04acb8c4b Mon Sep 17 00:00:00 2001 From: Aleksander Morgado Date: Tue, 26 Jun 2018 16:36:11 +0200 Subject: [PATCH] broadband-modem-qmi: fix segfault due to NULL task context ModemManager[18223]: [1530023432.028473] Modem has 3GPP capabilities, enabling the Modem 3GPP interface... Thread 1 "ModemManager" received signal SIGSEGV, Segmentation fault. 0x0000555555618baa in common_enable_disable_unsolicited_events_signal_strength (task=0x5555558e4440) at mm-broadband-modem-qmi.c:6545 6545 if (ctx->enable) (gdb) bt #0 0x0000555555618baa in common_enable_disable_unsolicited_events_signal_strength (task=0x5555558e4440) at mm-broadband-modem-qmi.c:6545 #1 0x0000555555618d70 in common_enable_disable_unsolicited_events (self=0x55555597a3f0, enable=1, callback=0x5555555c8c20 , user_data=0x5555559779b0) at mm-broadband-modem-qmi.c:6719 #2 0x0000555555618e5b in modem_3gpp_enable_unsolicited_events (self=0x55555597a3f0, callback=0x5555555c8c20 , user_data=0x5555559779b0) at mm-broadband-modem-qmi.c:6749 #3 0x00005555555c9095 in interface_enabling_step (task=0x5555559779b0) at mm-iface-modem-3gpp.c:1907 #4 0x00005555555c8c0a in setup_unsolicited_events_ready (self=0x55555597a3f0, res=0x5555558efad0, task=0x5555559779b0) at mm-iface-modem-3gpp.c:1795 #5 0x00007ffff681e204 in () at /usr/lib/libgio-2.0.so.0 #6 0x00007ffff681e239 in () at /usr/lib/libgio-2.0.so.0 #7 0x00007ffff62731d6 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0 #8 0x00007ffff62735b1 in () at /usr/lib/libglib-2.0.so.0 #9 0x00007ffff62738e2 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0 #10 0x000055555559182c in main (argc=2, argv=0x7fffffffe4a8) at main.c:181 Fixes: baefe53ab9c0ea0612d2bf7da64b6f6cf9753bcd --- src/mm-broadband-modem-qmi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mm-broadband-modem-qmi.c b/src/mm-broadband-modem-qmi.c index f124cb6e..40d6ce19 100644 --- a/src/mm-broadband-modem-qmi.c +++ b/src/mm-broadband-modem-qmi.c @@ -6704,7 +6704,7 @@ common_enable_disable_unsolicited_events (MMBroadbandModemQmi *self, ctx = g_new0 (EnableUnsolicitedEventsContext, 1); ctx->client = g_object_ref (client); - g_task_set_task_data (task, NULL, (GDestroyNotify)enable_unsolicited_events_context_free); + g_task_set_task_data (task, ctx, (GDestroyNotify)enable_unsolicited_events_context_free); #if defined WITH_NEWEST_QMI_COMMANDS /* Signal info introduced in NAS 1.8 */