Module Name: src Committed By: rmind Date: Tue Feb 12 12:49:23 UTC 2019
Modified Files: src/sys/external/bsd/libnv/dist: nv_impl.h nvlist.c nvpair.c Log Message: libnv: fix multiple 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() users. Found by clang/gcc ASAN. These fixes have been contributed to the upstream (FreeBSD) repository. To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 src/sys/external/bsd/libnv/dist/nv_impl.h cvs rdiff -u -r1.6 -r1.7 src/sys/external/bsd/libnv/dist/nvlist.c cvs rdiff -u -r1.3 -r1.4 src/sys/external/bsd/libnv/dist/nvpair.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.