Fix improper unaligned reads in value_from_ptr
#277
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
copy_nonoverlapping documents that its pointer must be aligned for a valid read, otherwise the call will be UB.
This patch will fix that, and I believe it will fix #269. (I tried @igor-petruk's oatbar at commit igor-petruk/oatbar@baf1627 which is what he linked in the issue, changed the Cargo.toml to depend on my local copy that had this change and did
cargo run
, and I didn't get a crash.)This was only somewhat recently noticed because Rust started checking these preconditions in Rust 1.78.
As some notes:
debug_assert!(!ptr.is_null())
to this function?read_unaligned
?