diff --git a/lib/libnv/nvlist.c b/lib/libnv/nvlist.c index 299d60e8a0f..ba809f53a1c 100644 --- a/lib/libnv/nvlist.c +++ b/lib/libnv/nvlist.c @@ -125,8 +125,10 @@ nvlist_destroy(nvlist_t *nvl) NVLIST_ASSERT(nvl); - while ((nvp = nvlist_first_nvpair(nvl)) != NULL) + while ((nvp = nvlist_first_nvpair(nvl)) != NULL) { nvlist_remove_nvpair(nvl, nvp); + nvpair_free(nvp); + } nvl->nvl_magic = 0; free(nvl);