aboutsummaryrefslogtreecommitdiff
path: root/cddl
diff options
context:
space:
mode:
authorAlexander Motin <mav@FreeBSD.org>2018-03-22 23:53:18 +0000
committerAlexander Motin <mav@FreeBSD.org>2018-03-22 23:53:18 +0000
commit25de748ffafd94d216a353b025727374d8733ad7 (patch)
tree6c34512290a0497251a8672200d97381733d4ef3 /cddl
parentf32007ace049fc2db51895733872b426541ae894 (diff)
downloadsrc-25de748ffafd94d216a353b025727374d8733ad7.tar.gz
src-25de748ffafd94d216a353b025727374d8733ad7.zip
MFC r329668: MFV r316918:
7990 libzfs: snapspec_cb() does not need to call zfs_strdup() illumos/illumos-gate@d8584ba6fb7a5e46da1725845b99ae5fab5a4baf https://github.com/illumos/illumos-gate/commit/d8584ba6fb7a5e46da1725845b99ae5fab5a4baf https://www.illumos.org/issues/7990 The snapspec_cb() callback function in libzfs does not need to call zfs_strdup(). Reviewed by: Yuri Pankov <yuri.pankov@gmail.com> Reviewed by: Toomas Soome <tsoome@me.com> Approved by: Matthew Ahrens <mahrens@delphix.com> Author: Marcel Telka <marcel@telka.sk>
Notes
Notes: svn path=/stable/11/; revision=331394
Diffstat (limited to 'cddl')
-rw-r--r--cddl/contrib/opensolaris/lib/libzfs/common/libzfs_iter.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_iter.c b/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_iter.c
index ac26a67a5637..ae6173e8d8f2 100644
--- a/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_iter.c
+++ b/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_iter.c
@@ -317,16 +317,17 @@ static int
snapspec_cb(zfs_handle_t *zhp, void *arg)
{
snapspec_arg_t *ssa = arg;
- char *shortsnapname;
+ const char *shortsnapname;
int err = 0;
if (ssa->ssa_seenlast)
return (0);
- shortsnapname = zfs_strdup(zhp->zfs_hdl,
- strchr(zfs_get_name(zhp), '@') + 1);
+ shortsnapname = strchr(zfs_get_name(zhp), '@') + 1;
if (!ssa->ssa_seenfirst && strcmp(shortsnapname, ssa->ssa_first) == 0)
ssa->ssa_seenfirst = B_TRUE;
+ if (strcmp(shortsnapname, ssa->ssa_last) == 0)
+ ssa->ssa_seenlast = B_TRUE;
if (ssa->ssa_seenfirst) {
err = ssa->ssa_func(zhp, ssa->ssa_arg);
@@ -334,10 +335,6 @@ snapspec_cb(zfs_handle_t *zhp, void *arg)
zfs_close(zhp);
}
- if (strcmp(shortsnapname, ssa->ssa_last) == 0)
- ssa->ssa_seenlast = B_TRUE;
- free(shortsnapname);
-
return (err);
}