- Reported
-
- Issued
-
- Package
-
bitmaps
(crates.io)
- Type
-
INFO
Unsound
- Categories
-
- References
-
- Patched
-
no patched versions
- Unaffected
-
Description
The TryFrom<&[u8]> implementation for Bitmap<SIZE> copies the input bytes
into an uninitialized backing store and calls assume_init() without
validating that the bytes form a valid value of the backing store type. For
SIZE = 1 the backing store is a bool, so any input byte other than 0x00
or 0x01 produces an invalid value, which is immediate undefined behavior.
The AsMut<[u8]> implementation has the same problem, as it allows safe code
to write invalid bit patterns into the backing store through the returned slice.
No fixed version is available, as the crate is unmaintained; its GitHub
repository was archived by the owner on 2026-05-03.
Advisory available under CC0-1.0
license.