Depending on which beneficiary calls function buyOutEstateNFT, the assets may not be transferred to some beneficiaries.
Function buyOutEstateNFT incorrectly processes payouts when the beneficiary who calls the function is not last in the beneficiaries array. The loop that iterates the beneficiaries is implementing incorrectly. When the beneficiaries[i] is msg.sender, the loop iteration is ended because it returns from the function:
Therefore, any the beneficiaries that are located after the msg.sender in the beneficiaries array do not receive any assets.
Beneficiaries does not receive they assets.
Manual review
Change the loop iteration logic to continue instead if return:
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.