The giveReview
function fails to increment the reviewCount
for students, allowing teachers to submit unlimited reviews despite the contract's requirement of a maximum of four reviews per student. Additionally, the system upgrade process does not enforce that all students have received exactly four reviews, violating core protocol rules.
giveReview
Function: The function does not increment the reviewCount
after submitting a review.
graduateAndUpgrade
Function: Missing validation to ensure all students have exactly four reviews before upgrading.
In giveReview, reviewCount[_student]
is checked (require(reviewCount[_student] < 5)
but never incremented. This allows bypassing the intended four-review limit.
The graduateAndUpgrade
function does not verify if all students have received four reviews.
Unlimited Reviews: Students may receive more than four reviews, skewing scores and allowing unfair graduations.
Incomplete Reviews: Upgrades can proceed without all students completing four reviews, violating protocol rules and risking invalid state transitions.
reviewCount
in giveReview
:Clarify the maximum reviews by updating the check to reviewCount[_student] < 4
if the intended limit is four (current logic allows five due to <5)
.
`reviewCount` for students is not updated after each review session
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.