In the constructor, the initialization of the CharityRegistry object is performed using the msg.sender address instead of the _registry argument.
For initialization of the CharityRegistry is using msg.senderaddress insted of _registrywhich is argument for this constructor.
If the wrong address for the CharityRegistry is set during initialization, it disrupts the protocol. Consequently, the donate function will fail to execute. This is due to the check registry.isVerified(charity), which ensures that the charity is verified. If this verification fails because the CharityRegistry address is incorrect, the donate function cannot proceed.
manual review
Please utilize the _registry argument instead of msg.sender.
Likelyhood: High, the parameter is not well used and won't be set. Impact: Low, can be changed with the setter and no one will be able to donate to malicious charity.
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.