Index: lib/libbe/be_access.c =================================================================== --- lib/libbe/be_access.c +++ lib/libbe/be_access.c @@ -218,7 +218,7 @@ propinfo.lbh = lbh; propinfo.list = details; - propinfo.single_object = true; + propinfo.single_object = false; propinfo.bootonce = NULL; prop_list_builder_cb(root_hdl, &propinfo); zfs_close(root_hdl); Index: sbin/bectl/bectl_jail.c =================================================================== --- sbin/bectl/bectl_jail.c +++ sbin/bectl/bectl_jail.c @@ -445,6 +445,7 @@ bectl_cmd_unjail(int argc, char *argv[]) { nvlist_t *belist; + nvpair_t *nvp; char path[MAXPATHLEN]; char *cmd, *name, *target; int jid; @@ -477,6 +478,7 @@ } free(name); + name = NULL; bectl_jail_cleanup(path, jid); @@ -491,7 +493,8 @@ return (1); } - nvlist_lookup_string(belist, "name", &name); + if ((nvp = nvlist_next_nvpair(belist, NULL)) != NULL) + name = strdup(nvpair_name(nvp)); if (be_unmount(be, name, 0) != 0) { fprintf(stderr, "bectl %s: failed to unmount %s at %s\n", @@ -499,6 +502,9 @@ return (1); } + if (name != NULL) + free(name); + be_prop_list_free(belist); return (0); }