Re: BUG #18896: A potential problem in heap_page_items (pageinspect, PG-17)

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: d.kovalenko@postgrespro.ru
Cc: pgsql-bugs@lists.postgresql.org
Date: 2025-04-19T19:33:20Z
Lists: pgsql-bugs
PG Bug reporting form <noreply@postgresql.org> writes:
> Please, look at this code in heap_page_items function:
> https://github.com/postgres/postgres/blob/11ff192b5bb707ba9ec13a0b6c7468874403abb3/contrib/pageinspect/heapfuncs.c#L231-L248
> If lp_len value is less than tuphdr->t_hoff, we get a problem with negative
> value in tuple_data_len

Yeah, you're right.

> I think, we should move the code of /* Copy raw tuple data into bytea
> attribute */ into the next if (.... tuphdr->t_hoff <= lp_len ....)
> section.

Agreed, that looks like a good fix.  I'll make it so.

			regards, tom lane



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Be more wary of corrupt data in pageinspect's heap_page_items().

  2. Elide not-null constraint checks on child tables during PK creation