compiler: Allow string slices with start index == length.
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
This commit is contained in:
parent
c316b5e4f1
commit
60c47c0073
|
@ -1,4 +1,4 @@
|
|||
d6d59d5927c4ea0c02468ebc6a2df431fb64595a
|
||||
14ca4b6130b9a7132d132f418e9ea283b3a52c08
|
||||
|
||||
The first line of this file holds the git revision number of the last
|
||||
merge done from the gofrontend repository.
|
||||
|
|
|
@ -10341,7 +10341,10 @@ String_index_expression::do_check_types(Gogo*)
|
|||
{
|
||||
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();
|
||||
|
|
Loading…
Reference in New Issue