Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 12 Oct 2016 05:10:05 +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-11@freebsd.org
Subject:   svn commit: r307104 - stable/11/cddl/contrib/opensolaris/lib/libzfs/common
Message-ID:  <201610120510.u9C5A5vj008502@repo.freebsd.org>

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

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

Modified: stable/11/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c
==============================================================================
--- stable/11/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c	Wed Oct 12 05:09:26 2016	(r307103)
+++ stable/11/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c	Wed Oct 12 05:10:05 2016	(r307104)
@@ -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?201610120510.u9C5A5vj008502>