Skip to content

Commit

Permalink
Removed signature length check
Browse files Browse the repository at this point in the history
  • Loading branch information
remedcu committed Jul 17, 2024
1 parent f721078 commit 8f9aeea
Showing 1 changed file with 3 additions and 4 deletions.
7 changes: 3 additions & 4 deletions modules/4337/certora/harnesses/Account.sol
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,8 @@ contract Account is Safe {
For more details: https://docs.safe.global/advanced/smart-account-signatures
*/
function canonicalSignatureHash(bytes calldata signatures, uint256 safeThreshold) public pure returns (bytes32 canonical) {
uint256 dynamicOffset = safeThreshold * 0x41;
uint256 dynamicOffsetStart = safeThreshold * 0x41;
uint256 dynamicOffset = dynamicOffsetStart;
bytes memory staticPart = signatures[:dynamicOffset];
bytes memory dynamicPart = "";

Expand All @@ -86,11 +87,9 @@ contract Account is Safe {
// the signature to the dynamic part.
if (v == 0) {
uint256 signatureOffset = uint256(bytes32(signatures[ptr + 0x20:]));
require(signatureOffset >= dynamicOffset, "Invalid signature offset");
require(signatureOffset >= dynamicOffsetStart, "Invalid signature offset");

uint256 signatureLength = uint256(bytes32(signatures[signatureOffset:]));
require(signatureLength > 0, "Invalid signature length");

bytes memory signature = signatures[signatureOffset+0x20:][:signatureLength];

// Make sure to update the static part so that the smart contract signature
Expand Down

0 comments on commit 8f9aeea

Please sign in to comment.