programming:bash:overflow
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| programming:bash:overflow [2022/03/30 15:30] – Creating overflow ateixeira | programming:bash:overflow [2022/03/31 15:07] (current) – [Interesting fact :] ateixeira | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Overflow ====== | ||
| + | |||
| + | |||
| + | It will depend on your version of bash, your OS((Operating System)) and your CPU((Processor)) architecture. To try it, we will set a variable to (2^16). If the output is the right answer, we will set it to (2^32), and so on untill the answer is not right anymore. | ||
| + | |||
| + | In the example below, we can see that at (2^64) the answer is not right anymore. So we substract 1 at the result | ||
| + | |||
| + | Then we substract 1 at the result | ||
| + | |||
| + | We have now the MIN and the MAX limit. | ||
| + | |||
| + | ==== Example ==== | ||
| + | |||
| #!/bin/bash | #!/bin/bash | ||
| | | ||
| Line 18: | Line 31: | ||
| | | ||
| | | ||
| - | Output will be: | + | ==== Output will be : ==== |
| 65536 | 65536 | ||
| Line 35: | Line 48: | ||
| 9223372036854775908 | 9223372036854775908 | ||
| -9223372036854775707 | -9223372036854775707 | ||
| + | |||
| + | |||
| + | ==== Interesting fact : ==== | ||
| + | |||
| + | > At the end, we set a variable bigger than the MAX limit and increment X (in this case X=1). The variable is at first stocked as a STR but when we force it to increment by X, we see that bash will compensate and output the MIN limit incremented by X. | ||
programming/bash/overflow.1648654231.txt.gz · Last modified: 2022/03/30 15:30 by ateixeira