diff options
author | Andres Freund <andres@anarazel.de> | 2016-03-06 16:27:20 -0800 |
---|---|---|
committer | Andres Freund <andres@anarazel.de> | 2016-03-06 16:27:20 -0800 |
commit | fd45d16f6212df15821684b231a44448389fb002 (patch) | |
tree | 515d3bf2061b93997198c86ff54ea0d7d4fc5f31 /src/backend/replication/logical/reorderbuffer.c | |
parent | b3e05097e58051a7816ed734074fd76345687e0c (diff) | |
download | postgresql-fd45d16f6212df15821684b231a44448389fb002.tar.gz postgresql-fd45d16f6212df15821684b231a44448389fb002.zip |
Fix wrong allocation size in c8f621c43.
In c8f621c43 I forgot to account for MAXALIGN when allocating a new
tuplebuf in ReorderBufferGetTupleBuf(). That happens to currently not
cause active problems on a number of platforms because the affected
pointer is already aligned, but others, like ppc and hppa, trigger this
in the regression test, due to a debug memset clearing memory.
Fix that.
Backpatch: 9.4, like the previous commit.
Diffstat (limited to 'src/backend/replication/logical/reorderbuffer.c')
-rw-r--r-- | src/backend/replication/logical/reorderbuffer.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/backend/replication/logical/reorderbuffer.c b/src/backend/replication/logical/reorderbuffer.c index 570400ffb73..e2ad4728cdc 100644 --- a/src/backend/replication/logical/reorderbuffer.c +++ b/src/backend/replication/logical/reorderbuffer.c @@ -483,7 +483,8 @@ ReorderBufferGetTupleBuf(ReorderBuffer *rb, Size tuple_len) { tuple = (ReorderBufferTupleBuf *) MemoryContextAlloc(rb->context, - sizeof(ReorderBufferTupleBuf) + alloc_len); + sizeof(ReorderBufferTupleBuf) + + MAXIMUM_ALIGNOF + alloc_len); tuple->alloc_tuple_size = alloc_len; tuple->tuple.t_data = ReorderBufferTupleBufData(tuple); } |