Missing Session End Validation in graduateAndUpgrade()
According to the provided invariants, system upgrade cannot take place unless the school's sessionEnd
has been reached. However, the graduateAndUpgrade()
function lacks this validation, allowing premature graduation.
Severity: High (High Impact, Medium Likelihood)
Manual review
Add a check to ensure the session has ended:
`graduateAndUpgrade()` can be called successfully even when the school session has not ended
`graduateAndUpgrade()` can be called successfully even when the school session has not ended
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.