Skip to content

Conversation

alexcrichton
Copy link
Owner

Adding more than isize::MAX to a pointer is UB and this is possible on 32-bit platforms when most of the address space is allocated. This commit updates to using wrapping_* methods which are not UB to add more than isize::MAX. This is another alternative fix to rust-lang/rust#144199.

Adding more than `isize::MAX` to a pointer is UB and this is possible on
32-bit platforms when most of the address space is allocated. This
commit updates to using `wrapping_*` methods which are not UB to add
more than `isize::MAX`. This is another alternative fix to
rust-lang/rust#144199.
@alexcrichton alexcrichton merged commit 4dc8e47 into main Jul 22, 2025
24 checks passed
@alexcrichton alexcrichton deleted the wrapping-math branch July 22, 2025 17:36
alexcrichton added a commit to alexcrichton/rust that referenced this pull request Jul 23, 2025
This primarily pulls in alexcrichton/dlmalloc-rs#55 and
alexcrichton/dlmalloc-rs#54 to address rust-lang#144199. Notably the highest byte
in the wasm address space is no longer allocatable and additionally the
allocator internally uses `wrapping_add` instead of `add` on pointers
since on 32-bit platforms offsets might be larger than half the address
space.

Closes rust-lang#144199
fmease added a commit to fmease/rust that referenced this pull request Jul 24, 2025
…rk-Simulacrum

Update `dlmalloc` dependency of libstd

This primarily pulls in alexcrichton/dlmalloc-rs#55 and alexcrichton/dlmalloc-rs#54 to address rust-lang#144199. Notably the highest byte in the wasm address space is no longer allocatable and additionally the allocator internally uses `wrapping_add` instead of `add` on pointers since on 32-bit platforms offsets might be larger than half the address space.

Closes rust-lang#144199
fmease added a commit to fmease/rust that referenced this pull request Jul 25, 2025
…rk-Simulacrum

Update `dlmalloc` dependency of libstd

This primarily pulls in alexcrichton/dlmalloc-rs#55 and alexcrichton/dlmalloc-rs#54 to address rust-lang#144199. Notably the highest byte in the wasm address space is no longer allocatable and additionally the allocator internally uses `wrapping_add` instead of `add` on pointers since on 32-bit platforms offsets might be larger than half the address space.

Closes rust-lang#144199
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Jul 25, 2025
…rk-Simulacrum

Update `dlmalloc` dependency of libstd

This primarily pulls in alexcrichton/dlmalloc-rs#55 and alexcrichton/dlmalloc-rs#54 to address rust-lang#144199. Notably the highest byte in the wasm address space is no longer allocatable and additionally the allocator internally uses `wrapping_add` instead of `add` on pointers since on 32-bit platforms offsets might be larger than half the address space.

Closes rust-lang#144199
tgross35 added a commit to tgross35/rust that referenced this pull request Jul 26, 2025
…rk-Simulacrum

Update `dlmalloc` dependency of libstd

This primarily pulls in alexcrichton/dlmalloc-rs#55 and alexcrichton/dlmalloc-rs#54 to address rust-lang#144199. Notably the highest byte in the wasm address space is no longer allocatable and additionally the allocator internally uses `wrapping_add` instead of `add` on pointers since on 32-bit platforms offsets might be larger than half the address space.

Closes rust-lang#144199
rust-timer added a commit to rust-lang/rust that referenced this pull request Jul 26, 2025
Rollup merge of #144364 - alexcrichton:update-dlmalloc, r=Mark-Simulacrum

Update `dlmalloc` dependency of libstd

This primarily pulls in alexcrichton/dlmalloc-rs#55 and alexcrichton/dlmalloc-rs#54 to address #144199. Notably the highest byte in the wasm address space is no longer allocatable and additionally the allocator internally uses `wrapping_add` instead of `add` on pointers since on 32-bit platforms offsets might be larger than half the address space.

Closes #144199
github-actions bot pushed a commit to model-checking/verify-rust-std that referenced this pull request Jul 30, 2025
…rk-Simulacrum

Update `dlmalloc` dependency of libstd

This primarily pulls in alexcrichton/dlmalloc-rs#55 and alexcrichton/dlmalloc-rs#54 to address rust-lang#144199. Notably the highest byte in the wasm address space is no longer allocatable and additionally the allocator internally uses `wrapping_add` instead of `add` on pointers since on 32-bit platforms offsets might be larger than half the address space.

Closes rust-lang#144199
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant