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.