postgresql/contrib/pageinspect
Tom Lane 3c2ea65bd8 Be more wary of corrupt data in pageinspect's heap_page_items().
The original intent in heap_page_items() was to return nulls, not
throw an error or crash, if an item was sufficiently corrupt that
we couldn't safely extract data from it.  However, commit d6061f83a
utterly missed that memo, and not only put in an un-length-checked
copy of the tuple's data section, but also managed to break the check
on sane nulls-bitmap length.  Either mistake could possibly lead to
a SIGSEGV crash if the tuple is corrupt.

Bug: #18896
Reported-by: Dmitry Kovalenko <d.kovalenko@postgrespro.ru>
Author: Dmitry Kovalenko <d.kovalenko@postgrespro.ru>
Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://postgr.es/m/18896-add267b8e06663e3@postgresql.org
Backpatch-through: 13
2025-04-19 16:37:43 -04:00
..
expected Fix contrib/pageinspect's test for sequences. 2024-09-13 10:16:40 -05:00
sql Fix contrib/pageinspect's test for sequences. 2024-09-13 10:16:40 -05:00
.gitignore pageinspect: Add tests 2016-11-01 14:02:16 -04:00
brinfuncs.c pageinspect: Fix handling of all-zero pages 2022-04-14 15:09:26 +09:00
btreefuncs.c pageinspect: Fix handling of all-zero pages 2022-04-14 15:09:26 +09:00
fsmfuncs.c pageinspect: Fix handling of all-zero pages 2022-04-14 15:09:26 +09:00
ginfuncs.c pageinspect: Fix handling of all-zero pages 2022-04-14 15:09:26 +09:00
gistfuncs.c pageinspect: Fix gist_page_items() with included columns 2023-05-19 12:38:18 +09:00
hashfuncs.c pageinspect: Fix failure with hash_bitmap_info() for partitioned indexes 2023-12-19 18:19:18 +09:00
heapfuncs.c Be more wary of corrupt data in pageinspect's heap_page_items(). 2025-04-19 16:37:43 -04:00
Makefile pageinspect: Change block number arguments to bigint 2021-01-19 11:03:38 +01:00
pageinspect--1.0--1.1.sql Fix typos in some error messages thrown by extension scripts when fed to psql. 2014-08-25 18:30:37 +02:00
pageinspect--1.1--1.2.sql Fix typos in some error messages thrown by extension scripts when fed to psql. 2014-08-25 18:30:37 +02:00
pageinspect--1.2--1.3.sql pageinspect/BRIN: minor tweaks 2014-12-02 12:20:50 -03:00
pageinspect--1.3--1.4.sql Add forgotten file in commit d6061f83a1 2015-11-25 16:59:07 +03:00
pageinspect--1.4--1.5.sql Update pageinspect extension for parallel query. 2016-06-09 17:18:09 -04:00
pageinspect--1.5--1.6.sql pageinspect: Add bt_page_items function with bytea argument 2017-04-04 23:52:55 -04:00
pageinspect--1.5.sql Update pageinspect extension for parallel query. 2016-06-09 17:18:09 -04:00
pageinspect--1.6--1.7.sql Skip full index scan during cleanup of B-tree indexes when possible 2018-04-04 19:29:00 +03:00
pageinspect--1.7--1.8.sql pageinspect: Fix types used for bt_metap() columns. 2020-03-07 16:44:53 -08:00
pageinspect--1.8--1.9.sql Use full 64-bit XIDs in deleted nbtree pages. 2021-02-24 18:41:34 -08:00
pageinspect.control Add functions to 'pageinspect' to inspect GiST indexes. 2021-01-13 10:33:33 +02:00
pageinspect.h pageinspect: Change block number arguments to bigint 2021-01-19 11:03:38 +01:00
rawpage.c pageinspect: Fix handling of all-zero pages 2022-04-14 15:09:26 +09:00