iface-modem-3gpp: fix memory leak when processing PCOs
==109786== 2,798 (96 direct, 2,702 indirect) bytes in 2 blocks are definitely lost in loss record 5,882 of 5,903 ==109786== at 0x4841888: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==109786== by 0x4A01329: g_malloc (gmem.c:130) ==109786== by 0x4A23F17: g_slice_alloc (gslice.c:1074) ==109786== by 0x4A4B8F8: UnknownInlinedFun (gvariant-core.c:488) ==109786== by 0x4A4B8F8: UnknownInlinedFun (gvariant-core.c:626) ==109786== by 0x4A4B8F8: g_variant_builder_end (gvariant.c:3756) ==109786== by 0x48FD6DC: mm_pco_to_variant (mm-pco.c:251) ==109786== by 0x1AB397: mm_iface_modem_3gpp_update_pco_list (mm-iface-modem-3gpp.c:2274) ==109786== by 0x2306DF: ms_basic_connect_extensions_notification_pco (mm-broadband-modem-mbim.c:5101) ==109786== by 0x2306DF: ms_basic_connect_extensions_notification (mm-broadband-modem-mbim.c:5280) ==109786== by 0x2306DF: device_notification_cb (mm-broadband-modem-mbim.c:5332) ==109786== by 0x4CD3BD6: g_cclosure_marshal_VOID__BOXEDv (gmarshal.c:1686) ==109786== by 0x4CED11B: UnknownInlinedFun (gclosure.c:895) ==109786== by 0x4CED11B: g_signal_emit_valist (gsignal.c:3456) ==109786== by 0x4CED203: g_signal_emit (gsignal.c:3606) ==109786== by 0x50ADA0F: indication_ready (mbim-device.c:870) ==109786== by 0x4B92DD3: g_task_return_now (gtask.c:1232)
This commit is contained in:
@@ -2271,8 +2271,10 @@ mm_iface_modem_3gpp_update_pco_list (MMIfaceModem3gpp *self,
|
||||
|
||||
g_variant_builder_init (&builder, G_VARIANT_TYPE ("a(ubay)"));
|
||||
for (iter = pco_list; iter; iter = g_list_next (iter)) {
|
||||
g_variant_builder_add_value (&builder,
|
||||
mm_pco_to_variant (MM_PCO (iter->data)));
|
||||
g_autoptr(GVariant) pco_variant = NULL;
|
||||
|
||||
pco_variant = mm_pco_to_variant (MM_PCO (iter->data));
|
||||
g_variant_builder_add_value (&builder, pco_variant);
|
||||
}
|
||||
variant = g_variant_ref_sink (g_variant_builder_end (&builder));
|
||||
mm_gdbus_modem3gpp_set_pco (skeleton, variant);
|
||||
|
||||
Reference in New Issue
Block a user