Fix unaligned memory access in xlog parsing due to replication origin patch.
authorAndres Freund <andres@anarazel.de>
Fri, 1 May 2015 09:36:14 +0000 (11:36 +0200)
committerAndres Freund <andres@anarazel.de>
Fri, 1 May 2015 09:36:14 +0000 (11:36 +0200)
commit1db12da85bee7a01abfbbf2798904347e4d9515a
tree936b45c70ff684b02d16d9aac6a500deb6b78dbf
parent484a848a73fc5a76c16bc73626b290154b6a57b4
Fix unaligned memory access in xlog parsing due to replication origin patch.

ParseCommitRecord() accessed xl_xact_origin directly. But the chunks in
the commit record's data only have 4 byte alignment, whereas
xl_xact_origin's members require 8 byte alignment on some
platforms. Update comments to make not of that and copy the record to
stack local storage before reading.

With help from Stefan Kaltenbrunner in pinning down the buildfarm and
verifying the fix.
src/backend/access/rmgrdesc/xactdesc.c
src/include/access/xact.h