MDEV-28762: recursive call of some json functions without stack control
Fixup to MDEV-28762. Fixes warnings about unused variable "stack_used_up" during building with RelWithDebInfo
This commit is contained in:
parent
f53f64b7b9
commit
bfdc4ff22e
@ -1243,10 +1243,12 @@ static int check_contains(json_engine_t *js, json_engine_t *value)
|
|||||||
{
|
{
|
||||||
json_engine_t loc_js;
|
json_engine_t loc_js;
|
||||||
bool set_js;
|
bool set_js;
|
||||||
|
DBUG_EXECUTE_IF("json_check_min_stack_requirement",
|
||||||
|
{
|
||||||
long arbitrary_var;
|
long arbitrary_var;
|
||||||
long stack_used_up= (available_stack_size(current_thd->thread_stack, &arbitrary_var));
|
long stack_used_up= (available_stack_size(current_thd->thread_stack, &arbitrary_var));
|
||||||
DBUG_EXECUTE_IF("json_check_min_stack_requirement",
|
ALLOCATE_MEM_ON_STACK(my_thread_stack_size-stack_used_up-STACK_MIN_SIZE);
|
||||||
{ALLOCATE_MEM_ON_STACK(my_thread_stack_size-stack_used_up-STACK_MIN_SIZE);});
|
});
|
||||||
if (check_stack_overrun(current_thd, STACK_MIN_SIZE , NULL))
|
if (check_stack_overrun(current_thd, STACK_MIN_SIZE , NULL))
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
@ -2238,10 +2240,12 @@ err_return:
|
|||||||
static int do_merge(String *str, json_engine_t *je1, json_engine_t *je2)
|
static int do_merge(String *str, json_engine_t *je1, json_engine_t *je2)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
DBUG_EXECUTE_IF("json_check_min_stack_requirement",
|
||||||
|
{
|
||||||
long arbitrary_var;
|
long arbitrary_var;
|
||||||
long stack_used_up= (available_stack_size(current_thd->thread_stack, &arbitrary_var));
|
long stack_used_up= (available_stack_size(current_thd->thread_stack, &arbitrary_var));
|
||||||
DBUG_EXECUTE_IF("json_check_min_stack_requirement",
|
ALLOCATE_MEM_ON_STACK(my_thread_stack_size-stack_used_up-STACK_MIN_SIZE);
|
||||||
{ALLOCATE_MEM_ON_STACK(my_thread_stack_size-stack_used_up-STACK_MIN_SIZE);});
|
});
|
||||||
if (check_stack_overrun(current_thd, STACK_MIN_SIZE , NULL))
|
if (check_stack_overrun(current_thd, STACK_MIN_SIZE , NULL))
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
@ -2578,11 +2582,13 @@ static int copy_value_patch(String *str, json_engine_t *je)
|
|||||||
|
|
||||||
static int do_merge_patch(String *str, json_engine_t *je1, json_engine_t *je2,
|
static int do_merge_patch(String *str, json_engine_t *je1, json_engine_t *je2,
|
||||||
bool *empty_result)
|
bool *empty_result)
|
||||||
|
{
|
||||||
|
DBUG_EXECUTE_IF("json_check_min_stack_requirement",
|
||||||
{
|
{
|
||||||
long arbitrary_var;
|
long arbitrary_var;
|
||||||
long stack_used_up= (available_stack_size(current_thd->thread_stack, &arbitrary_var));
|
long stack_used_up= (available_stack_size(current_thd->thread_stack, &arbitrary_var));
|
||||||
DBUG_EXECUTE_IF("json_check_min_stack_requirement",
|
ALLOCATE_MEM_ON_STACK(my_thread_stack_size-stack_used_up-STACK_MIN_SIZE);
|
||||||
{ALLOCATE_MEM_ON_STACK(my_thread_stack_size-stack_used_up-STACK_MIN_SIZE);});
|
});
|
||||||
if (check_stack_overrun(current_thd, STACK_MIN_SIZE , NULL))
|
if (check_stack_overrun(current_thd, STACK_MIN_SIZE , NULL))
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
@ -4566,11 +4572,13 @@ int json_find_overlap_with_object(json_engine_t *js, json_engine_t *value,
|
|||||||
TRUE - if two json documents overlap
|
TRUE - if two json documents overlap
|
||||||
*/
|
*/
|
||||||
int check_overlaps(json_engine_t *js, json_engine_t *value, bool compare_whole)
|
int check_overlaps(json_engine_t *js, json_engine_t *value, bool compare_whole)
|
||||||
|
{
|
||||||
|
DBUG_EXECUTE_IF("json_check_min_stack_requirement",
|
||||||
{
|
{
|
||||||
long arbitrary_var;
|
long arbitrary_var;
|
||||||
long stack_used_up= (available_stack_size(current_thd->thread_stack, &arbitrary_var));
|
long stack_used_up= (available_stack_size(current_thd->thread_stack, &arbitrary_var));
|
||||||
DBUG_EXECUTE_IF("json_check_min_stack_requirement",
|
ALLOCATE_MEM_ON_STACK(my_thread_stack_size-stack_used_up-STACK_MIN_SIZE);
|
||||||
{ALLOCATE_MEM_ON_STACK(my_thread_stack_size-stack_used_up-STACK_MIN_SIZE);});
|
});
|
||||||
if (check_stack_overrun(current_thd, STACK_MIN_SIZE , NULL))
|
if (check_stack_overrun(current_thd, STACK_MIN_SIZE , NULL))
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
|
@ -118,10 +118,12 @@ int get_disallowed_table_deps_for_list(MEM_ROOT *mem_root,
|
|||||||
NESTED_JOIN *nested_join;
|
NESTED_JOIN *nested_join;
|
||||||
List_iterator<TABLE_LIST> li(*join_list);
|
List_iterator<TABLE_LIST> li(*join_list);
|
||||||
|
|
||||||
|
DBUG_EXECUTE_IF("json_check_min_stack_requirement",
|
||||||
|
{
|
||||||
long arbitrary_var;
|
long arbitrary_var;
|
||||||
long stack_used_up= (available_stack_size(current_thd->thread_stack, &arbitrary_var));
|
long stack_used_up= (available_stack_size(current_thd->thread_stack, &arbitrary_var));
|
||||||
DBUG_EXECUTE_IF("json_check_min_stack_requirement",
|
ALLOCATE_MEM_ON_STACK(my_thread_stack_size-stack_used_up-STACK_MIN_SIZE);
|
||||||
{ALLOCATE_MEM_ON_STACK(my_thread_stack_size-stack_used_up-STACK_MIN_SIZE);});
|
});
|
||||||
if (check_stack_overrun(current_thd, STACK_MIN_SIZE , NULL))
|
if (check_stack_overrun(current_thd, STACK_MIN_SIZE , NULL))
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
@ -1344,13 +1346,14 @@ static void add_extra_deps(List<TABLE_LIST> *join_list, table_map deps)
|
|||||||
TABLE_LIST *table;
|
TABLE_LIST *table;
|
||||||
List_iterator<TABLE_LIST> li(*join_list);
|
List_iterator<TABLE_LIST> li(*join_list);
|
||||||
|
|
||||||
|
DBUG_EXECUTE_IF("json_check_min_stack_requirement",
|
||||||
|
{
|
||||||
long arbitrary_var;
|
long arbitrary_var;
|
||||||
long stack_used_up= (available_stack_size(current_thd->thread_stack, &arbitrary_var));
|
long stack_used_up= (available_stack_size(current_thd->thread_stack, &arbitrary_var));
|
||||||
DBUG_EXECUTE_IF("json_check_min_stack_requirement",
|
ALLOCATE_MEM_ON_STACK(my_thread_stack_size-stack_used_up-STACK_MIN_SIZE);
|
||||||
{ALLOCATE_MEM_ON_STACK(my_thread_stack_size-stack_used_up-STACK_MIN_SIZE);});
|
});
|
||||||
if (check_stack_overrun(current_thd, STACK_MIN_SIZE , NULL))
|
if (check_stack_overrun(current_thd, STACK_MIN_SIZE , NULL))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
while ((table= li++))
|
while ((table= li++))
|
||||||
{
|
{
|
||||||
table->dep_tables |= deps;
|
table->dep_tables |= deps;
|
||||||
@ -1439,10 +1442,12 @@ table_map add_table_function_dependencies(List<TABLE_LIST> *join_list,
|
|||||||
table_map res= 0;
|
table_map res= 0;
|
||||||
List_iterator<TABLE_LIST> li(*join_list);
|
List_iterator<TABLE_LIST> li(*join_list);
|
||||||
|
|
||||||
|
DBUG_EXECUTE_IF("json_check_min_stack_requirement",
|
||||||
|
{
|
||||||
long arbitrary_var;
|
long arbitrary_var;
|
||||||
long stack_used_up= (available_stack_size(current_thd->thread_stack, &arbitrary_var));
|
long stack_used_up= (available_stack_size(current_thd->thread_stack, &arbitrary_var));
|
||||||
DBUG_EXECUTE_IF("json_check_min_stack_requirement",
|
ALLOCATE_MEM_ON_STACK(my_thread_stack_size-stack_used_up-STACK_MIN_SIZE);
|
||||||
{ALLOCATE_MEM_ON_STACK(my_thread_stack_size-stack_used_up-STACK_MIN_SIZE);});
|
});
|
||||||
if ((res=check_stack_overrun(current_thd, STACK_MIN_SIZE , NULL)))
|
if ((res=check_stack_overrun(current_thd, STACK_MIN_SIZE , NULL)))
|
||||||
return res;
|
return res;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user