On 11/5/2022 5:13 PM, Clinton Bunch wrote:
Apparently the problem is with argument handling. Zsh appears to interpret a negative number as another option (but doesn't error with unknown option) but I get the same seg-fault when I don't specify an argument to -L as when I specify a negative number.On 11/5/2022 4:57 PM, Clinton Bunch wrote:I've verified this on FreeBSD 13.1 and Solaris 11.4 as well, so unless I'm calling it wrong, this seems like a serious bug.This is how I'm calling it: if (!zstrtoul_underscore(OPT_ARG(ops, 'L'), &lower)) {
OPT_ARG_SAFE seems to prevent the seg-fault at that point, but I still get one in zstrtoul_underscore. It seems like specifying that -L accepts an argument (specifically a number) should cause it to throw an error at argument parse time rather than at recovering the argument.