summaryrefslogtreecommitdiff
path: root/sql/sql_parse.cc
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2017-05-11 19:48:42 +0200
committerSergei Golubchik <serg@mariadb.org>2017-05-15 22:23:10 +0200
commit52aa200919b1fd9357c05bcdfc66a42e51f242b3 (patch)
tree7c3c15b54110084a64e6f5f07e70de3016b1b6ae /sql/sql_parse.cc
parent602b5e4c498ad2e2d045adfa4fd1478ac437582a (diff)
downloadmariadb-git-52aa200919b1fd9357c05bcdfc66a42e51f242b3.tar.gz
MDEV-12420 max_recursive_iterations did not prevent a stack-overflow and segfault
post-review fixes * move pcre-specific variable out of mysys * don't use current_thd * move a commonly used macro to my_sys.h * remove new sysvar
Diffstat (limited to 'sql/sql_parse.cc')
-rw-r--r--sql/sql_parse.cc16
1 files changed, 1 insertions, 15 deletions
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc
index edeb34418b2..e57756217ca 100644
--- a/sql/sql_parse.cc
+++ b/sql/sql_parse.cc
@@ -6163,12 +6163,6 @@ bool check_fk_parent_table_access(THD *thd,
****************************************************************************/
-#if STACK_DIRECTION < 0
-#define used_stack(A,B) (long) (A - B)
-#else
-#define used_stack(A,B) (long) (B - A)
-#endif
-
#ifndef DBUG_OFF
long max_stack_used;
#endif
@@ -6185,7 +6179,7 @@ bool check_stack_overrun(THD *thd, long margin,
{
long stack_used;
DBUG_ASSERT(thd == current_thd);
- if ((stack_used=used_stack(thd->thread_stack,(char*) &stack_used)) >=
+ if ((stack_used= available_stack_size(thd->thread_stack, &stack_used)) >=
(long) (my_thread_stack_size - margin))
{
thd->is_fatal_error= 1;
@@ -6208,14 +6202,6 @@ bool check_stack_overrun(THD *thd, long margin,
return 0;
}
-long check_stack_available(long margin,
- uchar *buf __attribute__((unused)))
-{
- long stack_top;
- DBUG_ASSERT(current_thd);
- return my_thread_stack_size - margin \
- - used_stack(current_thd->thread_stack,(char*) &stack_top);
-}
#define MY_YACC_INIT 1000 // Start with big alloc
#define MY_YACC_MAX 32000 // Because of 'short'