Beginner FriendlyFoundryNFT
100 EXP
View results
Submission Details
Severity: low
Invalid

Reentrancy in `RamNFT::mintRamNFT`

Reentrancy in RamNFT::mintRamNFT

Description: There are state variables witten after external calls

function mintRamNFT(address to) public {
uint256 newTokenId = tokenCounter++;
_safeMint(to, newTokenId);
@> Characteristics[newTokenId] = CharacteristicsOfRam({
ram: to,
isJitaKrodhah: false,
isDhyutimaan: false,
isVidvaan: false,
isAatmavan: false,
isSatyavaakyah: false
});
}

Recommended Mitigation: Consider using the next change

function mintRamNFT(address to) public {
uint256 newTokenId = tokenCounter++;
+ Characteristics[newTokenId] = CharacteristicsOfRam({
+ ram: to,
+ isJitaKrodhah: false,
+ isDhyutimaan: false,
+ isVidvaan: false,
+ isAatmavan: false,
+ isSatyavaakyah: false
+ });
_safeMint(to, newTokenId);
- Characteristics[newTokenId] = CharacteristicsOfRam({
- ram: to,
- isJitaKrodhah: false,
- isDhyutimaan: false,
- isVidvaan: false,
- isAatmavan: false,
- isSatyavaakyah: false
- });
}
Updates

Lead Judging Commences

bube Lead Judge about 1 year ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity
Assigned finding tags:

Invalid - reentrancy in safeMint

The problem is that the `mintRamNFT` function is public and anyone can call it, not that the function uses `_safeMint`.

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.