]> granicus.if.org Git - postgresql/commit
Fix unaligned accesses in DecodeUpdate().
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 17 May 2014 19:53:21 +0000 (15:53 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 17 May 2014 19:53:21 +0000 (15:53 -0400)
commit6c42b2b10af3f717030966b9f05867f3e065becc
treecebcf67afee0f6844f98de08d16cf547f1549c7d
parenta3655dd4a5cee3917a7d1766e07e36013e7e8835
Fix unaligned accesses in DecodeUpdate().

The xl_heap_header_len structures in an XLOG_HEAP_UPDATE record aren't
necessarily aligned adequately.  The regular replay function for these
records is aware of that, but decode.c didn't get the memo.  I'm not
sure why the buildfarm failed to catch this; the test_decoding test
certainly blows up real good on my old HPPA box.

Also, I'm pretty sure that the address arithmetic was wrong for the
case of XLOG_HEAP_CONTAINS_OLD and not XLOG_HEAP_CONTAINS_NEW_TUPLE,
though this apparently can't happen when logical decoding is active.
src/backend/replication/logical/decode.c