Use slice::copy_within in metadata::read

This commit is contained in:
Jack Grigg
2019-11-28 17:58:19 +00:00
parent 8b86a0f578
commit 7c08674fac
+1 -5
View File
@@ -31,7 +31,6 @@
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
use crate::{consts::*, error::Error, serialization::*, transaction::Transaction, Buffer}; use crate::{consts::*, error::Error, serialization::*, transaction::Transaction, Buffer};
use std::ptr;
use zeroize::Zeroizing; use zeroize::Zeroizing;
/// Get metadata item /// Get metadata item
@@ -186,10 +185,7 @@ pub(crate) fn read(txn: &Transaction<'_>, tag: u8) -> Result<Buffer, Error> {
return Err(Error::GenericError); return Err(Error::GenericError);
} }
unsafe { data.copy_within(offset..offset + pcb_data, 0);
ptr::copy(data.as_ptr().add(offset), data.as_mut_ptr(), pcb_data);
}
data.truncate(pcb_data); data.truncate(pcb_data);
Ok(data) Ok(data)
} }