diff options
author | Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> | 2021-07-15 15:23:28 +0200 |
---|---|---|
committer | Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> | 2021-07-19 12:53:25 +0200 |
commit | 719537b1f1decc000edd9706066fdda1d0a13f8d (patch) | |
tree | fb30fb3f7efac0a92468ab00855b8bca6794661f | |
parent | 3b4b515f9d1966171abf46946f92651bae2717d0 (diff) | |
download | neard-719537b1f1decc000edd9706066fdda1d0a13f8d.tar.gz |
unit: fix records GList memory leak in test-snep-read
The test_snep_dummy_req_put() stores one record in global stored_recd
pointer, so the GList itself should be freed. This fixes Valgrind
warning:
24 bytes in 1 blocks are definitely lost in loss record 21 of 30
at 0x483C7F3: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
by 0x48CA698: g_malloc (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6600.1)
by 0x48E2CF1: g_slice_alloc (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6600.1)
by 0x48BFF07: g_list_append (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6600.1)
by 0x11E68A: near_ndef_parse_msg (ndef.c:2964)
by 0x122A23: test_snep_dummy_req_put (test-snep-read.c:131)
by 0x122005: snep_core_process_request (snep.c:397)
by 0x122005: near_snep_core_read (snep.c:617)
by 0x123042: test_snep_read_req_common.constprop.0 (test-snep-read.c:352)
by 0x1234E0: test_snep_read_put_req_ok (test-snep-read.c:500)
by 0x1234E0: test_snep_read_get_req_ok (test-snep-read.c:644)
by 0x48ECDCD: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6600.1)
by 0x48ECBCA: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6600.1)
by 0x48ED2B9: g_test_run_suite (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6600.1)
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
-rw-r--r-- | unit/test-snep-read.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/unit/test-snep-read.c b/unit/test-snep-read.c index f64ef0c..128937e 100644 --- a/unit/test-snep-read.c +++ b/unit/test-snep-read.c @@ -142,6 +142,7 @@ static bool test_snep_dummy_req_put(int fd, void *data) g_free(nfc_data); stored_recd = records->data; + g_list_free(records); TEST_SNEP_LOG("\t\tdummy_req_put STORED REC data=%p length=%zu\n", stored_recd->data, stored_recd->data_len); |