-
Notifications
You must be signed in to change notification settings - Fork 15
Open
Description
Hi, I am scanning the base-x in the latest version with my own static analyzer tool.
Unsafe conversion found at: src/bigint.rs:115:30: 115:65.
let mut bytes = Vec::with_capacity(len);
unsafe {
bytes.set_len(len);
let chunks_ptr = (self.chunks.as_ptr() as *const u8).offset(skip as isize);
ptr::copy_nonoverlapping(chunks_ptr, bytes.as_mut_ptr(), len);
}
This unsound implementation would create a misalignment issues from different integers.
The problematic value is further manipulated at: src/bigint.rs:115:30: 115:87
This would potentially cause undefined behaviors in Rust. If we further manipulate the problematic converted types, it would potentially lead to different consequences. I am reporting this issue for your attention.
Metadata
Metadata
Assignees
Labels
No labels