postgres.git / summary / log / commit / refs
commit b09446ed7eecc7cee6f7cc1dcc954c75c6c7570b
Author: Robert Haas <rhaas@postgresql.org>
Date: Tue Aug 04 16:58:54 2015 +0000
Cap wal_buffers to avoid a server crash when it's set very large.
It must be possible to multiply wal_buffers by XLOG_BLCKSZ without
overflowing int, or calculations in StartupXLOG will go badly wrong
and crash the server. Avoid that by imposing a maximum value on
wal_buffers. This will be just under 2GB, assuming the usual value
for XLOG_BLCKSZ.
Josh Berkus, per an analysis by Andrew Gierth.
src/backend/utils/misc/guc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index 203f2026633..597ac8885e0 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -1722,7 +1722,7 @@ static struct config_int ConfigureNamesInt[] =
GUC_UNIT_XBLOCKS
},
&XLOGbuffers,
- 8, 4, INT_MAX, NULL, NULL
+ 8, 4, (INT_MAX / XLOG_BLCKSZ), NULL, NULL
},
{
[parent: 8b53c087d268]