When a seller unlists an NFT, the contract state should be cleanly reset for that tokenId.
The unlistNFT function sets the listed flag to false but does not clear the rest of the Listing struct data (seller, prices, etc.). This leaves stale data on-chain.
Likelihood: High
This occurs every time an NFT is successfully unlisted.
Impact: Low
Funds are not at risk.
The contract maintains unnecessary, stale state, which can increase gas costs for future interactions with that storage slot and potentially lead to bugs if future logic incorrectly reads the stale data.
Simple PoC to show that only one field is changed, while the others are kept the same.
Long term, this could lead to expensive storage overrides if the token owner ever decides to re-list their NFT. So, instead, consider removing the entry entirely, to clear state:
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.