Re: numeric access out of bounds - Mailing list pgsql-hackers

From Tom Lane
Subject Re: numeric access out of bounds
Date
Msg-id 27110.1422118777@sss.pgh.pa.us
Whole thread Raw
In response to numeric access out of bounds  (Andrew Gierth <andrew@tao11.riddles.org.uk>)
Responses Re: numeric access out of bounds
List pgsql-hackers
Andrew Gierth <andrew@tao11.riddles.org.uk> writes:
> I can see two possible fixes: one to correct the assumptions in the
> macros, the other to check for NaN before calling init_var_from_num in
> numeric_send (all the other functions seem to do this check explicitly).
> Which would be preferable?

I'm inclined to think special-casing NaN in numeric_send is the thing to
do, since it is that way everywhere else.  If we could push down all the
special casing into init_var_from_num then that would probably be better,
but in most cases that looks unattractive.

Perhaps it'd make sense to add an Assert that the input isn't NaN in
init_var_from_num?  That wouldn't really do all that much to forestall
future similar errors, since it wouldn't expose an oversight unless the
code was actually tested with NaN input ... but it's better than nothing.

Looks like set_var_from_num has same issue, too.
        regards, tom lane



pgsql-hackers by date:

Previous
From: Andrew Gierth
Date:
Subject: numeric access out of bounds
Next
From: Tomas Vondra
Date:
Subject: Re: WIP: multivariate statistics / proof of concept