Missing increment of reviewCount in giveReview allows infinite reviews, breaking the 4-review limit and upgrade invariant.
The giveReview function in LevelOne.sol checks reviewCount[_student] < 5 to limit reviews but fails to increment reviewCount after a review is given. This allows Teachers to submit unlimited reviews to a student, violating the invariant of "1 review per week" and enabling bypass of the "4 reviews required before upgrade" check in graduateAndUpgrade.
Allows invalid upgrades and inconsistent student scoring, compromising the system's integrity.
Manual code review and Foundry testing.
Add reviewCount[_student]++; in the giveReview function after the review logic to correctly track the number of reviews.
`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.