diff --git a/cartesi-rollups/contracts/src/Merkle.sol b/cartesi-rollups/contracts/src/Merkle.sol index af161b0c..23462035 100644 --- a/cartesi-rollups/contracts/src/Merkle.sol +++ b/cartesi-rollups/contracts/src/Merkle.sol @@ -142,7 +142,7 @@ library Merkle { /// @dev See `MerkleConstants` for leaf size. function getHashOfLeafAtIndex(bytes calldata data, uint256 leafIndex) internal pure returns (bytes32) { uint256 start = leafIndex << MerkleConstants.LOG2_LEAF_SIZE; - if (start < data.length) { + if (start < data.length && (start >> MerkleConstants.LOG2_LEAF_SIZE) == leafIndex) { /// forge-lint: disable-next-line(asm-keccak256) return keccak256(abi.encode(bytes32(data[start:]))); } else { diff --git a/test/Dockerfile b/test/Dockerfile index ecaac8f8..b7c63059 100644 --- a/test/Dockerfile +++ b/test/Dockerfile @@ -8,7 +8,7 @@ RUN <