Bug #36705 key_buffer_size of >= 2G allocates all availabel virtual memory on 64-bit wondo.

temporary variables of 'long' types were used to store ulong values,
that causes init_key_cache to receive distorted parameters
This commit is contained in:
holyfoot/hf@mysql.com/hfmain.(none) 2008-05-17 12:53:47 +05:00
parent c1f35308cb
commit f9d183b5dc

View File

@ -2350,8 +2350,8 @@ int ha_init_key_cache(const char *name, KEY_CACHE *key_cache)
if (!key_cache->key_cache_inited)
{
pthread_mutex_lock(&LOCK_global_system_variables);
long tmp_buff_size= (long) key_cache->param_buff_size;
long tmp_block_size= (long) key_cache->param_block_size;
ulong tmp_buff_size= (ulong) key_cache->param_buff_size;
uint tmp_block_size= (uint) key_cache->param_block_size;
uint division_limit= key_cache->param_division_limit;
uint age_threshold= key_cache->param_age_threshold;
pthread_mutex_unlock(&LOCK_global_system_variables);