From: Alexander Barkov Date: January 13 2011 3:55pm Subject: bzr commit into mysql-trunk branch (alexander.barkov:3502) Bug#59145 List-Archive: http://lists.mysql.com/commits/128670 X-Bug: 59145 Message-Id: <201101131555.p0DFti2i007009@bar.myoffice.izhnet.ru> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1837574228959401678==" --===============1837574228959401678== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///home/bar/mysql-bzr/mysql-trunk/ based on revid:luis.soares@stripped 3502 Alexander Barkov 2011-01-13 Bug#59145 valgrind warnings for uninitialized values in my_strtoll10_mb2 @ mysql-test/r/ctype_ucs.result Adding test @ mysql-test/t/ctype_ucs.test Adding test @ strings/ctype-ucs2.c "wc" was not initialized in case of empty string. - Removing redundant loop condition in for - on end-of-string the loop will break by "goto". - Making "goto" condition stricter (just in case) modified: mysql-test/r/ctype_ucs.result mysql-test/t/ctype_ucs.test strings/ctype-ucs2.c === modified file 'mysql-test/r/ctype_ucs.result' --- a/mysql-test/r/ctype_ucs.result 2010-12-02 17:47:56 +0000 +++ b/mysql-test/r/ctype_ucs.result 2011-01-13 15:55:41 +0000 @@ -4620,5 +4620,18 @@ ae 00610065 drop table t1; "END ctype_german.inc" # +# Bug#59145 valgrind warnings for uninitialized values in my_strtoll10_mb2 +# +SET NAMES latin1; +SELECT CONVERT(CHAR(NULL USING ucs2), UNSIGNED); +CONVERT(CHAR(NULL USING ucs2), UNSIGNED) +0 +Warnings: +Warning 1292 Truncated incorrect INTEGER value: '' +DO IFNULL(CHAR(NULL USING ucs2), ''); +DO CAST(CONVERT('' USING ucs2) AS UNSIGNED); +Warnings: +Warning 1292 Truncated incorrect INTEGER value: '' +# # End of 5.6 tests # === modified file 'mysql-test/t/ctype_ucs.test' --- a/mysql-test/t/ctype_ucs.test 2010-06-25 12:00:49 +0000 +++ b/mysql-test/t/ctype_ucs.test 2011-01-13 15:55:41 +0000 @@ -765,5 +765,13 @@ SET collation_connection=ucs2_german2_ci --source include/ctype_german.inc --echo # +--echo # Bug#59145 valgrind warnings for uninitialized values in my_strtoll10_mb2 +--echo # +SET NAMES latin1; +SELECT CONVERT(CHAR(NULL USING ucs2), UNSIGNED); +DO IFNULL(CHAR(NULL USING ucs2), ''); +DO CAST(CONVERT('' USING ucs2) AS UNSIGNED); + +--echo # --echo # End of 5.6 tests --echo # === modified file 'strings/ctype-ucs2.c' --- a/strings/ctype-ucs2.c 2010-12-17 11:28:59 +0000 +++ b/strings/ctype-ucs2.c 2011-01-13 15:55:41 +0000 @@ -727,10 +727,10 @@ my_strtoll10_mb2(CHARSET_INFO *cs, { /* Make sure string length is even */ end= s + ((*endptr - s) / 2) * 2; - for ( ; s < end; ) /* Skip leading spaces and tabs */ + for ( ; ; ) /* Skip leading spaces and tabs */ { res= cs->cset->mb_wc(cs, &wc, (const uchar *) s, (const uchar *) end); - if (res < 0) + if (res <= 0) goto no_conv; s+= res; if (wc != ' ' && wc != '\t') --===============1837574228959401678== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/alexander.barkov@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: alexander.barkov@stripped\ # 679xw68rc94e6z7u # target_branch: file:///home/bar/mysql-bzr/mysql-trunk/ # testament_sha1: 8c2135692a2c98b6473fdf457fcfef2b01979256 # timestamp: 2011-01-13 18:55:44 +0300 # base_revision_id: luis.soares@stripped\ # flu4wfak5gtrk7xq # # Begin bundle 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 --===============1837574228959401678==--