PuppyRaffle uses single-step ownership for the changeFeeAddress() function
The PuppyRaffle::changeFeeAddress() function is used to change and set the feeAddress to the newly passed fee address from the function parameter. The problem is that there is a change in passing the wrong address as a function parameter, which will result in transferring the fees from the contract to the wrong address.
There is a posibility of passing the wrong feeAddress as a function parameter
Manual Review
One best practice here is to use a two-step ownership transfer pattern, which simply means that the transfer of the feeAddress will get to pending status, and then the new feeAddress owner should accept that, otherwise the address won't change. Also, the current owner can approve the 'newFeeAddress', and then the newFeeAddress can claim the pending ownership.
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.