postgresql/contrib/seg
Tom Lane a75a418d07 Clean up dubious code in contrib/seg.
The restore() function assumed that the result of sprintf() with %e format
would necessarily contain an 'e', which is false: what if the supplied
number is an infinity or NaN?  If that did happen, we'd get a
null-pointer-dereference core dump.  The case appears impossible currently,
because seg_in() does not accept such values, and there are no seg-creating
functions that would create one.  But it seems unwise to rely on it never
happening in future.

Quite aside from that, the code was pretty ugly: it relied on modifying a
static format string when it could use a "*" precision argument, and it
used strtok() entirely gratuitously, and it stripped off trailing spaces
by hand instead of just not asking for them to begin with.

Coverity noticed the potential null pointer dereference (though I wonder
why it didn't complain years ago, since this code is ancient).

Since this is just code cleanup and forestalling a hypothetical future
bug, there seems no need for back-patching.
2016-04-03 17:36:53 -04:00
..
data Modify the float4 datatype to be pass-by-val. Along the way, remove the last 2008-04-18 18:43:09 +00:00
expected Convert contrib modules to use the extension facility. 2011-02-13 22:54:49 -05:00
sql Convert contrib modules to use the extension facility. 2011-02-13 22:54:49 -05:00
.gitignore Support "make check" in contrib 2011-04-25 22:27:11 +03:00
Makefile Add file version information to most installed Windows binaries. 2014-07-14 14:07:52 -04:00
seg--1.0.sql Fix assorted inconsistencies in GiST opclass support function declarations. 2016-01-19 12:04:36 -05:00
seg--unpackaged--1.0.sql Fix typos in some error messages thrown by extension scripts when fed to psql. 2014-08-25 18:30:37 +02:00
seg-validate.pl Run newly-configured perltidy script on Perl files. 2012-07-04 21:47:49 -04:00
seg.c Clean up dubious code in contrib/seg. 2016-04-03 17:36:53 -04:00
seg.control Convert contrib modules to use the extension facility. 2011-02-13 22:54:49 -05:00
segdata.h Tweak __attribute__-wrapping macros for better pgindent results. 2015-03-26 14:03:25 -04:00
segparse.y Tweak __attribute__-wrapping macros for better pgindent results. 2015-03-26 14:03:25 -04:00
segscan.l Tweak __attribute__-wrapping macros for better pgindent results. 2015-03-26 14:03:25 -04:00
sort-segments.pl Run newly-configured perltidy script on Perl files. 2012-07-04 21:47:49 -04:00