postgresql/src/include
Noah Misch 7a362a176a Predict integer overflow to avoid buffer overruns.
Several functions, mostly type input functions, calculated an allocation
size such that the calculation wrapped to a small positive value when
arguments implied a sufficiently-large requirement.  Writes past the end
of the inadvertent small allocation followed shortly thereafter.
Coverity identified the path_in() vulnerability; code inspection led to
the rest.  In passing, add check_stack_depth() to prevent stack overflow
in related functions.

Back-patch to 8.4 (all supported versions).  The non-comment hstore
changes touch code that did not exist in 8.4, so that part stops at 9.0.

Noah Misch and Heikki Linnakangas, reviewed by Tom Lane.

Security: CVE-2014-0064
2014-02-17 09:33:32 -05:00
..
access Fix multiple bugs in index page locking during hot-standby WAL replay. 2014-01-14 17:34:51 -05:00
bootstrap Update copyrights for 2013 2013-01-01 17:15:01 -05:00
catalog Avoid repeated name lookups during table and index DDL. 2014-02-17 09:33:32 -05:00
commands Avoid repeated name lookups during table and index DDL. 2014-02-17 09:33:32 -05:00
common pgindent run for release 9.3 2013-05-29 16:58:43 -04:00
datatype Update copyrights for 2013 2013-01-01 17:15:01 -05:00
executor Prevent leakage of SPI tuple tables during subtransaction abort. 2013-07-25 16:45:47 -04:00
foreign Improve updatability checking for views and foreign tables. 2013-06-12 17:53:33 -04:00
lib Reset the binary heap in MergeAppend rescans. 2013-08-30 19:15:32 -04:00
libpq pgindent run for release 9.3 2013-05-29 16:58:43 -04:00
mb pgindent run for release 9.3 2013-05-29 16:58:43 -04:00
nodes Avoid repeated name lookups during table and index DDL. 2014-02-17 09:33:32 -05:00
optimizer Compute correct em_nullable_relids in get_eclass_for_sort_expr(). 2013-11-15 16:46:21 -05:00
parser Avoid repeated name lookups during table and index DDL. 2014-02-17 09:33:32 -05:00
port Enable building with Visual Studion 2013. 2014-01-26 09:45:43 -05:00
portability Update copyrights for 2013 2013-01-01 17:15:01 -05:00
postmaster Separate multixact freezing parameters from xid's 2014-02-13 19:30:30 -03:00
regex Support indexing of regular-expression searches in contrib/pg_trgm. 2013-04-09 01:06:54 -04:00
replication pgindent run for release 9.3 2013-05-29 16:58:43 -04:00
rewrite Improve updatability checking for views and foreign tables. 2013-06-12 17:53:33 -04:00
snowball Update copyrights for 2013 2013-01-01 17:15:01 -05:00
storage Fix multiple bugs in index page locking during hot-standby WAL replay. 2014-01-14 17:34:51 -05:00
tcop Avoid repeated name lookups during table and index DDL. 2014-02-17 09:33:32 -05:00
tsearch Predict integer overflow to avoid buffer overruns. 2014-02-17 09:33:32 -05:00
utils Predict integer overflow to avoid buffer overruns. 2014-02-17 09:33:32 -05:00
.gitignore Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
c.h pgindent run for release 9.3 2013-05-29 16:58:43 -04:00
fmgr.h Prevent privilege escalation in explicit calls to PL validators. 2014-02-17 09:33:32 -05:00
funcapi.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
getaddrinfo.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
getopt_long.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
Makefile Install headers from the new src/include/common subdirectory. 2013-02-26 15:27:30 -05:00
miscadmin.h PGDLLIMPORT'ify DateStyle and IntervalStyle. 2014-02-16 12:37:10 -05:00
pg_config.h.in Improve handling of ereport(ERROR) and elog(ERROR). 2013-01-13 18:40:09 -05:00
pg_config.h.win32 Enable building with Visual Studion 2013. 2014-01-26 09:45:43 -05:00
pg_config_ext.h.in Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
pg_config_ext.h.win32 Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
pg_config_manual.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
pg_trace.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
pgstat.h Split pgstat file in smaller pieces 2013-02-18 18:12:52 -03:00
pgtar.h Move tar function headers to pgtar.h 2013-01-02 20:34:08 +01:00
pgtime.h Fix some odd behaviors when using a SQL-style simple GMT offset timezone. 2013-11-01 12:13:23 -04:00
port.h pgindent run for release 9.3 2013-05-29 16:58:43 -04:00
postgres.h pgindent run for release 9.3 2013-05-29 16:58:43 -04:00
postgres_ext.h Provide database object names as separate fields in error messages. 2013-01-29 17:08:26 -05:00
postgres_fe.h Create libpgcommon, and move pg_malloc et al to it 2013-02-12 11:21:05 -03:00
rusagestub.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
windowapi.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00