1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-11-22 01:12:01 +01:00

52492: prevent indexing error on recursive arithmetic in array subscript

Operator returns error when operand returns error
This commit is contained in:
Bart Schaefer 2024-01-24 18:00:16 -08:00
parent b3e763cc22
commit 1f861ceba1
2 changed files with 9 additions and 1 deletions

View file

@ -352,6 +352,8 @@ getmathparam(struct mathvalue *mptr)
}
return zero_mnumber;
}
if (errflag)
return zero_mnumber;
}
result = getnumvalue(mptr->pval);
if (isset(FORCEFLOAT) && result.type == MN_INTEGER) {
@ -1367,8 +1369,11 @@ op(int what)
}
spval = &stack[sp].val;
if (stack[sp].val.type == MN_UNSET)
if (stack[sp].val.type == MN_UNSET) {
*spval = getmathparam(stack + sp);
if (errflag)
return;
}
switch (what) {
case NOT:
if (spval->type & MN_FLOAT) {