Description: The contract lacks zero address validation in critical functions such as CharityRegistry::changeAdmin() and CharityRegistry::registerCharity() where addresses are used as parameters. This could lead to irrecoverable states if zero addresses are accidentally input.
Impact:
Admin role could be permanently lost if set to zero address
Charities could be registered with zero address
No way to recover from these states due to lack of validation
Proof of Concept:
Recommended Mitigation: Add zero address validation checks such as given below:
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.