Skip to content

Commit 2e26cae

Browse files
committed
ckd_add
1 parent c5dd173 commit 2e26cae

File tree

1 file changed

+3
-6
lines changed

1 file changed

+3
-6
lines changed

src/wasm-interpreter.h

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3178,14 +3178,11 @@ class ModuleRunnerBase : public ExpressionRunner<SubType> {
31783178
Flow fail = Literal::makeFromInt64(-1, table->indexType);
31793179
uint64_t delta = deltaFlow.getSingleValue().getUnsigned();
31803180

3181-
if (tableSize + delta < tableSize) {
3181+
uint64_t newSize;
3182+
if (std::ckd_add(&newSize, tableSize, delta)) {
31823183
return fail;
31833184
}
3184-
if (tableSize + delta > table->max) {
3185-
return fail;
3186-
}
3187-
Index newSize = tableSize + delta;
3188-
if (newSize > WebLimitations::MaxTableSize) {
3185+
if (newSize > table->max || newSize > WebLimitations::MaxTableSize) {
31893186
return fail;
31903187
}
31913188
if (!info.interface()->growTable(

0 commit comments

Comments
 (0)