Reader small image

You're reading from  Solidity Programming Essentials. - Second Edition

Product typeBook
Published inJun 2022
PublisherPackt
ISBN-139781803231181
Edition2nd Edition
Concepts
Right arrow
Author (1)
Ritesh Modi
Ritesh Modi
author image
Ritesh Modi

Ritesh Modi is a technologist with more than 18 years of experience. He holds a master's degree in science in AI/ML from LJMU. He has been recognized as a Microsoft Regional Director for his contributions to building tech communities, products, and services. He has published more than 10 tech books in the past and is a cloud architect, speaker, and leader who is popular for his contributions to data centers, Azure, Kubernetes, blockchain, cognitive services, DevOps, AI, and automation.
Read more about Ritesh Modi

Right arrow

SafeMath and under/overflow attacks

Solidity in previous versions (prior to 0.8) has been subject to integer overflow and underflow attacks. Before exploring these attacks, it is important to understand what overflow and underflow mean in terms of Solidity.

Integer overflow is a mechanism that occurs when you assign an integer value more than the variable can accept. In such cases, the value assigned is different and calculated by starting over with the minimum value, supported by the data type. For example, uint8 in Solidity can accept values ranging from 0 to 255. Assigning a value of 256 to uint8 would assign a value of 1 to the variable. Similarly, assigning 257 to uint8 would assign a value of 2 to the variable.

Integer underflow is similar to overflow. The difference is that the value assignment happens at the lower boundary for an acceptable value for a datatype. Assigning a value of -1 to uint8 would recycle its value to 255. Similarly, assigning -2 to uint8 would assign...

lock icon
The rest of the page is locked
Previous PageNext Page
You have been reading a chapter from
Solidity Programming Essentials. - Second Edition
Published in: Jun 2022Publisher: PacktISBN-13: 9781803231181

Author (1)

author image
Ritesh Modi

Ritesh Modi is a technologist with more than 18 years of experience. He holds a master's degree in science in AI/ML from LJMU. He has been recognized as a Microsoft Regional Director for his contributions to building tech communities, products, and services. He has published more than 10 tech books in the past and is a cloud architect, speaker, and leader who is popular for his contributions to data centers, Azure, Kubernetes, blockchain, cognitive services, DevOps, AI, and automation.
Read more about Ritesh Modi