From 14dbbad1ad0e18be3e9623b357fc9a0daf02d6da Mon Sep 17 00:00:00 2001 From: Aleksander Morgado Date: Tue, 18 Jul 2017 11:31:36 +0200 Subject: broadband-modem: plug memleak in init_current_storages() ==28664== 4 bytes in 1 blocks are definitely lost in loss record 33 of 4,317 ==28664== at 0x4C2BE1F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==28664== by 0x4C2E164: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==28664== by 0x644E0CF: g_realloc (in /usr/lib/libglib-2.0.so.0.5200.2) ==28664== by 0x6469C06: ??? (in /usr/lib/libglib-2.0.so.0.5200.2) ==28664== by 0x6469C61: g_string_sized_new (in /usr/lib/libglib-2.0.so.0.5200.2) ==28664== by 0x4E8514A: mm_common_build_sms_storages_string (mm-common-helpers.c:116) ==28664== by 0x489035: cpms_query_ready (mm-broadband-modem.c:5428) ==28664== by 0x5E8E335: g_simple_async_result_complete (in /usr/lib/libgio-2.0.so.0.5200.2) ==28664== by 0x44EADF: at_command_ready (mm-base-modem-at.c:503) ==28664== by 0x5E8E335: g_simple_async_result_complete (in /usr/lib/libgio-2.0.so.0.5200.2) ==28664== by 0x4D8122: serial_command_ready (mm-port-serial-at.c:392) ==28664== by 0x5E8E335: g_simple_async_result_complete (in /usr/lib/libgio-2.0.so.0.5200.2) ==28664== ==28664== 4 bytes in 1 blocks are definitely lost in loss record 34 of 4,317 ==28664== at 0x4C2BE1F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==28664== by 0x4C2E164: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==28664== by 0x644E0CF: g_realloc (in /usr/lib/libglib-2.0.so.0.5200.2) ==28664== by 0x6469C06: ??? (in /usr/lib/libglib-2.0.so.0.5200.2) ==28664== by 0x6469C61: g_string_sized_new (in /usr/lib/libglib-2.0.so.0.5200.2) ==28664== by 0x4E8514A: mm_common_build_sms_storages_string (mm-common-helpers.c:116) ==28664== by 0x489067: cpms_query_ready (mm-broadband-modem.c:5430) ==28664== by 0x5E8E335: g_simple_async_result_complete (in /usr/lib/libgio-2.0.so.0.5200.2) ==28664== by 0x44EADF: at_command_ready (mm-base-modem-at.c:503) ==28664== by 0x5E8E335: g_simple_async_result_complete (in /usr/lib/libgio-2.0.so.0.5200.2) ==28664== by 0x4D8122: serial_command_ready (mm-port-serial-at.c:392) ==28664== by 0x5E8E335: g_simple_async_result_complete (in /usr/lib/libgio-2.0.so.0.5200.2) --- src/mm-broadband-modem.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/mm-broadband-modem.c b/src/mm-broadband-modem.c index f98aafc2..fe21a256 100644 --- a/src/mm-broadband-modem.c +++ b/src/mm-broadband-modem.c @@ -5421,14 +5421,21 @@ cpms_query_ready (MMBroadbandModem *self, &error)) { g_task_return_error (task, error); } else { + gchar *aux; + self->priv->current_sms_mem1_storage = mem1; self->priv->current_sms_mem2_storage = mem2; mm_dbg ("Current storages initialized:"); - mm_dbg (" mem1 (list/read/delete) storages: '%s'", - mm_common_build_sms_storages_string (&mem1, 1)); - mm_dbg (" mem2 (write/send) storages: '%s'", - mm_common_build_sms_storages_string (&mem2, 1)); + + aux = mm_common_build_sms_storages_string (&mem1, 1); + mm_dbg (" mem1 (list/read/delete) storages: '%s'", aux); + g_free (aux); + + aux = mm_common_build_sms_storages_string (&mem2, 1); + mm_dbg (" mem2 (write/send) storages: '%s'", aux); + g_free (aux); + g_task_return_boolean (task, TRUE); } g_object_unref (task); -- cgit v1.2.3-70-g09d2