Function divideNft is external that mints and transfer the NFT from msg.sender to the contract.
However, the ownership validation after the NFT transfer contains a logical error, which could lead to incorrect behavior.
After transferring the NFT, the function attempts to check whether the transfer was successful by verifying the owner of the NFT. The condition will only trigger the rever if sender still owns the NFT.
It should instead check that the contract itself is the new owner of the NFT, which is incorrect.
Loss of funds or NFT locking
Manual review
Change the condition to verify that the contract is the new owner of the NFT:
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.