Re: invalid alloc size error possible in shm_mq
Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
From: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
To: Markus Wanner <markus.wanner@2ndquadrant.com>, pgsql-bugs@postgresql.org,
Robert Haas <robertmhaas@gmail.com>
Date: 2020-08-25T10:00:06Z
Lists: pgsql-bugs
On 2020-07-07 12:30, Markus Wanner wrote: > in shm_mq_receive of shm_mq.c, a huge payload may trigger an unjustified > "invalid memory alloc request size" error due to the way the buffer size > is increased. > > I understand that this fine piece of infrastructure may not have been > designed for huge payloads. I still argue it should better not fail > that way for payloads between half a gigabyte and MaxAllocSize. The > attached patch adds an appropriate assertion (documenting the upper > limit) and avoids the error by limiting the allocation size to > MaxAllocSize (to correct for such huge payloads below the limit). I wonder if the assertion is appropriate or whether it should be a full error check. Is anything on the sending side ensuring that the maximum size is kept? All the size variables are Size/size_t so could be much larger than MaxAllocSize. Robert, thoughts? -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Commits
-
Avoid invalid alloc size error in shm_mq
- d27c18d26f00 9.5.24 landed
- d4e654d15467 9.6.20 landed
- f78ebbe68f48 10.15 landed
- 6e03a8a304a2 11.10 landed
- bd0677bb8a54 12.5 landed
- 1f53d0b9f455 13.1 landed
- 26ec6b5948a7 14.0 landed