pike.git/
lib/
modules/
Sql.pmod/
pgsql_util.pmod
Branch:
Tag:
Non-build tags
All tags
No tags
2018-03-10
2018-03-10 09:00:16 by Stephen R. van den Berg <srb@cuci.nl>
3bf8e8b73ffe3436be726935a3475848e7147160 (
47
lines) (+
18
/-
29
)
[
Show
|
Annotate
]
Branch:
master
pgsql: Fix infinite loop in optimisation of native NUMERIC types.
968:
int magnitude = cr->read_sint(2); int sign = cr->read_int16(); cr->consume(2);
-
switch
(nwords) {
-
default:
-
for (value = cr->read_int16();
-
--nwords;
-
magnitude--)
+
if
(nwords) {
+
for (value = cr->read_int16(); --nwords; magnitude--)
value = value * NUMERIC_MAGSTEP + cr->read_int16(); if (sign) value = -value;
986:
sign *= NUMERIC_MAGSTEP); value = Gmp.mpq(value, sign); }
-
break;
-
case 1:
-
for (value = cr->read_int16();
-
magnitude--;
-
value *= NUMERIC_MAGSTEP);
-
if (sign)
-
value = -value;
-
break;
-
case 0:;
+
}
else
value = 0;
-
}
+
if (alltext) value = (string)value; }