mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-14 16:33:28 +00:00
YAMLParser: Fix invalid reads when encountering incorrectly quoted scalar.
Fixes PR12632. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164701 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
be3338a5de
commit
696e06e453
@ -903,6 +903,7 @@ bool Scanner::consume(uint32_t Expected) {
|
|||||||
void Scanner::skip(uint32_t Distance) {
|
void Scanner::skip(uint32_t Distance) {
|
||||||
Current += Distance;
|
Current += Distance;
|
||||||
Column += Distance;
|
Column += Distance;
|
||||||
|
assert(Current <= End && "Skipped past the end");
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Scanner::isBlankOrBreak(StringRef::iterator Position) {
|
bool Scanner::isBlankOrBreak(StringRef::iterator Position) {
|
||||||
@ -1239,6 +1240,12 @@ bool Scanner::scanFlowScalar(bool IsDoubleQuoted) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (Current == End) {
|
||||||
|
setError("Expected quote at end of scalar", Current);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
skip(1); // Skip ending quote.
|
skip(1); // Skip ending quote.
|
||||||
Token T;
|
Token T;
|
||||||
T.Kind = Token::TK_Scalar;
|
T.Kind = Token::TK_Scalar;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user