GitHub Advisoryadvisory · crates.io

GHSA-jqcp-xc3v-f446 fast-float2 has a segmentation fault due to lack of bound check

MEDIUM Published 2025-01-29 Modified 2025-01-29 Official page ↗
Ecosystem
crates.io
Packages
fast-float2
Severity
Moderate
Reviewed
2025-01-29

Affected packages

• crates.io fast-float2: < 0.2.2 → fixed in 0.2.2

Description

In this case, the "fast_float2::common::AsciiStr::first" method within the "AsciiStr" struct uses the unsafe keyword to reading from memory without performing bounds checking. Specifically, it directly dereferences a pointer offset by "self.ptr". Because of the above reason, the method accesses invalid memory address when it takes an empty string as its input. This approach violates Rust’s memory safety guarantees, as it can lead to invalid memory access if empty buffer is provided.

References