Description
`maligned::align_first` manually allocates with an alignment larger than T, and then uses `Vec::from_raw_parts` on that allocation to get a `Vec<T>`.
[`GlobalAlloc::dealloc`](https://doc.rust-lang.org/std/alloc/trait.GlobalAlloc.html#tymethod.dealloc) requires that the `layout` argument must be the same layout that was used to allocate that block of memory.
When deallocating, `Box` and `Vec` may not respect the specified alignment and can cause undefined behavior.
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| crates.io | maligned | <= 0.2.1 | — | GHSA-wm8x-php5-hvq6 |
| crates.io | maligned | >= 0.0.0-0 | — | RUSTSEC-2023-0017 |