pointing to the range [first character, last character] instead of just not
after the last character. Patch by Yan Ivnitskiy!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133867
91177308-0d34-0410-b5e6-
96231b3b80d8
// Check that the block wasn't partially defined, and that the offset isn't
// bogus.
- if (AtEndOfStream() || NextChar+NumWords*4 > BitStream->getLastChar())
+ const unsigned char *const SkipTo = NextChar + NumWords*4;
+ if (AtEndOfStream() || SkipTo > BitStream->getLastChar() ||
+ SkipTo < BitStream->getFirstChar())
return true;
- NextChar += NumWords*4;
+ NextChar = SkipTo;
return false;
}