aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/acl.c
diff options
context:
space:
mode:
authorTomas Vondra <tomas.vondra@postgresql.org>2021-03-26 16:33:19 +0100
committerTomas Vondra <tomas.vondra@postgresql.org>2021-03-26 16:48:36 +0100
commit73b96bad4af8fd113a36e4633dd3312001c115dc (patch)
treee9f90f1d8ede39a5af974209ddb30c5091bac9c5 /src/backend/utils/adt/acl.c
parentab596105b55f1d7fbd5a66b66f65227d210b047d (diff)
downloadpostgresql-73b96bad4af8fd113a36e4633dd3312001c115dc.tar.gz
postgresql-73b96bad4af8fd113a36e4633dd3312001c115dc.zip
Fix alignment in BRIN minmax-multi deserialization
The deserialization failed to ensure correct alignment, as it assumed it can simply point into the serialized value. The serialization however ignores alignment and copies just the significant bytes in order to make the result as small as possible. This caused failures on systems that are sensitive to mialigned addresses, like sparc, or with address sanitizer enabled. Fixed by copying the serialized data to ensure proper alignment. While at it, fix an issue with serialization on big endian machines, using the same store_att_byval/fetch_att trick as extended statistics. Discussion: https://postgr.es/0c8c3304-d3dd-5e29-d5ac-b50589a23c8c%40enterprisedb.com
Diffstat (limited to 'src/backend/utils/adt/acl.c')
0 files changed, 0 insertions, 0 deletions