mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-20 02:42:27 +00:00
core/vm: also apply to old create
This commit is contained in:
parent
1766c8ff18
commit
a5478cab07
1 changed files with 4 additions and 1 deletions
|
|
@ -311,9 +311,12 @@ func gasCreateEip3860(evm *EVM, contract *Contract, stack *Stack, mem *Memory, m
|
||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
size, overflow := stack.Back(2).Uint64WithOverflow()
|
size, overflow := stack.Back(2).Uint64WithOverflow()
|
||||||
if overflow || size > params.MaxInitCodeSize {
|
if overflow {
|
||||||
return 0, ErrGasUintOverflow
|
return 0, ErrGasUintOverflow
|
||||||
}
|
}
|
||||||
|
if size > params.MaxInitCodeSize {
|
||||||
|
return 0, fmt.Errorf("%w: size %d", ErrMaxInitCodeSizeExceeded, size)
|
||||||
|
}
|
||||||
// Since size <= params.MaxInitCodeSize, these multiplication cannot overflow
|
// Since size <= params.MaxInitCodeSize, these multiplication cannot overflow
|
||||||
moreGas := params.InitCodeWordGas * ((size + 31) / 32)
|
moreGas := params.InitCodeWordGas * ((size + 31) / 32)
|
||||||
if gas, overflow = math.SafeAdd(gas, moreGas); overflow {
|
if gas, overflow = math.SafeAdd(gas, moreGas); overflow {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue