Noah Misch
98be8a6eaa
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:39 -05:00
..
2014-02-17 09:33:38 -05:00
2011-04-27 13:58:49 -04:00
2011-04-27 13:58:49 -04:00
2009-01-01 17:24:05 +00:00
2009-01-01 17:24:05 +00:00
2009-06-11 14:49:15 +00:00
2011-10-29 14:31:07 -04:00
2009-01-01 17:24:05 +00:00
2012-05-30 19:58:54 -04:00
2013-11-01 12:13:38 -04:00
2009-01-01 17:24:05 +00:00
2011-04-29 01:45:13 -04:00
2009-01-01 17:24:05 +00:00
2009-08-30 16:53:37 +00:00
2013-02-04 16:25:25 -05:00
2013-08-03 12:40:55 -04:00
2009-01-01 17:24:05 +00:00
2013-03-05 13:02:46 -05:00
2009-01-01 17:24:05 +00:00
2014-02-17 09:33:39 -05:00
2009-01-01 17:24:05 +00:00
2006-07-14 16:59:19 +00:00
2006-07-14 16:59:19 +00:00
2012-11-19 21:21:54 -05:00
2012-11-19 21:21:54 -05:00
2010-05-28 17:35:30 +00:00
2009-01-01 17:24:05 +00:00
2009-01-01 17:24:05 +00:00
2007-06-05 21:31:09 +00:00
2008-12-28 18:54:01 +00:00
2009-06-11 14:49:15 +00:00
2009-06-11 14:49:15 +00:00
2012-05-25 17:35:14 -04:00
2011-12-12 10:05:29 +02:00
2009-06-11 14:49:15 +00:00
2009-01-01 17:24:05 +00:00
2009-01-01 17:24:05 +00:00
2009-06-11 14:49:15 +00:00
2009-06-11 14:49:15 +00:00
2009-06-11 14:49:15 +00:00
2013-12-27 15:41:46 -06:00
2009-01-01 17:24:05 +00:00
2009-06-11 14:49:15 +00:00
2013-07-31 11:31:40 -04:00
2009-01-01 17:24:05 +00:00
2009-12-09 21:58:04 +00:00
2012-11-13 14:44:52 -05:00
2013-11-23 07:31:53 -05:00
2013-07-24 00:45:15 -04:00
2009-01-01 17:24:05 +00:00
2013-03-04 15:14:28 -05:00
2009-06-11 14:49:15 +00:00
2009-06-11 14:49:15 +00:00
2009-06-11 14:49:15 +00:00
2009-01-01 17:24:05 +00:00
2009-06-11 14:49:15 +00:00
2010-08-03 00:10:52 +00:00
2009-07-28 09:32:23 +00:00
2014-02-17 09:33:39 -05:00
2014-02-17 09:33:39 -05:00
2009-06-11 14:49:15 +00:00
2011-08-26 16:51:52 -04:00
2009-01-01 17:24:05 +00:00
2009-06-11 14:49:15 +00:00
2014-02-17 09:33:39 -05:00
2009-06-11 14:49:15 +00:00
2014-02-17 09:33:39 -05:00
2012-05-25 17:35:14 -04:00
2013-07-31 11:31:40 -04:00
2009-01-01 17:24:05 +00:00
2009-06-11 14:49:15 +00:00
2009-01-01 17:24:05 +00:00
2012-08-14 18:32:43 -04:00