From: Marcel Telka Date: Fri, 16 Aug 2013 02:33:42 +0000 (-0400) Subject: Illumos #4061 X-Git-Tag: zfs-0.6.3~191 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8ce0af07bb3227c152d32e74683d1fdc1869246c;p=zfs Illumos #4061 4061 libzfs: memory leak in iter_dependents_cb() Reviewed by: Jeffry Molanus Reviewed by: Boris Protopopov Reviewed by: Andy Stormont Reviewed by: Matthew Ahrens Approved by: Dan McDonald References: https://www.illumos.org/issues/4061 illumos/illumos-gate@2fbdf8dbf01ec1c85fcd3827cdf9e9f5f46c4c8a Ported-by: Richard Yao Signed-off-by: Brian Behlendorf Issue #1775 --- diff --git a/lib/libzfs/libzfs_iter.c b/lib/libzfs/libzfs_iter.c index 3d8bc5e14..e527bdcc5 100644 --- a/lib/libzfs/libzfs_iter.c +++ b/lib/libzfs/libzfs_iter.c @@ -21,8 +21,8 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright 2010 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2012 by Delphix. All rights reserved. + * Copyright 2013 Nexenta Systems, Inc. All rights reserved. */ #include @@ -449,8 +449,12 @@ iter_dependents_cb(zfs_handle_t *zhp, void *arg) iter_dependents_cb, ida); ida->stack = isf.next; } + if (!first && err == 0) err = ida->func(zhp, ida->data); + else + zfs_close(zhp); + return (err); }