The array parameters are unbounded.
The areListsValid function takes two unbounded array parameters, recipients and amounts, which can potentially lead to an out-of-gas error if the arrays are large enough.
Moreso, the areListsValid function has a nested loop structure that iterates over the recipients array and, for each element, iterates over the remaining elements to check for duplicates.
For large input arrays, the gas consumption of this function can quickly exceed the gas limit, causing the transaction to fail with an out-of-gas error.
When the function is called with large input arrays, it can lead to failed transactions.
Manual review
Impose a maximum length restriction on the input arrays to prevent excessively large inputs.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.