mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-12 17:25:49 +00:00
[Support/YAMLParser] Fix ASan found bugs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155735 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -755,6 +755,8 @@ Token Scanner::getNext() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
StringRef::iterator Scanner::skip_nb_char(StringRef::iterator Position) {
|
StringRef::iterator Scanner::skip_nb_char(StringRef::iterator Position) {
|
||||||
|
if (Position == End)
|
||||||
|
return Position;
|
||||||
// Check 7 bit c-printable - b-char.
|
// Check 7 bit c-printable - b-char.
|
||||||
if ( *Position == 0x09
|
if ( *Position == 0x09
|
||||||
|| (*Position >= 0x20 && *Position <= 0x7E))
|
|| (*Position >= 0x20 && *Position <= 0x7E))
|
||||||
@@ -778,6 +780,8 @@ StringRef::iterator Scanner::skip_nb_char(StringRef::iterator Position) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
StringRef::iterator Scanner::skip_b_break(StringRef::iterator Position) {
|
StringRef::iterator Scanner::skip_b_break(StringRef::iterator Position) {
|
||||||
|
if (Position == End)
|
||||||
|
return Position;
|
||||||
if (*Position == 0x0D) {
|
if (*Position == 0x0D) {
|
||||||
if (Position + 1 != End && *(Position + 1) == 0x0A)
|
if (Position + 1 != End && *(Position + 1) == 0x0A)
|
||||||
return Position + 2;
|
return Position + 2;
|
||||||
@@ -1211,7 +1215,9 @@ bool Scanner::scanFlowScalar(bool IsDoubleQuoted) {
|
|||||||
++Current;
|
++Current;
|
||||||
// Repeat until the previous character was not a '\' or was an escaped
|
// Repeat until the previous character was not a '\' or was an escaped
|
||||||
// backslash.
|
// backslash.
|
||||||
} while (*(Current - 1) == '\\' && wasEscaped(Start + 1, Current));
|
} while ( Current != End
|
||||||
|
&& *(Current - 1) == '\\'
|
||||||
|
&& wasEscaped(Start + 1, Current));
|
||||||
} else {
|
} else {
|
||||||
skip(1);
|
skip(1);
|
||||||
while (true) {
|
while (true) {
|
||||||
|
Reference in New Issue
Block a user