mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Fix for bug #32137: prepared statement crash with str_to_date in update clause
Problem: calling non-constant argument's val_xxx() methods in the ::fix_length_and_dec() is inadmissible. Fix: call the method only for constant arguments. mysql-test/r/ps.result: Fix for bug #32137: prepared statement crash with str_to_date in update clause - test result. mysql-test/t/ps.test: Fix for bug #32137: prepared statement crash with str_to_date in update clause - test case. sql/item_timefunc.cc: Fix for bug #32137: prepared statement crash with str_to_date in update clause - call argument's val_str() only for constant items in the Item_func_str_to_date::fix_length_and_dec().
This commit is contained in:
@ -1109,4 +1109,9 @@ a
|
||||
13
|
||||
DEALLOCATE PREPARE st1;
|
||||
DROP TABLE t1;
|
||||
create table t1 (a int, b tinyint);
|
||||
prepare st1 from 'update t1 set b= (str_to_date(a, a))';
|
||||
execute st1;
|
||||
deallocate prepare st1;
|
||||
drop table t1;
|
||||
End of 4.1 tests.
|
||||
|
@ -1146,4 +1146,13 @@ EXECUTE st1;
|
||||
DEALLOCATE PREPARE st1;
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug #32137: prepared statement crash with str_to_date in update clause
|
||||
#
|
||||
create table t1 (a int, b tinyint);
|
||||
prepare st1 from 'update t1 set b= (str_to_date(a, a))';
|
||||
execute st1;
|
||||
deallocate prepare st1;
|
||||
drop table t1;
|
||||
|
||||
--echo End of 4.1 tests.
|
||||
|
Reference in New Issue
Block a user