From: Sergey Glukhov Date: April 15 2011 8:55am Subject: bzr commit into mysql-5.5 branch (sergey.glukhov:3449) List-Archive: http://lists.mysql.com/commits/135501 Message-Id: <201104150855.p3F8t2gi029296@acsmt356.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit #At file:///home/gluh/MySQL/mysql-5.5/ based on revid:tor.didriksen@stripped 3449 Sergey Glukhov 2011-04-15 [merge] 5.1 -> 5.5 merge @ mysql-test/r/loaddata.result 5.1 -> 5.5 merge @ mysql-test/t/loaddata.test 5.1 -> 5.5 merge @ sql/sql_load.cc 5.1 -> 5.5 merge modified: mysql-test/r/loaddata.result mysql-test/t/loaddata.test sql/sql_load.cc === modified file 'mysql-test/r/loaddata.result' --- a/mysql-test/r/loaddata.result 2010-07-14 12:05:20 +0000 +++ b/mysql-test/r/loaddata.result 2011-04-15 08:55:21 +0000 @@ -532,4 +532,11 @@ a 0 1 DROP TABLE t1; +# +# Bug#11765139 58069: LOAD DATA INFILE: VALGRIND REPORTS INVALID MEMORY READS AND WRITES WITH U +# +CREATE TABLE t1(f1 INT); +SELECT 0xE1BB30 INTO OUTFILE 't1.dat'; +LOAD DATA INFILE 't1.dat' IGNORE INTO TABLE t1 CHARACTER SET utf8; +DROP TABLE t1; End of 5.1 tests === modified file 'mysql-test/t/loaddata.test' --- a/mysql-test/t/loaddata.test 2010-07-14 12:05:20 +0000 +++ b/mysql-test/t/loaddata.test 2011-04-15 08:55:21 +0000 @@ -601,5 +601,18 @@ DROP TABLE t1; let $MYSQLD_DATADIR= `select @@datadir`; remove_file $MYSQLD_DATADIR/test/tmpp2.txt; +--echo # +--echo # Bug#11765139 58069: LOAD DATA INFILE: VALGRIND REPORTS INVALID MEMORY READS AND WRITES WITH U +--echo # + +CREATE TABLE t1(f1 INT); +EVAL SELECT 0xE1BB30 INTO OUTFILE 't1.dat'; +--disable_warnings +LOAD DATA INFILE 't1.dat' IGNORE INTO TABLE t1 CHARACTER SET utf8; +--enable_warnings + +DROP TABLE t1; +let $MYSQLD_DATADIR= `select @@datadir`; +remove_file $MYSQLD_DATADIR/test/t1.dat; --echo End of 5.1 tests === modified file 'sql/sql_load.cc' --- a/sql/sql_load.cc 2011-02-10 10:50:53 +0000 +++ b/sql/sql_load.cc 2011-04-15 08:55:21 +0000 @@ -1337,7 +1337,7 @@ READ_INFO::READ_INFO(File file_par, uint /* Set of a stack for unget if long terminators */ - uint length=max(field_term_length,line_term_length)+1; + uint length= max(cs->mbmaxlen, max(field_term_length, line_term_length)) + 1; set_if_bigger(length,line_start.length()); stack=stack_pos=(int*) sql_alloc(sizeof(int)*length); No bundle (reason: revision is a merge (you can force generation of a bundle with env var BZR_FORCE_BUNDLE=1)).