summaryrefslogtreecommitdiff
path: root/sql/sql_udf.cc
diff options
context:
space:
mode:
authorunknown <gkodinov/kgeorge@rakia.gmz>2007-01-03 18:26:39 +0200
committerunknown <gkodinov/kgeorge@rakia.gmz>2007-01-03 18:26:39 +0200
commitea5557aade23efacda0f139bcec943b0c897c7e5 (patch)
tree54a7175c5e1d6b09fc6fe4511e20330e35ea00b0 /sql/sql_udf.cc
parent4c737cf1428c4b08bafd9888b86c8aed6002380b (diff)
downloadmariadb-git-ea5557aade23efacda0f139bcec943b0c897c7e5.tar.gz
sql_udf.cc:
Addendum to the fix for bug#15439 : valgrind pb failed sql/sql_udf.cc: Addendum to the fix for bug#15439 : valgrind pb failed
Diffstat (limited to 'sql/sql_udf.cc')
-rw-r--r--sql/sql_udf.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/sql/sql_udf.cc b/sql/sql_udf.cc
index 5bbfa522d58..2ebfadb7ba9 100644
--- a/sql/sql_udf.cc
+++ b/sql/sql_udf.cc
@@ -510,6 +510,8 @@ int mysql_drop_function(THD *thd,const LEX_STRING *udf_name)
TABLE *table;
TABLE_LIST tables;
udf_func *udf;
+ char *exact_name_str;
+ uint exact_name_len;
DBUG_ENTER("mysql_drop_function");
if (!initialized)
{
@@ -523,6 +525,8 @@ int mysql_drop_function(THD *thd,const LEX_STRING *udf_name)
my_error(ER_FUNCTION_NOT_DEFINED, MYF(0), udf_name->str);
goto err;
}
+ exact_name_str= udf->name.str;
+ exact_name_len= udf->name.length;
del_udf(udf);
/*
Close the handle if this was function that was found during boot or
@@ -536,7 +540,7 @@ int mysql_drop_function(THD *thd,const LEX_STRING *udf_name)
tables.table_name= tables.alias= (char*) "func";
if (!(table = open_ltable(thd,&tables,TL_WRITE)))
goto err;
- table->field[0]->store(udf->name.str, udf->name.length, &my_charset_bin);
+ table->field[0]->store(exact_name_str, exact_name_len, &my_charset_bin);
table->file->extra(HA_EXTRA_RETRIEVE_ALL_COLS);
if (!table->file->index_read_idx(table->record[0], 0,
(byte*) table->field[0]->ptr,