diff --git a/src/header/sys_uio/mod.rs b/src/header/sys_uio/mod.rs
index f956740e73c12765fd9f0d333c42849f16e82ceb..47a9b5a3a7dc26efa7c001b545ccb08d24df332c 100644
--- a/src/header/sys_uio/mod.rs
+++ b/src/header/sys_uio/mod.rs
@@ -34,7 +34,7 @@ unsafe fn scatter(iovs: &[iovec], vec: Vec<u8>) {
     let mut i = 0;
     for iov in iovs.iter() {
         let slice = iov.to_slice();
-        slice.copy_from_slice(&vec[i..]);
+        slice.copy_from_slice(&vec[i..][..slice.len()]);
         i += slice.len();
     }
 }