crm_range_ready() misses a return statement after it invokes
interface_initialization_step(), which will lead to an invalid access of
the already freed InitAsyncContext.
==28664== 4 bytes in 1 blocks are definitely lost in loss record 33 of 4,317
==28664== at 0x4C2BE1F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==28664== by 0x4C2E164: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==28664== by 0x644E0CF: g_realloc (in /usr/lib/libglib-2.0.so.0.5200.2)
==28664== by 0x6469C06: ??? (in /usr/lib/libglib-2.0.so.0.5200.2)
==28664== by 0x6469C61: g_string_sized_new (in /usr/lib/libglib-2.0.so.0.5200.2)
==28664== by 0x4E8514A: mm_common_build_sms_storages_string (mm-common-helpers.c:116)
==28664== by 0x489035: cpms_query_ready (mm-broadband-modem.c:5428)
==28664== by 0x5E8E335: g_simple_async_result_complete (in /usr/lib/libgio-2.0.so.0.5200.2)
==28664== by 0x44EADF: at_command_ready (mm-base-modem-at.c:503)
==28664== by 0x5E8E335: g_simple_async_result_complete (in /usr/lib/libgio-2.0.so.0.5200.2)
==28664== by 0x4D8122: serial_command_ready (mm-port-serial-at.c:392)
==28664== by 0x5E8E335: g_simple_async_result_complete (in /usr/lib/libgio-2.0.so.0.5200.2)
==28664==
==28664== 4 bytes in 1 blocks are definitely lost in loss record 34 of 4,317
==28664== at 0x4C2BE1F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==28664== by 0x4C2E164: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==28664== by 0x644E0CF: g_realloc (in /usr/lib/libglib-2.0.so.0.5200.2)
==28664== by 0x6469C06: ??? (in /usr/lib/libglib-2.0.so.0.5200.2)
==28664== by 0x6469C61: g_string_sized_new (in /usr/lib/libglib-2.0.so.0.5200.2)
==28664== by 0x4E8514A: mm_common_build_sms_storages_string (mm-common-helpers.c:116)
==28664== by 0x489067: cpms_query_ready (mm-broadband-modem.c:5430)
==28664== by 0x5E8E335: g_simple_async_result_complete (in /usr/lib/libgio-2.0.so.0.5200.2)
==28664== by 0x44EADF: at_command_ready (mm-base-modem-at.c:503)
==28664== by 0x5E8E335: g_simple_async_result_complete (in /usr/lib/libgio-2.0.so.0.5200.2)
==28664== by 0x4D8122: serial_command_ready (mm-port-serial-at.c:392)
==28664== by 0x5E8E335: g_simple_async_result_complete (in /usr/lib/libgio-2.0.so.0.5200.2)
==28664== 216 (120 direct, 96 indirect) bytes in 5 blocks are definitely lost in loss record 4,109 of 4,317
==28664== at 0x4C2BEEF: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==28664== by 0x644E018: g_malloc (in /usr/lib/libglib-2.0.so.0.5200.2)
==28664== by 0x6465B05: g_slice_alloc (in /usr/lib/libglib-2.0.so.0.5200.2)
==28664== by 0x6469C32: g_string_sized_new (in /usr/lib/libglib-2.0.so.0.5200.2)
==28664== by 0x4D7861: parse_response (mm-port-serial-at.c:142)
==28664== by 0x4D3B52: parse_response_buffer (mm-port-serial.c:857)
==28664== by 0x4D40F2: common_input_available (mm-port-serial.c:981)
==28664== by 0x4D41B4: iochannel_input_available (mm-port-serial.c:1004)
==28664== by 0x64488B4: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.5200.2)
==28664== by 0x6448C77: ??? (in /usr/lib/libglib-2.0.so.0.5200.2)
==28664== by 0x6448F91: g_main_loop_run (in /usr/lib/libglib-2.0.so.0.5200.2)
==28664== by 0x438035: main (main.c:180)