How Do Gas Limitations Prevent Reentrancy in Some Cases?
The Solidity transfer() and send() methods, when used to send Ether, limit the amount of gas forwarded to the recipient contract to a fixed amount (2300 gas). This small gas stipend is generally enough to log an event but is insufficient to perform any complex state-changing operations, including calling back into the original contract to execute a reentrancy attack.
While this was a common defense, modern contracts often use call.value() which does not impose this gas limit, requiring explicit CEI pattern use.