Nan bug fix

This commit is contained in:
Alex Denford SBL 2024-10-30 14:41:49 -07:00
parent 6e2e68fd08
commit 80f97204cb

View File

@ -14097,23 +14097,28 @@ static no_inline int js_relational_slow(JSContext *ctx, JSValue *sp,
} else { } else {
d2 = JS_VALUE_GET_INT(op2); d2 = JS_VALUE_GET_INT(op2);
} }
if (isnan(d1) || isnan(d2)) {
res = FALSE;
} else {
switch(op) { switch(op) {
case OP_lt: case OP_lt:
res = (d1 < d2); /* if NaN return false */ res = (d1 < d2);
break; break;
case OP_lte: case OP_lte:
res = (d1 <= d2); /* if NaN return false */ res = (d1 <= d2);
break; break;
case OP_gt: case OP_gt:
res = (d1 > d2); /* if NaN return false */ res = (d1 > d2);
break; break;
default: default:
case OP_gte: case OP_gte:
res = (d1 >= d2); /* if NaN return false */ res = (d1 >= d2);
break; break;
} }
} }
} }
}
done: done:
sp[-2] = JS_NewBool(ctx, res); sp[-2] = JS_NewBool(ctx, res);
return 0; return 0;