summaryrefslogtreecommitdiff
path: root/sql/sql_analyse.cc
diff options
context:
space:
mode:
authorbell@sanja.is.com.ua <>2003-02-14 17:09:09 +0200
committerbell@sanja.is.com.ua <>2003-02-14 17:09:09 +0200
commit203728ae68d292d4e31b6ed08fb789c6371bce47 (patch)
tree86f436f17da169051ac5b697a9f05177a272ac2f /sql/sql_analyse.cc
parent9dd13a9a4ad7ccc134445d1c52643b8408092222 (diff)
downloadmariadb-git-203728ae68d292d4e31b6ed08fb789c6371bce47.tar.gz
fixed memory leak in ANALIZE initialization error reporting
Diffstat (limited to 'sql/sql_analyse.cc')
-rw-r--r--sql/sql_analyse.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/sql/sql_analyse.cc b/sql/sql_analyse.cc
index 457356d4253..6227b1251db 100644
--- a/sql/sql_analyse.cc
+++ b/sql/sql_analyse.cc
@@ -58,6 +58,7 @@ proc_analyse_init(THD *thd, ORDER *param, select_result *result,
if ((*param->item)->type() != Item::INT_ITEM ||
(*param->item)->val() < 0)
{
+ delete pc;
net_printf(&thd->net, ER_WRONG_PARAMETERS_TO_PROCEDURE, proc_name);
return 0;
}
@@ -65,6 +66,7 @@ proc_analyse_init(THD *thd, ORDER *param, select_result *result,
param = param->next;
if (param->next) // no third parameter possible
{
+ delete pc;
net_printf(&thd->net, ER_WRONG_PARAMCOUNT_TO_PROCEDURE, proc_name);
return 0;
}
@@ -72,6 +74,7 @@ proc_analyse_init(THD *thd, ORDER *param, select_result *result,
if ((*param->item)->type() != Item::INT_ITEM ||
(*param->item)->val() < 0)
{
+ delete pc;
net_printf(&thd->net, ER_WRONG_PARAMETERS_TO_PROCEDURE, proc_name);
return 0;
}
@@ -80,6 +83,7 @@ proc_analyse_init(THD *thd, ORDER *param, select_result *result,
else if ((*param->item)->type() != Item::INT_ITEM ||
(*param->item)->val() < 0)
{
+ delete pc;
net_printf(&thd->net, ER_WRONG_PARAMETERS_TO_PROCEDURE, proc_name);
return 0;
}