]> xenbits.xensource.com Git - people/julieng/freebsd.git/commitdiff
MFV r289530: 5847 libzfs_diff should check zfs_prop_get() return
authormav <mav@FreeBSD.org>
Sun, 18 Oct 2015 18:32:22 +0000 (18:32 +0000)
committermav <mav@FreeBSD.org>
Sun, 18 Oct 2015 18:32:22 +0000 (18:32 +0000)
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Albert Lee <trisk@omniti.com>
Approved by: Dan McDonald <danmcd@omniti.com>
Author: Alexander Eremin <a.eremin@nexenta.com>

illumos/illumos-gate@8430278980a48338e04c7dd52b495b7f1551367a

cddl/contrib/opensolaris/lib/libzfs/common/libzfs_diff.c

index dde329a8226f0f2889f59c0bf5ebc9bc57e9bfc0..bb49eba0f8352571b78f62e92207174fd48d639e 100644 (file)
@@ -21,6 +21,7 @@
 
 /*
  * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright 2015 Nexenta Systems, Inc. All rights reserved.
  */
 
 /*
@@ -624,9 +625,12 @@ get_snapshot_names(differ_info_t *di, const char *fromsnap,
 
                zhp = zfs_open(hdl, di->ds, ZFS_TYPE_FILESYSTEM);
                while (zhp != NULL) {
-                       (void) zfs_prop_get(zhp, ZFS_PROP_ORIGIN,
-                           origin, sizeof (origin), &src, NULL, 0, B_FALSE);
-
+                       if (zfs_prop_get(zhp, ZFS_PROP_ORIGIN, origin,
+                           sizeof (origin), &src, NULL, 0, B_FALSE) != 0) {
+                               (void) zfs_close(zhp);
+                               zhp = NULL;
+                               break;
+                       }
                        if (strncmp(origin, fromsnap, fsnlen) == 0)
                                break;