GovernorTimelock::_call() assembly revert block doesn't have the memory safe attribute
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
Tool Used
Manual Review
Recommendation
Add memory safe as per the OZ implementation.