#At file:///home/gluh/MySQL/mysql-5.1/ based on revid:sven.sandberg@stripped
3631 Sergey Glukhov 2011-03-28
Bug#11766112 59151:UNINITIALIZED VALUES IN EXTRACT_DATE_TIME WITH STR_TO_DATE(SPACE(..) ...
Valgrind warining happens due to missing
'end of the string' check. The fix is to
check if we reached the end of the string.
@ mysql-test/r/func_time.result
test case
@ mysql-test/t/func_time.test
test case
@ sql/item_timefunc.cc
check if we reached the end of
the string after leading spaces skipping.
modified:
mysql-test/r/func_time.result
mysql-test/t/func_time.test
sql/item_timefunc.cc
=== modified file 'mysql-test/r/func_time.result'
--- a/mysql-test/r/func_time.result 2011-02-02 18:13:11 +0000
+++ b/mysql-test/r/func_time.result 2011-03-28 07:53:18 +0000
@@ -1375,4 +1375,10 @@ Warning 1292 Truncated incorrect time va
Warning 1292 Truncated incorrect time value: ''
Warning 1292 Truncated incorrect time value: ''
DROP TABLE t1;
+#
+# Bug#11766112 59151:UNINITIALIZED VALUES IN EXTRACT_DATE_TIME WITH STR_TO_DATE(SPACE(..) ...
+#
+SELECT STR_TO_DATE(SPACE(2),'1');
+STR_TO_DATE(SPACE(2),'1')
+0000-00-00
End of 5.1 tests
=== modified file 'mysql-test/t/func_time.test'
--- a/mysql-test/t/func_time.test 2011-02-02 18:13:11 +0000
+++ b/mysql-test/t/func_time.test 2011-03-28 07:53:18 +0000
@@ -881,4 +881,10 @@ INSERT INTO t1 VALUES (''),('');
SELECT COUNT(*) FROM t1 GROUP BY TIME_TO_SEC(a);
DROP TABLE t1;
+--echo #
+--echo # Bug#11766112 59151:UNINITIALIZED VALUES IN EXTRACT_DATE_TIME WITH STR_TO_DATE(SPACE(..) ...
+--echo #
+
+SELECT STR_TO_DATE(SPACE(2),'1');
+
--echo End of 5.1 tests
=== modified file 'sql/item_timefunc.cc'
--- a/sql/item_timefunc.cc 2010-11-12 10:12:15 +0000
+++ b/sql/item_timefunc.cc 2011-03-28 07:53:18 +0000
@@ -294,8 +294,8 @@ static bool extract_date_time(DATE_TIME_
for (; ptr != end && val != val_end; ptr++)
{
/* Skip pre-space between each argument */
- while (val != val_end && my_isspace(cs, *val))
- val++;
+ if ((val+= cs->cset->scan(cs, val, val_end, MY_SEQ_SPACES)) >= val_end)
+ break;
if (*ptr == '%' && ptr+1 != end)
{
Attachment: [text/bzr-bundle] bzr/sergey.glukhov@oracle.com-20110328075318-aowykt6l79utc28j.bundle
| Thread |
|---|
| • bzr commit into mysql-5.1 branch (sergey.glukhov:3631) Bug#11766112 | Sergey Glukhov | 28 Mar |