From 83e86541459022f059e0bf50ebbc33fc8ec2d62e Mon Sep 17 00:00:00 2001 From: Yuri Pankov Date: Wed, 12 Jul 2017 15:37:25 +0300 Subject: 8486 libdiskmgt: memory leak in slice_get_stats() Reviewed by: Dan Fields Reviewed by: Gordon Ross Reviewed by: Sanjay Nadkarni Reviewed by: Toomas Soome Reviewed by: Igor Kozhukhov Approved by: Robert Mustacchi --- usr/src/lib/libdiskmgt/common/slice.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'usr/src/lib/libdiskmgt/common/slice.c') 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); } -- cgit v1.2.3