From 25d31b8f7cfc2de56a2e5bf77b6b498687b8aa7f Mon Sep 17 00:00:00 2001 From: Alexander Barkov Date: Wed, 5 May 2010 14:34:20 +0400 Subject: 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 --- mysql-test/t/loadxml.test | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'mysql-test/t/loadxml.test') diff --git a/mysql-test/t/loadxml.test b/mysql-test/t/loadxml.test index 84a89a332a0..6faf712b6ce 100644 --- a/mysql-test/t/loadxml.test +++ b/mysql-test/t/loadxml.test @@ -108,3 +108,11 @@ load xml infile '../../std_data/loadxml2.dat' into table t1; select * from t1; drop table t1; +--echo # +--echo # Bug#51571 load xml infile causes server crash +--echo # +CREATE TABLE t1 (a text, b text); +LOAD XML INFILE '../../std_data/loadxml.dat' INTO TABLE t1 +ROWS IDENTIFIED BY '' (a,@b) SET b=concat('!',@b); +SELECT * FROM t1 ORDER BY a; +DROP TABLE t1; -- cgit v1.2.1