From 1a9855486fdf35299f91be13ba9c69845cceaa66 Mon Sep 17 00:00:00 2001 From: Marius van der Wijden Date: Tue, 2 Jul 2024 13:05:33 +0200 Subject: [PATCH] core/vm: fix create, reject EOF deployment from legacy contracts --- core/vm/evm.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/core/vm/evm.go b/core/vm/evm.go index 3583f62bbc..9060898190 100644 --- a/core/vm/evm.go +++ b/core/vm/evm.go @@ -567,6 +567,10 @@ func (evm *EVM) create(caller ContractRef, codeAndHash *codeAndHash, gas uint64, if err == nil && isInitcodeEOF && !hasEOFMagic(ret) { err = ErrLegacyCode } + // Reject EOF deployment from legacy. + if err == nil && !isInitcodeEOF && hasEOFMagic(ret) { + err = ErrLegacyCode + } // Reject code starting with 0xEF if EIP-3541 is enabled. if err == nil && len(ret) >= 1 && HasEOFByte(ret) {