The test for VDEV_TYPE_INDIRECT is done after a memory allocation, and
could return from function without freeing it. Since we don't need that
allocation yet, just postpone it.
Add a missing free() when buffer is no longer needed.
Reviewed-by: Matthew Ahrens <mahrens@delphix.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: João Carlos Mendes Luís <jonny@jonny.eng.br>
Closes #10193
uint64_t tdelta;
double scale;
- calcvs = safe_malloc(sizeof (*calcvs));
-
if (strcmp(name, VDEV_TYPE_INDIRECT) == 0)
return (ret);
+ calcvs = safe_malloc(sizeof (*calcvs));
+
if (oldnv != NULL) {
verify(nvlist_lookup_uint64_array(oldnv,
ZPOOL_CONFIG_VDEV_STATS, (uint64_t **)&oldvs, &c) == 0);
", (copy is slow, no estimated time)\n"));
}
}
+ free(vdev_name);
if (prs->prs_mapping_memory > 0) {
char mem_buf[7];