iface-modem-firmware: plug memleak when listing images

==80079== 1,377 (48 direct, 1,329 indirect) bytes in 1 blocks are definitely lost in loss record 5,200 of 5,232
  ==80079==    at 0x483977F: malloc (vg_replace_malloc.c:309)
  ==80079==    by 0x5025AE9: g_malloc (in /usr/lib/libglib-2.0.so.0.6400.2)
  ==80079==    by 0x5006223: g_slice_alloc (in /usr/lib/libglib-2.0.so.0.6400.2)
  ==80079==    by 0x4FEB59B: ??? (in /usr/lib/libglib-2.0.so.0.6400.2)
  ==80079==    by 0x4FEE378: g_variant_builder_end (in /usr/lib/libglib-2.0.so.0.6400.2)
  ==80079==    by 0x48F8314: mm_firmware_properties_get_dictionary (mm-firmware-properties.c:337)
  ==80079==    by 0x1AAF29: load_current_ready (mm-iface-modem-firmware.c:80)
  ==80079==    by 0x4E68653: ??? (in /usr/lib/libgio-2.0.so.0.6400.2)
  ==80079==    by 0x4E68688: ??? (in /usr/lib/libgio-2.0.so.0.6400.2)
  ==80079==    by 0x502B58E: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.6400.2)
  ==80079==    by 0x502D530: ??? (in /usr/lib/libglib-2.0.so.0.6400.2)
  ==80079==    by 0x502E542: g_main_loop_run (in /usr/lib/libglib-2.0.so.0.6400.2)
This commit is contained in:
Aleksander Morgado
2020-06-01 15:16:23 +02:00
parent 3b35bbd47b
commit d848b10d24

View File

@@ -76,10 +76,13 @@ load_current_ready (MMIfaceModemFirmware *self,
/* Build array of dicts */
g_variant_builder_init (&builder, G_VARIANT_TYPE ("aa{sv}"));
for (l = ctx->list; l; l = g_list_next (l))
g_variant_builder_add_value (
&builder,
mm_firmware_properties_get_dictionary (MM_FIRMWARE_PROPERTIES (l->data)));
for (l = ctx->list; l; l = g_list_next (l)) {
GVariant *dict;
dict = mm_firmware_properties_get_dictionary (MM_FIRMWARE_PROPERTIES (l->data));
g_variant_builder_add_value (&builder, dict);
g_variant_unref (dict);
}
mm_gdbus_modem_firmware_complete_list (
ctx->skeleton,