]> granicus.if.org Git - postgresql/commit
Handle unaligned SerializeSnapshot() buffer.
authorNoah Misch <noah@leadboat.com>
Thu, 2 Mar 2017 05:03:27 +0000 (00:03 -0500)
committerNoah Misch <noah@leadboat.com>
Thu, 2 Mar 2017 05:03:27 +0000 (00:03 -0500)
commit7f3112135eb67e5df56cd34b8ce662bf6a2390e9
treeb0743fe3841a55057984daa9a02c859c795ea81f
parent4461a9bfd1ac4aa1f922e8309e79d097bde9fcb4
Handle unaligned SerializeSnapshot() buffer.

Likewise in RestoreSnapshot().  Do so by copying between the user buffer
and a stack buffer of known alignment.  Back-patch to 9.6, where this
last applies cleanly.  In master, the select_parallel test dies with
SIGBUS on "Oracle Solaris 10 1/13 s10s_u11wos_24a SPARC", building
32-bit with gcc 4.9.2.  In 9.6 and 9.5, the buffers in question happen
to be sufficiently-aligned, and this change is mere insurance against
future 9.6 changes or extension code compromising that.
src/backend/utils/time/snapmgr.c