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:
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user