setFeeCollector function in RAACToken contract is implemented as follows:
The problem arises because there is no check that _feeCollector != feeCollector. This means it is possible to call setFeeCollector and pass the zero address even if feeCollector is already 0.
This means is it possible to trigger FeeCollectionDisabled event emission without actually disabling the fee collector (because already disabled).
The impact of this issue is low as it leads to wrong event emission.
Manual review
setFeeCollector calls should revert if provided _feeCollector argument is 0 while fee collection is disabled (feeCollector is 0). But a more general solution would be to just check that _feeCollector != feeCollector, while simplifying one of the other check:
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.