summaryrefslogtreecommitdiff
path: root/sql/sql_plugin.cc
diff options
context:
space:
mode:
authorunknown <acurtis/antony@xiphis.org/ltamd64.xiphis.org>2006-09-25 10:59:49 -0700
committerunknown <acurtis/antony@xiphis.org/ltamd64.xiphis.org>2006-09-25 10:59:49 -0700
commit7950abcf226deb928e575065ade2de2eb143401d (patch)
tree62ee63c547b59071740009acb8240f6c02c9b6b9 /sql/sql_plugin.cc
parentc73ba0f518fc1d9b35b2e9a9025ca20f1b7d60c6 (diff)
downloadmariadb-git-7950abcf226deb928e575065ade2de2eb143401d.tar.gz
Bug#21610
"Loaded engine does not load after restart." Junk characters caused plugin load to fail silently. sql/sql_plugin.cc: junk characters cause plugin load to fail. eliminate use of strlen().
Diffstat (limited to 'sql/sql_plugin.cc')
-rw-r--r--sql/sql_plugin.cc16
1 files changed, 9 insertions, 7 deletions
diff --git a/sql/sql_plugin.cc b/sql/sql_plugin.cc
index 97c28dd1fa5..1a3626acaf6 100644
--- a/sql/sql_plugin.cc
+++ b/sql/sql_plugin.cc
@@ -759,14 +759,16 @@ void plugin_load(void)
while (!(error= read_record_info.read_record(&read_record_info)))
{
DBUG_PRINT("info", ("init plugin record"));
- LEX_STRING name, dl;
- name.str= get_field(&mem, table->field[0]);
- name.length= strlen(name.str);
- dl.str= get_field(&mem, table->field[1]);
- dl.length= strlen(dl.str);
+ String str_name, str_dl;
+ get_field(&mem, table->field[0], &str_name);
+ get_field(&mem, table->field[1], &str_dl);
+
+ LEX_STRING name= {(char *)str_name.ptr(), str_name.length()};
+ LEX_STRING dl= {(char *)str_dl.ptr(), str_dl.length()};
+
if (plugin_add(&name, &dl, REPORT_TO_LOG))
- DBUG_PRINT("warning", ("Couldn't load plugin named '%s' with soname '%s'.",
- name.str, dl.str));
+ sql_print_warning("Couldn't load plugin named '%s' with soname '%s'.",
+ str_name.c_ptr(), str_dl.c_ptr());
}
if (error > 0)
sql_print_error(ER(ER_GET_ERRNO), my_errno);