Avoid invalid alloc size error in shm_mq
authorPeter Eisentraut <peter@eisentraut.org>
Mon, 19 Oct 2020 06:52:25 +0000 (08:52 +0200)
committerPeter Eisentraut <peter@eisentraut.org>
Mon, 19 Oct 2020 06:52:25 +0000 (08:52 +0200)
commit26ec6b5948a73d0e07ed9435ee4554594acdf34f
treeac014dfff393e4a2637d20c794914dc0b9747509
parentafa0d53d4de6d2f43fbc0a76c88dceb22ba65e86
Avoid invalid alloc size error in shm_mq

In shm_mq_receive(), a huge payload could trigger an unjustified
"invalid memory alloc request size" error due to the way the buffer
size is increased.

Add error checks (documenting the upper limit) and avoid the error by
limiting the allocation size to MaxAllocSize.

Author: Markus Wanner <markus.wanner@2ndquadrant.com>
Discussion: https://www.postgresql.org/message-id/flat/3bb363e7-ac04-0ac4-9fe8-db1148755bfa%402ndquadrant.com
src/backend/storage/ipc/shm_mq.c