Root Cause: The GivingThanks contract's constructor ignores the _registry parameter and incorrectly sets the registry to CharityRegistry(msg.sender).
Impact: The contract may interact with an unintended or incorrect registry, leading to failed function calls or unexpected behavior.
Constructor Code:
Issue: Ignores _registry parameter.
Consequence: The registry points to the deployer's address, not the intended CharityRegistry contract.
Correct the Constructor Implementation:
Validate Constructor Parameters:
Ensure _registry is a valid address.
Optionally, add a require statement:
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.