[flang-commits] [flang] [flang][runtime] Fix integer overflow check in FORMAT (PR #79368)
Peter Klausler via flang-commits
flang-commits at lists.llvm.org
Wed Jan 24 16:03:24 PST 2024
================
@@ -214,15 +215,13 @@ template <typename CHAR> void FormatValidator<CHAR>::NextToken() {
case '7':
case '8':
case '9': {
- int64_t lastValue;
const CHAR *lastCursor;
integerValue_ = 0;
bool overflow{false};
do {
- lastValue = integerValue_;
lastCursor = cursor_;
integerValue_ = 10 * integerValue_ + c - '0';
- if (lastValue > integerValue_) {
+ if (integerValue_ > std::numeric_limits<int>::max()) {
----------------
klausler wrote:
`integerValue_` hasn't overflowed its 64-bit range, and can be compared to the max 32-bit value safely.
https://github.com/llvm/llvm-project/pull/79368
More information about the flang-commits
mailing list