postgresql/contrib/pageinspect
Tom Lane 3f9132ed28 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:36 +09:00
btreefuncs.c pageinspect: Fix handling of all-zero pages 2022-04-14 15:09:36 +09:00
fsmfuncs.c pageinspect: Fix handling of all-zero pages 2022-04-14 15:09:36 +09:00
ginfuncs.c pageinspect: Fix handling of all-zero pages 2022-04-14 15:09:36 +09:00
hashfuncs.c pageinspect: Fix failure with hash_bitmap_info() for partitioned indexes 2023-12-19 18:19:19 +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 Add an explicit test to catch changes in checksumming calculations. 2020-03-08 15:09:14 -04: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.control Add to pageinspect function to make t_infomask/t_infomask2 human-readable 2019-09-12 15:06:00 +09:00
pageinspect.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
rawpage.c pageinspect: Fix handling of all-zero pages 2022-04-14 15:09:36 +09:00