Skip to content
Request an audit

‹ All findings

GovernorTimelock::_call() assembly revert block doesn't have the memory safe attribute

Low/InfoMaple Governor Timelock·Sherlock · Institutional lending · 8th September, 2025L-3

Summary

As per the Solidity docs, it's recommended to use memory safe.

While we recommend to always respect Solidity's memory model, inline assembly allows you to use memory in an incompatible way. Therefore, moving stack variables to memory and additional memory optimizations are, by default, globally disabled in the presence of any inline assembly block that contains a memory operation or assigns to Solidity variables in memory.

This is also in line with the OZ implementation.

Vulnerability Detail

Essentially certain optimizations are disabled when memory safe is not set in the assembly blocks, which is not recommended.

Impact

Undefined but it's better to follow the recommendations.

Code Snippet

https://github.com/sherlock-audit/2025-09-maple-sept-8th/pull/1/files#diff-8976e5067f2102ea34580e0de5ec6762a73d214088306194672c326512646a77R225

Tool Used

Manual Review

Recommendation

Add memory safe as per the OZ implementation.