diff --git a/mysql-test/t/sp.test b/mysql-test/t/sp.test index 56b64532ab8..fba3cfcbfbc 100644 --- a/mysql-test/t/sp.test +++ b/mysql-test/t/sp.test @@ -4773,6 +4773,8 @@ drop procedure bug10100pv| drop procedure bug10100pd| drop procedure bug10100pc| drop view v1| + +# # BUG#13729: Stored procedures: packet error after exception handled # --disable_warnings diff --git a/sql/mysqld.cc b/sql/mysqld.cc index b5b95e48889..8792d2560ae 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -1589,6 +1589,7 @@ void end_thread(THD *thd, bool put_in_cache) wake_thread--; thd=thread_cache.get(); thd->real_id=pthread_self(); + thd->thread_stack= (char *) &thd; (void) thd->store_globals(); thd->thr_create_time= time(NULL); threads.append(thd); @@ -6912,8 +6913,10 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)), case OPT_MYISAM_STATS_METHOD: { ulong method_conv; - myisam_stats_method_str= argument; int method; + LINT_INIT(method_conv); + + myisam_stats_method_str= argument; if ((method=find_type(argument, &myisam_stats_method_typelib, 2)) <= 0) { fprintf(stderr, "Invalid value of myisam_stats_method: %s.\n", argument); diff --git a/sql/sql_class.cc b/sql/sql_class.cc index b65f353e492..70dfaca53d3 100644 --- a/sql/sql_class.cc +++ b/sql/sql_class.cc @@ -183,6 +183,7 @@ THD::THD() spcont(NULL) { stmt_arena= this; + thread_stack= 0; db= 0; catalog= (char*)"std"; // the only catalog we have for now main_security_ctx.init();