Integer overflow and underflow (Overflow e Underflow de inteiros)
O overflow ocorre quando uma operação aritmética excede o limite superior do tipo de dado inteiro, e o underflow ocorre quando a operação fica abaixo do limite inferior.
Exemplo:
uint8 a = 255;
a += 1; // Isso causa um estouro, levando o valor de 'a' para 0.
Mitigação:
Usar Solidity 0.8.x ou superior, que possui controles de overflow e underflow incorporados.
Usar bibliotecas de aritmética segura como SafeMath da OpenZeppelin para versões anteriores.
Referência:
Last updated