Обсуждение: pgsql: Fix alignment problem with bbsink_copystream buffer.

Поиск
Список
Период
Сортировка

pgsql: Fix alignment problem with bbsink_copystream buffer.

От
Robert Haas
Дата:
Fix alignment problem with bbsink_copystream buffer.

bbsink_copystream wants to store a type byte just before the buffer,
but basebackup.c wants the buffer to be aligned so that it can call
PageIsNew() and PageGetLSN() on it. Therefore, instead of inserting
1 extra byte before the buffer, insert MAXIMUM_ALIGNOF extra bytes
and only use the last one.

On most machines this doesn't cause any problem (except perhaps for
performance) but some buildfarm machines with -fsanitize=alignment
dump core.

Discussion: http://postgr.es/m/CA+TgmoYx5=1A2K9JYV-9zdhyokU4KKTyNQ9q7CiXrX=YBBMWVw@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/0f47e833bf6d96c1a2c5173c8e0f6c6cc30f9592

Modified Files
--------------
src/backend/replication/basebackup_copy.c | 18 +++++++++++-------
1 file changed, 11 insertions(+), 7 deletions(-)