]> Cypherpunks.ru repositories - gostls13.git/commit
[release-branch.go1.20] crypto/subtle: don't cast to *uintptr when word size is 0
authorKeith Randall <khr@golang.org>
Thu, 30 Mar 2023 16:52:39 +0000 (09:52 -0700)
committerGopher Robot <gobot@golang.org>
Wed, 5 Apr 2023 16:51:32 +0000 (16:51 +0000)
commitdcc9bdf38037af6197f3f50968badb1f0db82e10
tree84e34ee5c4ef1da0b9dd817337a3e55a4ab65a9e
parent5c7c20e262bdef14c23bd07950bde94ba335ee63
[release-branch.go1.20] crypto/subtle: don't cast to *uintptr when word size is 0

Casting to a *uintptr is not ok if there isn't at least 8 bytes of
data backing that pointer (on 64-bit archs).
So although we end up making a slice of 0 length with that pointer,
the cast itself doesn't know that.
Instead, bail early if the result is going to be 0 length.

Fixes #59336

Change-Id: Id3c0e09d341d838835c0382cccfb0f71dc3dc7e6
Reviewed-on: https://go-review.googlesource.com/c/go/+/480575
Run-TryBot: Keith Randall <khr@golang.org>
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Reviewed-by: Emmanuel Odeke <emmanuel@orijtech.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Bryan Mills <bcmills@google.com>
(cherry picked from commit 297cf6dd31bd99fc4ccda320aa3d4faf290ab278)
Reviewed-on: https://go-review.googlesource.com/c/go/+/481238
Reviewed-by: Keith Randall <khr@google.com>
Auto-Submit: Michael Knyszek <mknyszek@google.com>
Run-TryBot: Michael Knyszek <mknyszek@google.com>
src/crypto/subtle/xor_generic.go
test/fixedbugs/issue59334.go [new file with mode: 0644]