From 4cd13c9dec67c874d0487029de4d4ae7997ef0d0 Mon Sep 17 00:00:00 2001 From: Jorge Silva Date: Fri, 5 May 2023 12:03:03 +0100 Subject: [PATCH 1/2] prevent overflow on minBurn --- packages/vm/gas/table.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/vm/gas/table.go b/packages/vm/gas/table.go index 3a57344be4..a2916b2c2f 100644 --- a/packages/vm/gas/table.go +++ b/packages/vm/gas/table.go @@ -101,6 +101,10 @@ func linear(a uint64) BurnFunction { func minBurn(minGasBurn uint64) BurnFunction { return func(currentBurnedGas uint64) uint64 { - return minGasBurn - currentBurnedGas + ret := minGasBurn - currentBurnedGas + if ret > minGasBurn { + return 0 // prevent overflow + } + return ret } } From ff47075aa74b7c949894953b57c4958d9201c442 Mon Sep 17 00:00:00 2001 From: muXxer Date: Mon, 8 May 2023 11:40:42 +0200 Subject: [PATCH 2/2] Improve readability in minBurn --- packages/vm/gas/table.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/vm/gas/table.go b/packages/vm/gas/table.go index a2916b2c2f..9499e0be75 100644 --- a/packages/vm/gas/table.go +++ b/packages/vm/gas/table.go @@ -101,10 +101,11 @@ func linear(a uint64) BurnFunction { func minBurn(minGasBurn uint64) BurnFunction { return func(currentBurnedGas uint64) uint64 { - ret := minGasBurn - currentBurnedGas - if ret > minGasBurn { - return 0 // prevent overflow + if minGasBurn < currentBurnedGas { + // prevent overflow + return 0 } - return ret + + return minGasBurn - currentBurnedGas } }