-
Notifications
You must be signed in to change notification settings - Fork 11
Open
Description
Hi, I am scanning the t1ha in the latest version with my own static analyzer tool.
Unsafe conversion found at: /src/t1ha1.rs#L58
let mut v = data.as_ptr() as *const u64;
if unlikely(len > 32) {
...This unsound implementation would create a misalignment issues if the type size of [u8] is smaller than the type size of u64.
The problematic value is further manipulated at: /src/t1ha1.rs#L66-69
let w0 = T::fetch(v.offset(0));
let w1 = T::fetch(v.offset(1));
let w2 = T::fetch(v.offset(2));
let w3 = T::fetch(v.offset(3));This would potentially cause undefined behaviors in Rust. If we further manipulate the problematic converted types, it would potentially lead to different consequences such as access out-of-bound. I am reporting this issue for your attention.
Metadata
Metadata
Assignees
Labels
No labels