summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Naylor2024-04-08 03:40:20 +0000
committerJohn Naylor2024-04-08 03:40:20 +0000
commit0ea51bac3802dca9dcf5cbaaf7a19a1c1ae4781a (patch)
tree3e3a4ea46d7d43ffd5748a1f4cf53fd21df1e049
parent304b6b1a6b7116bae30ea24119f04474eba7f0ed (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.c8
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;