Skip to content

Conversation

@jurajpiar
Copy link

Description

Tests

Additional context

Metadata

@jurajpiar jurajpiar requested a review from a team as a code owner November 19, 2025 10:23
// the necessary steps to create accounts and reverses the state in case of an
// execution error or failed value transfer.
func (evm *EVM) Call(caller common.Address, addr common.Address, input []byte, gas uint64, value *uint256.Int) (ret []byte, leftOverGas uint64, err error) {
fmt.Println("evm.go ~ EVM ~ Call ~ Calling contract", caller, addr, string(input[:10]), gas, value)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Medium Severity severity

Denial of Service (DoS): unbounded debug logging in EVM.Call

A stray fmt.Println in core/vm/evm.go within the hot-path EVM.Call method emits a log on every contract invocation, risking I/O saturation and node unresponsiveness under high load.

Remove or gate the debug fmt.Println calls behind a configurable log level (e.g., debug-only) to avoid unbounded logging in production.

Suggested change
fmt.Println("evm.go ~ EVM ~ Call ~ Calling contract", caller, addr, string(input[:10]), gas, value)

Don't like this finding? Reply "dismiss" and it won't appear again in future scans.

If it's acknowledged or addressed, reply "resolve" to mark it resolved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant