Skip to content

Commit 3a35ca5

Browse files
committed
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.
1 parent 4424356 commit 3a35ca5

File tree

1 file changed

+1
-1
lines changed
  • src/backend/utils/misc

1 file changed

+1
-1
lines changed

src/backend/utils/misc/guc.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2096,7 +2096,7 @@ static struct config_int ConfigureNamesInt[] =
20962096
GUC_UNIT_XBLOCKS
20972097
},
20982098
&XLOGbuffers,
2099-
-1, -1, INT_MAX,
2099+
-1, -1, (INT_MAX / XLOG_BLCKSZ),
21002100
check_wal_buffers, NULL, NULL
21012101
},
21022102

0 commit comments

Comments
 (0)