From 9b3e9d9e8cee8385175800f4385ec437337590d5 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Fri, 6 Dec 2019 16:22:26 +0100 Subject: [PATCH] elan: Fix frames being leaked ==24440== 14,416 bytes in 2 blocks are possibly lost in loss record 9,233 of 9,261 ==24440== at 0x483980B: malloc (vg_replace_malloc.c:309) ==24440== by 0x7846BB8: g_malloc (gmem.c:102) ==24440== by 0x48A2ABC: elan_process_frame_thirds (elan.c:277) ==24440== by 0x785FB37: g_slist_foreach (gslist.c:864) ==24440== by 0x48A57EE: elan_submit_image (elan.c:320) ==24440== by 0x48A57EE: capture_complete (elan.c:591) ==24440== by 0x4880C9C: fpi_ssm_mark_completed (fpi-ssm.c:369) ==24440== by 0x4881003: fpi_ssm_mark_failed (fpi-ssm.c:437) ==24440== by 0x48A5424: elan_cmd_cb (elan.c:347) ==24440== by 0x4882296: transfer_finish_cb (fpi-usb-transfer.c:351) ==24440== by 0x79BFC68: g_task_return_now (gtask.c:1214) ==24440== by 0x79BFCA8: complete_in_idle_cb (gtask.c:1228) ==24440== by 0x78410BD: g_main_dispatch (gmain.c:3272) ==24440== by 0x78410BD: g_main_context_dispatch (gmain.c:3937) --- libfprint/drivers/elan.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libfprint/drivers/elan.c b/libfprint/drivers/elan.c index 9495a48..d27cc05 100644 --- a/libfprint/drivers/elan.c +++ b/libfprint/drivers/elan.c @@ -320,6 +320,7 @@ elan_submit_image (FpImageDevice *dev) g_slist_foreach (raw_frames, (GFunc) self->process_frame, &frames); fpi_do_movement_estimation (&assembling_ctx, frames); img = fpi_assemble_frames (&assembling_ctx, frames); + g_slist_free_full (frames, g_free); fpi_image_device_image_captured (dev, img); }