summaryrefslogtreecommitdiff
path: root/sql/item_cmpfunc.cc
diff options
context:
space:
mode:
authormonty@mysql.com <>2005-07-04 16:01:04 +0300
committermonty@mysql.com <>2005-07-04 16:01:04 +0300
commit5b8683db74444e14c54a2d3c110415debf63b936 (patch)
tree5d98db8559f519e7aac489fe047ee7fb3f2b8d3b /sql/item_cmpfunc.cc
parentfe30ec903276029beca788d99a28cb544d7ae528 (diff)
downloadmariadb-git-5b8683db74444e14c54a2d3c110415debf63b936.tar.gz
After merge fixes
Diffstat (limited to 'sql/item_cmpfunc.cc')
-rw-r--r--sql/item_cmpfunc.cc10
1 files changed, 7 insertions, 3 deletions
diff --git a/sql/item_cmpfunc.cc b/sql/item_cmpfunc.cc
index bce6a58330f..5ed857319be 100644
--- a/sql/item_cmpfunc.cc
+++ b/sql/item_cmpfunc.cc
@@ -1578,17 +1578,21 @@ my_decimal *Item_func_case::val_decimal(my_decimal *decimal_value)
}
-bool Item_func_case::fix_fields(THD *thd, struct st_table_list *tables,
- Item **ref)
+bool Item_func_case::fix_fields(THD *thd, Item **ref)
{
/*
buff should match stack usage from
Item_func_case::val_int() -> Item_func_case::find_item()
*/
char buff[MAX_FIELD_WIDTH*2+sizeof(String)*2+sizeof(String*)*2+sizeof(double)*2+sizeof(longlong)*2];
+ bool res= Item_func::fix_fields(thd, ref);
+ /*
+ Call check_stack_overrun after fix_fields to be sure that stack variable
+ is not optimized away
+ */
if (check_stack_overrun(thd, STACK_MIN_SIZE, buff))
return TRUE; // Fatal error flag is set!
- return Item_func::fix_fields(thd, tables, ref);
+ return res;
}