mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	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.
This commit is contained in:
		@@ -2215,7 +2215,7 @@ static struct config_int ConfigureNamesInt[] =
 | 
			
		||||
			GUC_UNIT_XBLOCKS
 | 
			
		||||
		},
 | 
			
		||||
		&XLOGbuffers,
 | 
			
		||||
		-1, -1, INT_MAX,
 | 
			
		||||
		-1, -1, (INT_MAX / XLOG_BLCKSZ),
 | 
			
		||||
		check_wal_buffers, NULL, NULL
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user