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