Use slice::copy_within in metadata::read
This commit is contained in:
+1
-5
@@ -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)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user