mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
runtime: throw if the runtime panics with out of bounds index
If the runtime code panics due to a bad index or slice expression, then throw instead of panicing. This will skip calls to recover and dump the entire runtime stack trace. The runtime should never panic due to an out of bounds index, and this will help with debugging if it does. For #24991 Updates #25201 Change-Id: I85a9feded8f0de914ee1558425931853223c0514 Reviewed-on: https://go-review.googlesource.com/121515 Reviewed-by: Austin Clements <austin@google.com>
This commit is contained in:
parent
955cc07dde
commit
f43aa1df70
3 changed files with 59 additions and 0 deletions
|
|
@ -451,3 +451,13 @@ type G = g
|
|||
func Getg() *G {
|
||||
return getg()
|
||||
}
|
||||
|
||||
//go:noinline
|
||||
func PanicForTesting(b []byte, i int) byte {
|
||||
return unexportedPanicForTesting(b, i)
|
||||
}
|
||||
|
||||
//go:noinline
|
||||
func unexportedPanicForTesting(b []byte, i int) byte {
|
||||
return b[i]
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue