Add boundary check to avoid cross the border

Signed-off-by: fangyunzhong <fangyunzhong2@huawei.com>
This commit is contained in:
fangyunzhong 2023-01-07 02:05:44 +00:00
parent 0f54245188
commit e3a2be3767

View File

@ -772,6 +772,10 @@ void Reader::getLocationLineAndColumn(Location location, int& line,
while (current < location && current != end_) {
Char c = *current++;
if (c == '\r') {
// Add boundary check to avoid cross the border
if (current == end_) {
break;
}
if (*current == '\n')
++current;
lastLineStart = current;
@ -1838,6 +1842,10 @@ void OurReader::getLocationLineAndColumn(Location location, int& line,
while (current < location && current != end_) {
Char c = *current++;
if (c == '\r') {
// Add boundary check to avoid cross the border
if (current == end_) {
break;
}
if (*current == '\n')
++current;
lastLineStart = current;