• Jon Olav Hauglid's avatar
    Bug#20730053: BACKPORT BUG#19770858 TO 5.1 · c7581bb5
    Jon Olav Hauglid authored
    Backport from mysql-5.5 to mysql-5.1 of:
    
    Bug19770858: MYSQLD CAN BE DRIVEN TO OOM WITH TWO SIMPLE SESSION VARS
    
    The problem was that the maximum value of the transaction_prealloc_size
    session system variable was ULONG_MAX which meant that it was possible
    to cause the server to allocate excessive amounts of memory.
    
    This patch fixes the problem by reducing the maxmimum value of
    transaction_prealloc_size and transaction_alloc_block_size down
    to 128K.
    
    Note that transactions will still be able to allocate more than
    128K if needed, this patch just reduces the amount that can be
    preallocated - as well as the maximum size of the incremental
    allocation blocks.
    
    (cherry picked from commit 540c9f7ebb428bbf9ec028feabe1f7f919fdefd9)
    
    Conflicts:
    	mysql-test/suite/sys_vars/r/transaction_alloc_block_size_basic.result
    	mysql-test/suite/sys_vars/r/transaction_alloc_block_size_basic_64.result
    	mysql-test/suite/sys_vars/t/disabled.def
    	mysql-test/suite/sys_vars/t/transaction_alloc_block_size_basic.test
    	sql/sys_vars.cc
    c7581bb5
mysqld.cc 322 KB