From 790c880e8c175424144f8d21c2355f8be1654be4 Mon Sep 17 00:00:00 2001 From: Igor K <igor@dilos.org> Date: Tue, 19 Feb 2019 22:15:22 +0300 Subject: Fix zdb crash We have to use umem_free() instead of free() if we are using umem_zalloc() Reviewed-by: Olaf Faaland <faaland1@llnl.gov> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Igor Kozhukhov <igor@dilos.org> Closes #8402 --- lib/libzpool/util.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/libzpool/util.c b/lib/libzpool/util.c index 87772bcb7..ad05d2239 100644 --- a/lib/libzpool/util.c +++ b/lib/libzpool/util.c @@ -105,7 +105,7 @@ show_vdev_stats(const char *desc, const char *ctype, nvlist_t *nv, int indent) vs->vs_space ? 6 : 0, vs->vs_space ? avail : "", rops, wops, rbytes, wbytes, rerr, werr, cerr); } - free(v0); + umem_free(v0, sizeof (*v0)); if (nvlist_lookup_nvlist_array(nv, ctype, &child, &children) != 0) return; @@ -124,7 +124,7 @@ show_vdev_stats(const char *desc, const char *ctype, nvlist_t *nv, int indent) if (nvlist_lookup_uint64(cnv, ZPOOL_CONFIG_NPARITY, &np) == 0) tname[strlen(tname)] = '0' + np; show_vdev_stats(tname, ctype, cnv, indent + 2); - free(tname); + umem_free(tname, len); } } -- cgit v1.2.3