Skip to content

Commit

Permalink
Fix note about undefined behavior (#2632)
Browse files Browse the repository at this point in the history
  • Loading branch information
randomPoison authored Feb 11, 2025
1 parent d998022 commit d732821
Showing 1 changed file with 2 additions and 3 deletions.
5 changes: 2 additions & 3 deletions src/unsafe-rust/unsafe-functions/calling.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,8 @@ Key points:
- The second argument to `slice::from_raw_parts` is the number of _elements_,
not bytes! This example demonstrates unexpected behavior by reading past the
end of one array and into another.
- This is not actually undefined behaviour, as `KeyPair` has a defined
representation (due to `repr(C)`) and no padding, so the contents of the
second array is also valid to read through the same pointer.
- This is undefined behavior because we're reading past the end of the array
that the pointer was derived from.
- `log_public_key` should be unsafe, because `pk_ptr` must meet certain
prerequisites to avoid undefined behaviour. A safe function which can cause
undefined behaviour is said to be `unsound`. What should its safety
Expand Down

0 comments on commit d732821

Please sign in to comment.