diff options
author | Alexander Barkov <bar@mysql.com> | 2010-05-05 14:34:20 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mysql.com> | 2010-05-05 14:34:20 +0400 |
commit | 3c93a784d415efad81065bb5dcb3f3c897374019 (patch) | |
tree | 1abfd7db1feb7aa4fd379967e8d9010ec18e2b48 /sql/sql_load.cc | |
parent | f90f341491d283e445795b6c21f3293146e6ed83 (diff) | |
download | mariadb-git-3c93a784d415efad81065bb5dcb3f3c897374019.tar.gz |
Bug#51571 load xml infile causes server crash
Problem:
item->name was NULL for Item_user_var_as_out_param
which made strcmp(something, item->name) crash in the LOAD XML code.
Fix:
- item_func.h: Adding set_name() in constuctor for Item_user_var_as_out_param
- sql_load.cc: Changing the condition in write_execute_load_query_log_event() which
distiguished between Item_user_var_as_out_param and Item_field
from
if (item->name == NULL)
to
if (item->type() == Item::FIELD_ITEM)
- loadxml.result, loadxml.test: adding tests
Diffstat (limited to 'sql/sql_load.cc')
-rw-r--r-- | sql/sql_load.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sql/sql_load.cc b/sql/sql_load.cc index 87a347b9f98..9bab87e2720 100644 --- a/sql/sql_load.cc +++ b/sql/sql_load.cc @@ -696,7 +696,7 @@ static bool write_execute_load_query_log_event(THD *thd, sql_exchange* ex, { if (n++) pfields.append(", "); - if (item->name) + if (item->type() == Item::FIELD_ITEM) { pfields.append("`"); pfields.append(item->name); |