diff options
author | John Naylor | 2024-04-08 03:40:20 +0000 |
---|---|---|
committer | John Naylor | 2024-04-08 03:40:20 +0000 |
commit | 0ea51bac3802dca9dcf5cbaaf7a19a1c1ae4781a (patch) | |
tree | 3e3a4ea46d7d43ffd5748a1f4cf53fd21df1e049 | |
parent | 304b6b1a6b7116bae30ea24119f04474eba7f0ed (diff) |
Fix alignment of stack variable
Declare with union similar to PGAlignedBlock.
Report and fix by Andres Freund
Discussion: https://postgr.es/m/20240407190731.izm3mdazednrsiqk%40awork3.anarazel.de
-rw-r--r-- | src/backend/access/common/tidstore.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/backend/access/common/tidstore.c b/src/backend/access/common/tidstore.c index e1a7e824690..629390a1f88 100644 --- a/src/backend/access/common/tidstore.c +++ b/src/backend/access/common/tidstore.c @@ -303,8 +303,12 @@ void TidStoreSetBlockOffsets(TidStore *ts, BlockNumber blkno, OffsetNumber *offsets, int num_offsets) { - char data[MaxBlocktableEntrySize]; - BlocktableEntry *page = (BlocktableEntry *) data; + union + { + char data[MaxBlocktableEntrySize]; + BlocktableEntry force_align_entry; + } data; + BlocktableEntry *page = (BlocktableEntry *) data.data; bitmapword word; int wordnum; int next_word_threshold; |