From 9f8026c802bf3ed23c66295ac4a0b07aa2cba528 Mon Sep 17 00:00:00 2001 From: Denys Rtveliashvili Date: Mon, 9 May 2016 19:22:00 +0100 Subject: [PATCH] OpenZFS 6879 - Incorrect endianness swap Authored by: Dan Kimmel Reviewed by: Matthew Ahrens Reviewed by: Paul Dagnelie Ported-by: Denys Rtveliashvili Signed-off-by: Brian Behlendorf Incorrect endianness swap for drr_spill.drr_length in libzfs_sendrecv.c Instead of drr_write.drr_length, we should be assigning the result of the byteswap to drr_spill.drr_length. OpenZFS-issue: https ://www.illumos.org/issues/6879 OpenZFS-commit: https ://github.com/openzfs/openzfs/commit/74c8720 Closes #4613 --- lib/libzfs/libzfs_sendrecv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libzfs/libzfs_sendrecv.c b/lib/libzfs/libzfs_sendrecv.c index 92a55f77c..46640f623 100644 --- a/lib/libzfs/libzfs_sendrecv.c +++ b/lib/libzfs/libzfs_sendrecv.c @@ -2619,7 +2619,7 @@ recv_skip(libzfs_handle_t *hdl, int fd, boolean_t byteswap) 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, -- 2.40.0