aboutsummaryrefslogtreecommitdiff
path: root/lib/libnv/tests/nvlist_send_recv_test.c
diff options
context:
space:
mode:
authorMariusz Zaborski <oshogbo@FreeBSD.org>2019-02-10 23:28:55 +0000
committerMariusz Zaborski <oshogbo@FreeBSD.org>2019-02-10 23:28:55 +0000
commitb5d787d93b3d83f28e87e1f8cc740cb160f8f0ac (patch)
tree01e36776752b9647e625984d05a9803d56467799 /lib/libnv/tests/nvlist_send_recv_test.c
parente0d164c7a66426c92dfb5a08a9803e323b8f90b9 (diff)
downloadsrc-b5d787d93b3d83f28e87e1f8cc740cb160f8f0ac.tar.gz
src-b5d787d93b3d83f28e87e1f8cc740cb160f8f0ac.zip
libnv: fix memory leaks
nvpair_create_stringv: free the temporary string; this fix affects nvlist_add_stringf() and nvlist_add_stringv(). nvpair_remove_nvlist_array (NV_TYPE_NVLIST_ARRAY case): free the chain of nvpairs (as resetting it prevents nvlist_destroy() from freeing it). Note: freeing the chain in nvlist_destroy() is not sufficient, because it would still leak through nvlist_take_nvlist_array(). This affects all nvlist_*_nvlist_array() use Submitted by: Mindaugas Rasiukevicius <rmind@netbsd.org> Reported by: clang/gcc ASAN MFC after: 2 weeks
Notes
Notes: svn path=/head/; revision=343986
Diffstat (limited to 'lib/libnv/tests/nvlist_send_recv_test.c')
-rw-r--r--lib/libnv/tests/nvlist_send_recv_test.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/libnv/tests/nvlist_send_recv_test.c b/lib/libnv/tests/nvlist_send_recv_test.c
index 1b673b5d4259..fbc918102b50 100644
--- a/lib/libnv/tests/nvlist_send_recv_test.c
+++ b/lib/libnv/tests/nvlist_send_recv_test.c
@@ -304,6 +304,8 @@ parent(int sock)
name = nvlist_next(nvl, &type, &cookie);
CHECK(name == NULL);
+
+ nvlist_destroy(nvl);
}
static void