postgres.git / summary / log / commit / refs

commit    11ed4bab50ba6d80cc982cc4ae4675df705eda4b
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 61cde68a6c3..e710c41079c 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -2050,7 +2050,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 }, [parent: bd8f768926f7]