The LevelOne contract lacks a mechanism to prevent expelled students from immediately re-enrolling in the school. When a student is expelled through the expel() function, their records are removed from active students, but no blacklisting or cooldown period is implemented to prevent them from calling the enroll() function again.
Let's examine the relevant functions:
Expel Function:
Enroll Function:
Undermines Disciplinary Actions: The ability to re-enroll defeats the purpose of expulsion as a disciplinary measure, rendering administrative authority ineffective.
Financial Exploitation: An expelled student can re-enroll by paying the school fees again. This creates a scenario where:
The school receives additional fees
The student gets a reset score of 100
The student's previous negative academic history is erased
Gaming the System: Students approaching failing scores can intentionally get expelled (or request expulsion) and then re-enroll to reset their scores to 100, circumventing the academic evaluation system.
Operational Inconsistency: If a student is expelled for serious reasons, allowing immediate re-enrollment creates operational and reputational risks for the school.
A student enrolls in the school, paying the school fees
The student receives negative reviews, lowering their score significantly
The principal expels the student using expel()
Once the session ends (or during the next enrollment period), the student calls enroll() again
The student is re-admitted with a fresh score of 100, having effectively bypassed any consequences
Implement a permanent or temporary blacklisting mechanism for expelled students. This could be done by:
Option 1 - Permanent Ban:
Option 2 - Cooldown Period:
Implementing either solution would enforce proper consequences for expulsion and maintain the integrity of the school's disciplinary system.
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.