Skip to content

Commit cc67317

Browse files
authored
Merge pull request #9 from bcnmy/fix/L02-length-check-for-Balance-fetcher
fix [L-02] length check for balance paramData
2 parents ed0b8d0 + 5ec5d47 commit cc67317

1 file changed

Lines changed: 5 additions & 0 deletions

File tree

contracts/ComposableExecutionLib.sol

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,11 +96,16 @@ library ComposableExecutionLib {
9696
address tokenAddr;
9797
address account;
9898
bytes calldata paramData = param.paramData;
99+
99100
// expect paramData to be abi.encodePacked(address token, address account)
101+
// Validate exact length requirement
102+
require(paramData.length == 40,
103+
InvalidParameterEncoding("Invalid paramData length"));
100104
assembly {
101105
tokenAddr := shr(96, calldataload(paramData.offset))
102106
account := shr(96, calldataload(add(paramData.offset, 0x14)))
103107
}
108+
104109
uint256 balance;
105110
if (tokenAddr == address(0)) {
106111
balance = account.balance;

0 commit comments

Comments
 (0)