mirror of
https://github.com/postgres/postgres.git
synced 2026-05-21 09:48:06 -04:00
Unify src/common/'s definitions of MaxAllocSize.
Define MaxAllocSize in src/include/common/fe_memutils.h rather
than having several copies of it in different src/common/*.c files.
This also provides an opportunity to document it better.
Back-patch of commit 11b7de4a7, needed now because assorted security
fixes are adding additional references to MaxAllocSize in frontend
code.
Backpatch-through: 14-17
Security: CVE-2026-6473
This commit is contained in:
parent
3fb66d3022
commit
d106295b60
4 changed files with 12 additions and 10 deletions
|
|
@ -24,9 +24,6 @@
|
|||
|
||||
#include "postgres_fe.h"
|
||||
|
||||
/* It's possible we could use a different value for this in frontend code */
|
||||
#define MaxAllocSize ((Size) 0x3fffffff) /* 1 gigabyte - 1 */
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -24,10 +24,6 @@
|
|||
#include "utils/memutils.h"
|
||||
#else
|
||||
#include "postgres_fe.h"
|
||||
|
||||
/* It's possible we could use a different value for this in frontend code */
|
||||
#define MaxAllocSize ((Size) 0x3fffffff) /* 1 gigabyte - 1 */
|
||||
|
||||
#endif
|
||||
|
||||
#include "common/saslprep.h"
|
||||
|
|
|
|||
|
|
@ -24,9 +24,6 @@
|
|||
|
||||
#include "postgres_fe.h"
|
||||
|
||||
/* It's possible we could use a different value for this in frontend code */
|
||||
#define MaxAllocSize ((Size) 0x3fffffff) /* 1 gigabyte - 1 */
|
||||
|
||||
#endif
|
||||
|
||||
#include "lib/stringinfo.h"
|
||||
|
|
|
|||
|
|
@ -9,6 +9,18 @@
|
|||
#ifndef FE_MEMUTILS_H
|
||||
#define FE_MEMUTILS_H
|
||||
|
||||
/*
|
||||
* Assumed maximum size for allocation requests.
|
||||
*
|
||||
* We don't enforce this, so the actual maximum is the platform's SIZE_MAX.
|
||||
* But it's useful to have it defined in frontend builds, so that common
|
||||
* code can check for oversized requests without having frontend-vs-backend
|
||||
* differences. Also, some code relies on MaxAllocSize being no more than
|
||||
* INT_MAX/2, so rather than setting this to SIZE_MAX, make it the same as
|
||||
* the backend's value.
|
||||
*/
|
||||
#define MaxAllocSize ((Size) 0x3fffffff) /* 1 gigabyte - 1 */
|
||||
|
||||
/*
|
||||
* Flags for pg_malloc_extended and palloc_extended, deliberately named
|
||||
* the same as the backend flags.
|
||||
|
|
|
|||
Loading…
Reference in a new issue