]> granicus.if.org Git - postgresql/commit
Fix use of dangling pointer in heap_delete() when logging replica identity
authorMichael Paquier <michael@paquier.xyz>
Fri, 1 Feb 2019 01:35:46 +0000 (10:35 +0900)
committerMichael Paquier <michael@paquier.xyz>
Fri, 1 Feb 2019 01:35:46 +0000 (10:35 +0900)
commit478e0069fb8bc30d7e0c1a8fc390ed041e1b67c9
tree17812a08aa67572ea536bc77fbabcad5a7869726
parent2bac1d8c9848ec7045380401ae758003fe064bbc
Fix use of dangling pointer in heap_delete() when logging replica identity

When logging the replica identity of a deleted tuple, XLOG_HEAP_DELETE
records include references of the old tuple.  Its data is stored in an
intermediate variable used to register this information for the WAL
record, but this variable gets away from the stack when the record gets
actually inserted.

Spotted by clang's AddressSanitizer.

Author: Stas Kelvish
Discussion: https://postgr.es/m/085C8825-AD86-4E93-AF80-E26CDF03D1EA@postgrespro.ru
Backpatch-through: 9.4
src/backend/access/heap/heapam.c