Index: src/wasm/wasm-interpreter.cc |
diff --git a/src/wasm/wasm-interpreter.cc b/src/wasm/wasm-interpreter.cc |
index dda4c1bb7dab0d7e0eeeb13dd19effbb0b0c056d..6c40c52ec118b1737da9402a4955bd64e80e04bd 100644 |
--- a/src/wasm/wasm-interpreter.cc |
+++ b/src/wasm/wasm-interpreter.cc |
@@ -515,7 +515,8 @@ static int32_t ExecuteI32SConvertF64(double a, TrapReason* trap) { |
} |
static uint32_t ExecuteI32UConvertF32(float a, TrapReason* trap) { |
- if (a < (static_cast<float>(UINT32_MAX) + 1.0) && a > -1) { |
+ if (a < (static_cast<float>(static_cast<uint64_t>(UINT32_MAX) + 1)) && |
+ a > -1) { |
return static_cast<uint32_t>(a); |
} |
*trap = kTrapFloatUnrepresentable; |