No zero address check for arbiter address in Escrow contract is present. So, if someone set the arbiter address to zero and then buyer/seller call to initiateDispute then s_state become to State.Disputed and to resolve the dispute resolveDispute need to be called by arbiter only. As, the arbiter address is zero address then not possible to resolve the dispute ever and the fund will be stuck forever.
Buyer calls newEscrow function of EscrowFactory.sol with necessary input and provides arbiter address to zero address. A new Escrow contract will be created with arbiter address as zero.
Now Buyer/Seller calls the initiateDispute function of Escrow.sol contract. Now the s_state became to State.Disputed
Now to resolve the dispute resolveDispute need to be called by arbiter only. But it's never possible as arbiter address is zero address.
The funds available in the Escrow contract will be stuck forever.
The funds available in the Escrow contract will be stuck forever.
Don't allow to set arbiter address to zero address.
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.