postgres/contrib/pageinspect
Tom Lane d05996340d 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:42 -04:00
..
expected Virtual generated columns 2025-02-07 09:46:59 +01:00
sql Virtual generated columns 2025-02-07 09:46:59 +01:00
.gitignore pageinspect: Add tests 2016-11-01 14:02:16 -04:00
brinfuncs.c Update copyright for 2025 2025-01-01 11:21:55 -05:00
btreefuncs.c Use PRI?64 instead of "ll?" in format strings (continued). 2025-03-29 10:43:57 +01:00
fsmfuncs.c Update copyright for 2025 2025-01-01 11:21:55 -05:00
ginfuncs.c Update copyright for 2025 2025-01-01 11:21:55 -05:00
gistfuncs.c Update copyright for 2025 2025-01-01 11:21:55 -05:00
hashfuncs.c Use PRI?64 instead of "ll?" in format strings (continued). 2025-03-29 10:43:57 +01:00
heapfuncs.c Be more wary of corrupt data in pageinspect's heap_page_items(). 2025-04-19 16:37:42 -04:00
Makefile contrib/pageinspect: Use SQL-standard function bodies. 2024-12-29 14:58:05 -05:00
meson.build Update copyright for 2025 2025-01-01 11:21:55 -05: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--1.9--1.10.sql pageinspect: Improve page_header() for pages of 32kB 2021-07-12 11:05:27 +09:00
pageinspect--1.10--1.11.sql Mark pageinspect's disk-accessing functions as parallel restricted. 2022-11-21 15:37:10 -05:00
pageinspect--1.11--1.12.sql Show empty BRIN ranges in brin_page_items 2023-05-19 02:00:21 +02:00
pageinspect--1.12--1.13.sql contrib/pageinspect: Use SQL-standard function bodies. 2024-12-29 14:58:05 -05: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.control contrib/pageinspect: Use SQL-standard function bodies. 2024-12-29 14:58:05 -05:00
pageinspect.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
rawpage.c Use PG_MODULE_MAGIC_EXT in our installable shared libraries. 2025-03-26 11:11:02 -04:00