numeric.c (flo_ceil_floor): negate after converting integer to float.

Otherwise integer negate may overflow.
This commit is contained in:
Yukihiro "Matz" Matsumoto
2022-07-30 09:08:42 +09:00
parent 9d774bc011
commit b77b8f4deb
+1 -1
View File
@@ -843,7 +843,7 @@ flo_ceil_floor(mrb_state *mrb, mrb_value num, double (*func)(double))
return mrb_float_value(mrb, f);
}
if (ndigits < 0) {
mrb_float d = pow(10, (double)-ndigits);
mrb_float d = pow(10, -(double)ndigits);
f = func(f / d) * d;
}
else { /* ndigits == 0 */