Avoid an off-by-one error when checking the start index of a string
slice by allowing the start index to be the string length instead
of the string length - 1.
Fixes golang/go#11522.
Reviewed-on: https://go-review.googlesource.com/13030
From-SVN: r227191
-d6d59d5927c4ea0c02468ebc6a2df431fb64595a
+14ca4b6130b9a7132d132f418e9ea283b3a52c08
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.
{
ival_valid = true;
if (mpz_sgn(ival) < 0
- || (sval_valid && mpz_cmp_ui(ival, sval.length()) >= 0))
+ || (sval_valid
+ && (this->end_ == NULL
+ ? mpz_cmp_ui(ival, sval.length()) >= 0
+ : mpz_cmp_ui(ival, sval.length()) > 0)))
{
error_at(this->start_->location(), "string index out of bounds");
this->set_is_error();