Mercurial > illumos > illumos-gate
changeset 10299:80845694147f
6696858 zfs receive of incremental replication stream can dereference NULL pointer and crash
author | Prabahar Jeyaram <Prabahar.Jeyaram@Sun.COM> |
---|---|
date | Wed, 12 Aug 2009 22:17:19 -0700 |
parents | a0d52501437c |
children | 9c18fcead732 |
files | usr/src/lib/libzfs/common/libzfs_sendrecv.c |
diffstat | 1 files changed, 4 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/usr/src/lib/libzfs/common/libzfs_sendrecv.c Wed Aug 12 22:11:31 2009 -0700 +++ b/usr/src/lib/libzfs/common/libzfs_sendrecv.c Wed Aug 12 22:17:19 2009 -0700 @@ -1139,6 +1139,7 @@ char newname[ZFS_MAXNAMELEN]; int error; boolean_t needagain, progress; + char *s1, *s2; VERIFY(0 == nvlist_lookup_string(stream_nv, "fromsnap", &fromsnap)); VERIFY(0 == nvlist_lookup_string(stream_nv, "tosnap", &tosnap)); @@ -1336,8 +1337,9 @@ /* check for rename */ if ((stream_parent_fromsnap_guid != 0 && stream_parent_fromsnap_guid != parent_fromsnap_guid) || - strcmp(strrchr(fsname, '/'), - strrchr(stream_fsname, '/')) != 0) { + ((s1 = strrchr(fsname, '/')) && + (s2 = strrchr(stream_fsname, '/')) && + strcmp(s1, s2) != 0)) { nvlist_t *parent; char tryname[ZFS_MAXNAMELEN];