]> 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:52 +0000 (10:35 +0900)
committerMichael Paquier <michael@paquier.xyz>
Fri, 1 Feb 2019 01:35:52 +0000 (10:35 +0900)
commit014763e97668d1597d3cc2abe9ec4bdbf1554e5f
treec135ab96e78af3d731a78d8a0fdaf344cdc2f75c
parent650296f8f607365278f64c9b9a7438c321f2d4ec
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