User Tools

Site Tools


programming:bash:overflow

This is an old revision of the document!


#!/bin/bash

((X=2**16)); echo $X
((X=2**32)); echo $X
((X=2**64)); echo $X 		#Overflow
((X=(2**64)-1)); echo $X 	#Overflow
((X=2**63)); echo $X 		#Overflow
((X=(2**63)-1)); echo $X 	#Limit MAX signed int
((X++)); echo $X 		#Overflow - Limit MIN signed int

X=9223372036854775807; echo $X 	#String or Int, we will never now
((X=($X*1))); echo $X 		#Int
((X=($X*2))); echo $X 		#Int overflow
((X++)); echo $X 		#Int overflow

X=9223372036854775908; echo $X 	#String
((X++)); echo $X 		#INT overflow

Output will be:

65536
4294967296
0                             #Overflow
-1                            #Overflow
-9223372036854775808          #Overflow
9223372036854775807           #Limit MAX signed int
-9223372036854775808          #Overflow - Limit MIN signed int

9223372036854775807           #String or Int, we will never now
9223372036854775807           #Int
-2                            #Int overflow
-1

9223372036854775908           #String
-9223372036854775707          #INT overflow
programming/bash/overflow.1648654231.txt.gz · Last modified: 2022/03/30 15:30 by ateixeira