pgsql: Fix potential use-after-free for BEFORE UPDATE row triggers onn - Mailing list pgsql-committers

From Andres Freund
Subject pgsql: Fix potential use-after-free for BEFORE UPDATE row triggers onn
Date
Msg-id E1hHIGL-0008Fl-87@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Fix potential use-after-free for BEFORE UPDATE row triggers on non-core AMs.

When such a trigger returns the old row version, it naturally get
stored in the slot for the trigger result. When a table AMs doesn't
store HeapTuples internally, ExecBRUpdateTriggers() frees the old row
version passed to triggers - but before this fix it might still be
referenced by the slot holding the new tuple.

Noticed when running the out-of-core zheap AM against the in-core
version of tableam.

Author: Andres Freund

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/75e03eabeaac8fd229b14f74de55d0e1470903c4

Modified Files
--------------
src/backend/commands/trigger.c | 9 +++++++++
1 file changed, 9 insertions(+)


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: Re: pgsql: Fix plan created for inherited UPDATE/DELETE with all tables exc
Next
From: Michael Paquier
Date:
Subject: pgsql: Remove dependency to pageinspect in recovery tests