The graduateAndUpgrade
function assumes that each student has received the required 4 reviews but does not enforce this via a require
check.
The absence of a check on reviewCount
allows students to graduate without completing all required reviews, violating the system’s invariant:
System upgrade should not occur if any student has not gotten 4 reviews (one for each week)
This opens a logic flaw where under-reviewed students can be considered complete.
Students could be upgraded without completing all reviews
Compromises the integrity of the upgrade/graduation mechanism
Manual review
Inside graduateAndUpgrade()
add a check to ensur every student has exactly 4 reviews:
All students are graduated when the graduation function is called as the cut-off criteria is not applied.
All students are graduated when the graduation function is called as the cut-off criteria is not applied.
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.