pgsql: Be more wary of corrupt data in pageinspect's heap_page_items(). - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Be more wary of corrupt data in pageinspect's heap_page_items().
Date
Msg-id E1u6Ewo-000qPj-1P@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
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

Branch
------
REL_17_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/ecb8e56412b270eab66f3d34329c608fc3356e30

Modified Files
--------------
contrib/pageinspect/heapfuncs.c | 45 ++++++++++++++++++++++++-----------------
1 file changed, 27 insertions(+), 18 deletions(-)


pgsql-committers by date:

Previous
From: Michael Paquier
Date:
Subject: pgsql: Fix typos and grammar in the code
Next
From: Michael Paquier
Date:
Subject: pgsql: psql: Fix incorrect status code returned by \getresults