From 76ce2feb5fb5a280049c49becad3806cd58db5c3 Mon Sep 17 00:00:00 2001 From: Alexander Barkov Date: Fri, 19 Nov 2010 18:24:29 +0300 Subject: Bug#58175 xml functions read initialized bytes when conversions happen Problem: nr_of_decimals could read behind the end of the buffer in case of a non-null-terminated string, which caused valgring warnings. Fix: fixing nr_of_decimals not to read behind the "end" pointer. modified: @ mysql-test/r/xml.result @ mysql-test/t/xml.test @ sql/item.cc --- mysql-test/r/xml.result | 13 +++++++++++++ mysql-test/t/xml.test | 15 +++++++++++++++ 2 files changed, 28 insertions(+) (limited to 'mysql-test') diff --git a/mysql-test/r/xml.result b/mysql-test/r/xml.result index af4cf8efedd..f5cf30e865b 100644 --- a/mysql-test/r/xml.result +++ b/mysql-test/r/xml.result @@ -1101,3 +1101,16 @@ ERROR 22007: Illegal double '111111111111111111111111111111111111111111111111111 SELECT EXTRACTVALUE('', LPAD(0.1111E-15, '2011', 1)); ERROR 22007: Illegal double '111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111' value found during parsing End of 5.1 tests +# +# Start of 5.5 tests +# +# +# Bug#58175 xml functions read initialized bytes when conversions happen +# +SET NAMES latin1; +SELECT UPDATEXML(CONVERT('' USING swe7), TRUNCATE('',1), 0); +UPDATEXML(CONVERT('' USING swe7), TRUNCATE('',1), 0) +NULL +# +# End of 5.5 tests +# diff --git a/mysql-test/t/xml.test b/mysql-test/t/xml.test index e9f137adf1b..4d5c5e1a91e 100644 --- a/mysql-test/t/xml.test +++ b/mysql-test/t/xml.test @@ -628,3 +628,18 @@ SELECT EXTRACTVALUE('', LPAD(0.1111E-15, '2011', 1)); --echo End of 5.1 tests + + +--echo # +--echo # Start of 5.5 tests +--echo # + +--echo # +--echo # Bug#58175 xml functions read initialized bytes when conversions happen +--echo # +SET NAMES latin1; +SELECT UPDATEXML(CONVERT('' USING swe7), TRUNCATE('',1), 0); + +--echo # +--echo # End of 5.5 tests +--echo # -- cgit v1.2.1