#
268576 |
|
12-Jul-2014 |
jilles |
sh: Correctly handle positional parameters beyond INT_MAX on 64-bit systems.
Currently, there can be no more than INT_MAX positional parameters. Make sure to treat all higher ones as unset to avoid incorrect results and crashes.
On 64-bit systems, our atoi() takes the low 32 bits of the strtol() and sign-extends them.
On 32-bit systems, the call to atoi() returned INT_MAX for too high values and there is not enough address space for so many positional parameters, so there was no issue.
|