OpenZFS 7990 - libzfs: snapspec_cb() does not need to call zfs_strdup()

Authored by: Marcel Telka <marcel@telka.sk>
Reviewed by: Yuri Pankov <yuri.pankov@gmail.com>
Reviewed by: Toomas Soome <tsoome@me.com>
Approved by: Matthew Ahrens <mahrens@delphix.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: George Melikov <mail@gmelikov.ru>
Ported-by: Giuseppe Di Natale <dinatale2@llnl.gov>

OpenZFS-issue: https://www.illumos.org/issues/7990
OpenZFS-commit: https://github.com/openzfs/openzfs/commit/d8584ba
Closes #5939
This commit is contained in:
Giuseppe Di Natale 2017-03-28 17:22:46 -07:00 committed by Brian Behlendorf
parent ff61d1a495
commit 2035575fd6
1 changed files with 4 additions and 7 deletions

View File

@ -312,16 +312,17 @@ static int
snapspec_cb(zfs_handle_t *zhp, void *arg) snapspec_cb(zfs_handle_t *zhp, void *arg)
{ {
snapspec_arg_t *ssa = arg; snapspec_arg_t *ssa = arg;
char *shortsnapname; const char *shortsnapname;
int err = 0; int err = 0;
if (ssa->ssa_seenlast) if (ssa->ssa_seenlast)
return (0); 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) if (!ssa->ssa_seenfirst && strcmp(shortsnapname, ssa->ssa_first) == 0)
ssa->ssa_seenfirst = B_TRUE; ssa->ssa_seenfirst = B_TRUE;
if (strcmp(shortsnapname, ssa->ssa_last) == 0)
ssa->ssa_seenlast = B_TRUE;
if (ssa->ssa_seenfirst) { if (ssa->ssa_seenfirst) {
err = ssa->ssa_func(zhp, ssa->ssa_arg); err = ssa->ssa_func(zhp, ssa->ssa_arg);
@ -329,10 +330,6 @@ snapspec_cb(zfs_handle_t *zhp, void *arg)
zfs_close(zhp); zfs_close(zhp);
} }
if (strcmp(shortsnapname, ssa->ssa_last) == 0)
ssa->ssa_seenlast = B_TRUE;
free(shortsnapname);
return (err); return (err);
} }