Beginner FriendlyFoundry
100 EXP
View results
Submission Details
Severity: low
Invalid

`ThePredicter::withdraw()` has external calls inside a loop: cScore = scoreBoard. This results in the contract being at risk of be susceptible to a denial-of-service attack.

Summary

Calls inside a loop might lead to a denial-of-service attack.

Vulnerability Details

- getPlayerScore(players[i]) (src/ThePredicter.sol#122)

Impact

Loops in withdraw() can be problematic if players array is large.

Tools Used

Slither

Recommendations

Consider alternative designs to avoid unbounded loops by favoring pull over push (https://github.com/ethereum/wiki/wiki/Safety#favor-pull-over-push-for-external-calls) strategy for external calls.

Updates

Lead Judging Commences

NightHawK Lead Judge 11 months ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity

Support

FAQs

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