From: Igor K Date: Tue, 19 Feb 2019 19:15:22 +0000 (+0300) Subject: Fix zdb crash X-Git-Tag: zfs-0.8.0-rc4~113 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=790c880e8c175424144f8d21c2355f8be1654be4;p=zfs Fix zdb crash We have to use umem_free() instead of free() if we are using umem_zalloc() Reviewed-by: Olaf Faaland Reviewed-by: Brian Behlendorf Signed-off-by: Igor Kozhukhov Closes #8402 --- 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); } }