aboutsummaryrefslogtreecommitdiff
path: root/src/mm-port-qmi.c
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2020-05-16 10:33:29 +0200
committerAleksander Morgado <aleksander@aleksander.es>2020-05-16 10:33:29 +0200
commit503581a3ac07e74fa9f31bb2d681750e8f577f96 (patch)
treec33771eb4eb183ec187e9fe366875905f9d203a7 /src/mm-port-qmi.c
parentfae614becf16a8f03e85f19b40a31c933c05f1c6 (diff)
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==
Diffstat (limited to 'src/mm-port-qmi.c')
-rw-r--r--src/mm-port-qmi.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mm-port-qmi.c b/src/mm-port-qmi.c
index 3f39bfc0..83d92b9d 100644
--- a/src/mm-port-qmi.c
+++ b/src/mm-port-qmi.c
@@ -56,8 +56,10 @@ lookup_client (MMPortQmi *self,
QmiClient *found;
found = info->client;
- if (steal)
+ if (steal) {
self->priv->services = g_list_delete_link (self->priv->services, l);
+ g_free (info);
+ }
return found;
}
}