diff options
author | Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> | 2021-07-15 15:16:45 +0200 |
---|---|---|
committer | Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> | 2021-07-19 12:53:25 +0200 |
commit | 3b4b515f9d1966171abf46946f92651bae2717d0 (patch) | |
tree | fa96e1efa347762646dc667d1e9ea9734e100fa8 | |
parent | ca0d1b11327c89973ade4fa1ff9fa102ddd27ba7 (diff) | |
download | neard-3b4b515f9d1966171abf46946f92651bae2717d0.tar.gz |
unit: fix record memory leak in test-snep-read
Instead of open-coding __near_ndef_record_free() with mistakes, use it
directly to fix memory leaks like:
2 bytes in 1 blocks are definitely lost in loss record 2 of 36
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 0x48E4B3D: g_strndup (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6600.1)
by 0x11CB66: parse_record_header (ndef.c:1122)
by 0x11CB66: parse_record_header (ndef.c:1029)
by 0x11E549: near_ndef_parse_msg (ndef.c:2846)
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)
15 bytes in 1 blocks are definitely lost in loss record 13 of 36
at 0x483ED99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
by 0x11E65F: near_ndef_parse_msg (ndef.c:2958)
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)
by 0x48ED2D4: g_test_run (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6600.1)
by 0x10F784: main (test-snep-read.c:967)
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
-rw-r--r-- | unit/test-snep-read.c | 2 | ||||
-rw-r--r-- | unit/test-utils.c | 8 | ||||
-rw-r--r-- | unit/test-utils.h | 2 |
3 files changed, 1 insertions, 11 deletions
diff --git a/unit/test-snep-read.c b/unit/test-snep-read.c index a463c1d..f64ef0c 100644 --- a/unit/test-snep-read.c +++ b/unit/test-snep-read.c @@ -224,7 +224,7 @@ static void test_snep_cleanup(gpointer context, gconstpointer data) __near_snep_core_cleanup(); if (stored_recd) - test_ndef_free_record(stored_recd); + __near_ndef_record_free(stored_recd); if (ctx->test_recd_msg) near_ndef_msg_free(ctx->test_recd_msg); diff --git a/unit/test-utils.c b/unit/test-utils.c index fe25656..3694374 100644 --- a/unit/test-utils.c +++ b/unit/test-utils.c @@ -20,14 +20,6 @@ #include "test-utils.h" -void test_ndef_free_record(struct near_ndef_record *record) -{ - g_free(record->header); - g_free(record->type); - g_free(record->data); - g_free(record); -} - struct near_ndef_message *test_ndef_create_test_record(const char *str) { struct near_ndef_message *ndef; diff --git a/unit/test-utils.h b/unit/test-utils.h index c371d56..108f2a1 100644 --- a/unit/test-utils.h +++ b/unit/test-utils.h @@ -143,8 +143,6 @@ struct near_ndef_record { size_t data_len; }; -void test_ndef_free_record(struct near_ndef_record *record); - struct near_ndef_message *test_ndef_create_test_record(const char *str); #endif |