summaryrefslogtreecommitdiff
path: root/usr/src/lib/libdiskmgt/common
diff options
context:
space:
mode:
authorYuri Pankov <yuri.pankov@nexenta.com>2017-07-12 15:37:25 +0300
committerRobert Mustacchi <rm@joyent.com>2017-07-28 19:06:56 +0000
commit83e86541459022f059e0bf50ebbc33fc8ec2d62e (patch)
tree83759156b360d8e34390008975ff5454f0a83d4e /usr/src/lib/libdiskmgt/common
parent7f6d142fc0001e76967b1f047b6df5bc4c5d9082 (diff)
downloadillumos-joyent-83e86541459022f059e0bf50ebbc33fc8ec2d62e.tar.gz
8486 libdiskmgt: memory leak in slice_get_stats()
Reviewed by: Dan Fields <dan.fields@nexenta.com> Reviewed by: Gordon Ross <gordon.ross@nexenta.com> Reviewed by: Sanjay Nadkarni <sanjay.nadkarni@nexenta.com> Reviewed by: Toomas Soome <tsoome@me.com> Reviewed by: Igor Kozhukhov <igor@dilos.org> Approved by: Robert Mustacchi <rm@joyent.com>
Diffstat (limited to 'usr/src/lib/libdiskmgt/common')
-rw-r--r--usr/src/lib/libdiskmgt/common/slice.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/usr/src/lib/libdiskmgt/common/slice.c b/usr/src/lib/libdiskmgt/common/slice.c
index 5a37d6f4e6..11b7a86ff7 100644
--- a/usr/src/lib/libdiskmgt/common/slice.c
+++ b/usr/src/lib/libdiskmgt/common/slice.c
@@ -208,7 +208,8 @@ slice_get_stats(descriptor_t *dp, int stat_type, int *errp)
}
if ((*errp = add_inuse(dp->name, stats)) != 0) {
- return (NULL);
+ nvlist_free(stats);
+ return (NULL);
}
/* if no cluster use, check for a use of the local name */
@@ -248,6 +249,7 @@ slice_get_stats(descriptor_t *dp, int stat_type, int *errp)
sizeof (localpath));
if ((*errp = add_inuse(localpath, stats)) != 0) {
+ nvlist_free(stats);
return (NULL);
}