changeset 10302:a9e3d1987706

6696858 zfs receive of incremental replication stream can dereference NULL pointer and crash (fix lint)
author Prabahar Jeyaram <Prabahar.Jeyaram@Sun.COM>
date Thu, 13 Aug 2009 12:34:00 -0700
parents 0c33f1942e85
children 3b9249b9e2fc
files usr/src/lib/libzfs/common/libzfs_sendrecv.c
diffstat 1 files changed, 4 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/lib/libzfs/common/libzfs_sendrecv.c	Thu Aug 13 13:20:41 2009 -0600
+++ b/usr/src/lib/libzfs/common/libzfs_sendrecv.c	Thu Aug 13 12:34:00 2009 -0700
@@ -1334,12 +1334,13 @@
 		VERIFY(0 == nvlist_lookup_uint64(stream_nvfs,
 		    "parentfromsnap", &stream_parent_fromsnap_guid));
 
+		s1 = strrchr(fsname, '/');
+		s2 = strrchr(stream_fsname, '/');
+
 		/* check for rename */
 		if ((stream_parent_fromsnap_guid != 0 &&
 		    stream_parent_fromsnap_guid != parent_fromsnap_guid) ||
-		    ((s1 = strrchr(fsname, '/')) &&
-		    (s2 = strrchr(stream_fsname, '/')) &&
-		    strcmp(s1, s2) != 0)) {
+		    ((s1 != NULL) && (s2 != NULL) && strcmp(s1, s2) != 0)) {
 			nvlist_t *parent;
 			char tryname[ZFS_MAXNAMELEN];