]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Fix use of dangling pointer in heap_delete() when logging replica identity
authorMichael Paquier <michael@paquier.xyz>
Fri, 1 Feb 2019 01:35:58 +0000 (10:35 +0900)
committerMichael Paquier <michael@paquier.xyz>
Fri, 1 Feb 2019 01:35:58 +0000 (10:35 +0900)
commit90f1ba7ecf01f063c0e113c72afcf8c1a64ca285
treec403d4d1378a0ab5c81720e9fd5091f5659ecf58
parentedd8278c544e7b7a7478f19ba245bb3c0df79dd6
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