port-qmi: plug memleak when explicitly releasing client

==43111== 24 bytes in 1 blocks are definitely lost in loss record 1,999 of 5,339
  ==43111==    at 0x483BB65: calloc (vg_replace_malloc.c:762)
  ==43111==    by 0x50259D1: g_malloc0 (in /usr/lib/libglib-2.0.so.0.6400.2)
  ==43111==    by 0x22AAB8: mm_port_qmi_allocate_client (mm-port-qmi.c:201)
  ==43111==    by 0x2007F0: parent_enabling_started_ready (mm-broadband-modem-qmi.c:9114)
  ==43111==    by 0x4E68653: ??? (in /usr/lib/libgio-2.0.so.0.6400.2)
  ==43111==    by 0x4E6DA26: ??? (in /usr/lib/libgio-2.0.so.0.6400.2)
  ==43111==    by 0x1C535E: enabling_flash_done (mm-broadband-modem.c:10318)
  ==43111==    by 0x4E68653: ??? (in /usr/lib/libgio-2.0.so.0.6400.2)
  ==43111==    by 0x4E6DA26: ??? (in /usr/lib/libgio-2.0.so.0.6400.2)
  ==43111==    by 0x224F0B: flash_do (mm-port-serial.c:1776)
  ==43111==    by 0x502AC03: ??? (in /usr/lib/libglib-2.0.so.0.6400.2)
  ==43111==    by 0x502B58E: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.6400.2)
  ==43111==
This commit is contained in:
Aleksander Morgado
2020-05-16 10:33:29 +02:00
parent fae614becf
commit 503581a3ac

View File

@@ -56,8 +56,10 @@ lookup_client (MMPortQmi *self,
QmiClient *found; QmiClient *found;
found = info->client; found = info->client;
if (steal) if (steal) {
self->priv->services = g_list_delete_link (self->priv->services, l); self->priv->services = g_list_delete_link (self->priv->services, l);
g_free (info);
}
return found; return found;
} }
} }