diff options
author | Andres Freund <andres@anarazel.de> | 2019-04-18 17:53:54 -0700 |
---|---|---|
committer | Andres Freund <andres@anarazel.de> | 2019-04-18 17:53:54 -0700 |
commit | 75e03eabeaac8fd229b14f74de55d0e1470903c4 (patch) | |
tree | e18a589b1382a6d5140f42169c151e90c7f3a6c8 /src/backend/access/gist/gist.c | |
parent | bb385c4fb0f4eb33d2bc7e484061565ba51cc790 (diff) | |
download | postgresql-75e03eabeaac8fd229b14f74de55d0e1470903c4.tar.gz postgresql-75e03eabeaac8fd229b14f74de55d0e1470903c4.zip |
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
Diffstat (limited to 'src/backend/access/gist/gist.c')
0 files changed, 0 insertions, 0 deletions