3.md

September 28, 2022 ยท View on GitHub

Arithmetic Over/Under Flows

Description:

An overflow/underflow happens when an arithmetic operation reaches the maximum or minimum size of a type. For instance if a number is stored in the uint8 type, it means that the number is stored in a 8 bits unsigned number ranging from 0 to 282^{8}-1. In computer programming, an integer overflow occurs when an arithmetic operation attempts to create a numeric value that is outside of the range that can be represented with a given number of bits โ€“ either larger than the maximum or lower than the minimum representable value.

Remediation:

It is recommended to use vetted safe math libraries for arithmetic operations consistently throughout the smart contract system.

References:

https://swcregistry.io/docs/SWC-101

https://dev.to/thenuelgeek/overflow-and-underflow-in-solidity-1bj7