svn commit: r302654 - vendor/illumos/dist/lib/libzfs/common

Andriy Gapon avg at FreeBSD.org
Tue Jul 12 11:52:34 UTC 2016


Author: avg
Date: Tue Jul 12 11:52:33 2016
New Revision: 302654
URL: https://svnweb.freebsd.org/changeset/base/302654

Log:
  6879 incorrect endianness swap for drr_spill.drr_length in libzfs_sendrecv.c
  
  illumos/illumos-gate at 20fea7a47472aceb64d3ed48cc2a3ea268bc4795
  https://github.com/illumos/illumos-gate/commit/20fea7a47472aceb64d3ed48cc2a3ea268bc4795
  
  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 at delphix.com>
  Reviewed by: Paul Dagnelie <pcd at delphix.com>
  Approved by: Robert Mustacchi <rm at joyent.com>
  Author: Dan Kimmel <dan.kimmel at delphix.com>

Modified:
  vendor/illumos/dist/lib/libzfs/common/libzfs_sendrecv.c

Modified: vendor/illumos/dist/lib/libzfs/common/libzfs_sendrecv.c
==============================================================================
--- vendor/illumos/dist/lib/libzfs/common/libzfs_sendrecv.c	Tue Jul 12 11:48:59 2016	(r302653)
+++ vendor/illumos/dist/lib/libzfs/common/libzfs_sendrecv.c	Tue Jul 12 11:52:33 2016	(r302654)
@@ -2928,7 +2928,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,


More information about the svn-src-all mailing list