Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 1 Sep 2016 14:46:34 +0000 (UTC)
From:      Alexander Motin <mav@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r305202 - head/cddl/contrib/opensolaris/lib/libzfs/common
Message-ID:  <201609011446.u81EkY5o013394@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mav
Date: Thu Sep  1 14:46:33 2016
New Revision: 305202
URL: https://svnweb.freebsd.org/changeset/base/305202

Log:
  MFV r302654:
  6879 incorrect endianness swap for drr_spill.drr_length in libzfs_sendrecv.c
  
  illumos/illumos-gate@20fea7a47472aceb64d3ed48cc2a3ea268bc4795
  https://github.com/illumos/illumos-gate/commit/20fea7a47472aceb64d3ed48cc2a3ea26
  8bc4795
  
  https://www.illumos.org/issues/6879
    In libzfs_sendrecv, there's a typo:
    case DRR_SPILL:
                if (byteswap) {
                    drr->drr_u.drr_write.drr_length =
                        BSWAP_64(drr->drr_u.drr_spill.drr_length);
                }
    Instead of drr_write.drr_length, we should be assigning the result of the
    byteswap to drr_spill.drr_length.
  
  Reviewed by: Matthew Ahrens <mahrens@delphix.com>
  Reviewed by: Paul Dagnelie <pcd@delphix.com>
  Approved by: Robert Mustacchi <rm@joyent.com>
  Author: Dan Kimmel <dan.kimmel@delphix.com>

Modified:
  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c
Directory Properties:
  head/cddl/contrib/opensolaris/   (props changed)
  head/cddl/contrib/opensolaris/lib/libzfs/   (props changed)

Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c
==============================================================================
--- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c	Thu Sep  1 14:45:11 2016	(r305201)
+++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c	Thu Sep  1 14:46:33 2016	(r305202)
@@ -2967,7 +2967,7 @@ recv_skip(libzfs_handle_t *hdl, int fd, 
 			break;
 		case DRR_SPILL:
 			if (byteswap) {
-				drr->drr_u.drr_write.drr_length =
+				drr->drr_u.drr_spill.drr_length =
 				    BSWAP_64(drr->drr_u.drr_spill.drr_length);
 			}
 			(void) recv_read(hdl, fd, buf,



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201609011446.u81EkY5o013394>