Beatland Festival

First Flight #44
Beginner FriendlyFoundrySolidityNFT
100 EXP
View results
Submission Details
Impact: high
Likelihood: low
Invalid

Missing Zero Address Check in BeatToken::setFestivalContract

Missing zero address check in BeatToken::setFestivalContract, may lead to invalid contract assignment

Description

  • The BeatToken::setFestivalContract function allows the owner to assign a festival contract address.

  • But it does not validate that the provided address is non-zero.

function setFestivalContract(address _festival) external onlyOwner {
require(festivalContract == address(0), "Festival contract already set");
@> festivalContract = _festival;
}

Risk

Likelihood:

  • Low: As owner is resposible for setting festivalContract address.

Impact:

  • High: This could break the whole functionality where the festival contract is referenced, leading to failed external calls always.

Recommended Mitigation

Add a check to ensure the _festival address is non-zero before assignment:

function setFestivalContract(address _festival) external onlyOwner {
+ require(_festival != address(0), "Invalid festival address");
require(festivalContract == address(0), "Festival contract already set"); //@audit cannot be reused for other festivals
festivalContract = _festival;
}
Updates

Lead Judging Commences

inallhonesty Lead Judge 3 months ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity
Assigned finding tags:

Zero address check

Owner/admin is trusted / Zero address check - Informational

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.