]> Cypherpunks repositories - gostls13.git/commit
text/scanner: don't crash when calling TokenText in error handler
authorRobert Griesemer <gri@golang.org>
Mon, 14 Jan 2019 21:34:42 +0000 (13:34 -0800)
committerRobert Griesemer <gri@golang.org>
Mon, 11 Feb 2019 23:25:32 +0000 (23:25 +0000)
commit85c1798ac60917857fe33dd2722cc56fa323313a
tree9773cdcaadaae9c1b1b5defc5a17136a2e544192
parent69de40c9af9253cc738f4c4ac2a7be37bff5be94
text/scanner: don't crash when calling TokenText in error handler

Make sure Scanner.tokEnd is set before we call Scanner.Error
and update documentation accordingly.
(Until now tokEnd was only set before returning from Scan,
so a call to TokenText during error handling may have crashed.)

While at it, tighten a check in Scanner.TokenText to ensure
Scanner.tokEnd >= Scanner.tokPos if we have a token.

Also, silence error messages to Stderr in unrelated TestIllegalExponent.

Fixes #29723.

Change-Id: Ia97beeae91eaf9e0ed3dada0a806f1f7122461cc
Reviewed-on: https://go-review.googlesource.com/c/157819
Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
src/text/scanner/scanner.go
src/text/scanner/scanner_test.go