On 4/15/24 7:59 AM, Gioele Barabucci wrote:
Control: found -1 5.2.21-2 Control: tags -1 upstream X-Debbugs-CC: bug-b...@gnu.orgOn Mon, 2 Nov 2020 16:46:14 +0100 Antonio <antde...@gmail.com> wrote:Dear Maintainer, recently while I was running some tests, I ran into this strange overflow:$ declare -i n=9223372036854775800; for((i=0; i<15; ++i)); do echo "$i -> $n";n+=1; done 0 -> 9223372036854775800 1 -> 9223372036854775801 2 -> 9223372036854775802 3 -> 9223372036854775803 4 -> 9223372036854775804 5 -> 9223372036854775805 6 -> 9223372036854775806 7 -> 9223372036854775807 8 -> -9223372036854775808 9 -> -9223372036854775807 10 -> -9223372036854775806 11 -> -9223372036854775805 12 -> -9223372036854775804 13 -> -9223372036854775803 14 -> -9223372036854775802 The integer handled by bash is obviously very large, but I believe that in the event of an overflow it would be better to reset the variable and issue an error flow warning, rather than remain silent.
Hi. Thanks for the report. As documented, bash integer arithmetic doesn't check for overflow (it never has). Adding such checks is a low-priority item. Chet -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, UTech, CWRU c...@case.edu http://tiswww.cwru.edu/~chet/
OpenPGP_signature.asc
Description: OpenPGP digital signature