4061 libzfs: memory leak in iter_dependents_cb()
Reviewed by: Jeffry Molanus <jeffry.molanus@nexenta.com>
Reviewed by: Boris Protopopov <boris.protopopov@nexenta.com>
Reviewed by: Andy Stormont <andyjstormont@gmail.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Approved by: Dan McDonald <danmcd@nexenta.com>

References:
  https://www.illumos.org/issues/4061
  illumos/illumos-gate@2fbdf8dbf0

Ported-by: Richard Yao <ryao@gentoo.org>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue #1775
This commit is contained in:
Marcel Telka 2013-08-15 22:33:42 -04:00 committed by Brian Behlendorf
parent b663a23d36
commit 8ce0af07bb

View File

@ -21,8 +21,8 @@
/* /*
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * 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 (c) 2012 by Delphix. All rights reserved.
* Copyright 2013 Nexenta Systems, Inc. All rights reserved.
*/ */
#include <stdio.h> #include <stdio.h>
@ -449,8 +449,12 @@ iter_dependents_cb(zfs_handle_t *zhp, void *arg)
iter_dependents_cb, ida); iter_dependents_cb, ida);
ida->stack = isf.next; ida->stack = isf.next;
} }
if (!first && err == 0) if (!first && err == 0)
err = ida->func(zhp, ida->data); err = ida->func(zhp, ida->data);
else
zfs_close(zhp);
return (err); return (err);
} }