Maligned causes incorrect deallocation
Moderate severity
GitHub Reviewed
Published
Mar 7, 2023
to the GitHub Advisory Database
•
Updated Mar 7, 2023
Description
Published to the GitHub Advisory Database
Mar 7, 2023
Reviewed
Mar 7, 2023
Last updated
Mar 7, 2023
maligned::align_first
manually allocates with an alignment larger than T, and then usesVec::from_raw_parts
on that allocation to get aVec<T>
.GlobalAlloc::dealloc
requires that thelayout
argument must be the same layout that was used to allocate that block of memory.When deallocating,
Box
andVec
may not respect the specified alignment and can cause undefined behavior.References