broadband-modem-qmi: fix segfault due to NULL task context

ModemManager[18223]: <debug> [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 <enable_unsolicited_events_ready>, user_data=0x5555559779b0)
        at mm-broadband-modem-qmi.c:6719
    #2  0x0000555555618e5b in modem_3gpp_enable_unsolicited_events (self=0x55555597a3f0, callback=0x5555555c8c20 <enable_unsolicited_events_ready>, 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: baefe53ab9
This commit is contained in:
Aleksander Morgado
2018-06-26 16:36:11 +02:00
parent bb9e9a92a3
commit 746cf54b11
+1 -1
View File
@@ -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 */