aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/string.go
diff options
context:
space:
mode:
authorJosh Bleecher Snyder <josharian@gmail.com>2018-02-28 22:01:24 -0800
committerJosh Bleecher Snyder <josharian@gmail.com>2018-03-01 16:53:33 +0000
commitaa9c1a8f8038e88da6d7cbfdc56e34ff914b7b04 (patch)
treefdc360731de1cd8fe5d6464f80a3249f951a7c50 /src/runtime/string.go
parent77ba071ec6aef921eaaa50f84479bb1a9e15a268 (diff)
downloadgo-aa9c1a8f8038e88da6d7cbfdc56e34ff914b7b04.tar.xz
runtime: fix amd64p32 indexbytes in presence of overflow
When the slice/string length is very large, probably artifically large as in CL 97523, adding BX (length) to R11 (pointer) overflows. As a result, checking DI < R11 yields the wrong result. Since they will be equal when the loop is done, just check DI != R11 instead. Yes, the pointer itself could overflow, but if that happens, something else has gone pretty wrong; not our concern here. Fixes #24187 Change-Id: I2f60fc6ccae739345d01bc80528560726ad4f8c6 Reviewed-on: https://go-review.googlesource.com/97802 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
Diffstat (limited to 'src/runtime/string.go')
0 files changed, 0 insertions, 0 deletions