The removeBeneficiary function in the InheritanceManager contract uses delete to remove a beneficiary from the beneficiaries array. This does not actually remove the element but sets it to its default value (address(0)), leaving gaps in the array.
Using delete leaves gaps in the array, which could lead to inefficiencies and incorrect behavior when iterating over the array.
Manual review
Use a more efficient method to remove elements, such as swapping with the last element and then popping the array
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.