diff options
author | Dmitry Shulga <Dmitry.Shulga@oracle.com> | 2010-11-10 11:58:50 +0600 |
---|---|---|
committer | Dmitry Shulga <Dmitry.Shulga@oracle.com> | 2010-11-10 11:58:50 +0600 |
commit | 64b897b0cedc421dc6ce468c714bbcbb72ebd9e7 (patch) | |
tree | 3fc7d57c7d91ab1fe5561b19a738555920d441c2 /sql | |
parent | 5d7d1a42d8b3308c7b10747725978ae5428929b6 (diff) | |
parent | 5b3e668af8b1bc44cd5379f425bed38809361d5f (diff) | |
download | mariadb-git-64b897b0cedc421dc6ce468c714bbcbb72ebd9e7.tar.gz |
Auto-merge from 5.1-bugteam for bug#57386.
Diffstat (limited to 'sql')
-rw-r--r-- | sql/item_func.cc | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sql/item_func.cc b/sql/item_func.cc index afb09ff5b17..bef0e461a1f 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -178,7 +178,14 @@ Item_func::fix_fields(THD *thd, Item **ref) used_tables_cache= not_null_tables_cache= 0; const_item_cache=1; - if (check_stack_overrun(thd, STACK_MIN_SIZE, buff)) + /* + Use stack limit of STACK_MIN_SIZE * 2 since + on some platforms a recursive call to fix_fields + requires more than STACK_MIN_SIZE bytes (e.g. for + MIPS, it takes about 22kB to make one recursive + call to Item_func::fix_fields()) + */ + if (check_stack_overrun(thd, STACK_MIN_SIZE * 2, buff)) return TRUE; // Fatal error if flag is set! if (arg_count) { // Print purify happy |