Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 12 Oct 2016 05:38:45 +0000 (UTC)
From:      Alexander Motin <mav@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject:   svn commit: r307118 - stable/10/cddl/contrib/opensolaris/lib/libzfs/common
Message-ID:  <201610120538.u9C5cjlf021344@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mav
Date: Wed Oct 12 05:38:44 2016
New Revision: 307118
URL: https://svnweb.freebsd.org/changeset/base/307118

Log:
  MFC r305202: 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:
  stable/10/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c
==============================================================================
--- stable/10/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c	Wed Oct 12 05:37:54 2016	(r307117)
+++ stable/10/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c	Wed Oct 12 05:38:44 2016	(r307118)
@@ -2968,7 +2968,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?201610120538.u9C5cjlf021344>