Description:
$ echo $((4000000000*4000000000)
-2446744073709551616
Repeat-By:
Do some arithmetic in bash $((....)).
If the numbers are out of range, the output will be wrong in
all sorts of interesting ways. No error message is given.
Fix:
Arbitrary-precision maths would be nice. But at least, could we
have an error message if an overflow occurs?
The man page says:
"Evaluation is done in fixed-width integers with no
check for overflow..."
but I'd suggest this represents a bug, not a feature.
I'm comfortable with the current behavior. POSIX requires that expressions
be evaluated according to the C standard, and that standard leaves the
treatment of integer overflow as undefined.