HomeFreeBSD

sh: Correctly handle positional parameters beyond INT_MAX on 64-bit systems.

Description

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.

Details

Provenance
jillesAuthored on
Parents
rS268575: Add bsd.dtrace.mk to obsolete files.
Branches
Unknown
Tags
Unknown

Event Timeline