How Does a Non-Reverting External Call Return Value Affect Contract Security?

The low-level call function returns a boolean value indicating success or failure. If the external call fails (e.g. due to an out-of-gas error or a revert in the recipient), the call function itself does not automatically revert the caller's transaction.

Failing to check this return value and proceeding with state changes can lead to inconsistent contract state, even without a reentrancy attack.

Can SPV Be Used to Verify the State of a Smart Contract?
How Can Investors Check a token’S Contract for Potential’rug Pull’ Functions?
What Is the Difference between Require() and Checking the Call Return Value?
What Is the Primary Difference between a ‘View’ Function and a ‘State-Changing’ Function?
What Is a Common Pattern for Handling the Success of an External Call ?
Why Must State Updates Occur before External Calls?
What Is a “Rollback” in the Context of a Blockchain and What Are Its Consequences?
How Do State Changes in a Smart Contract Get Recorded on the Blockchain?

Glossar