mariadb/mysql-test/main/strings.test
Norio Akagi 84d26f98c7
MDEV-28315 Fix ASAN stack-buffer-overflow in String::copy_aligned
Starting since this commit 36cdd5c3cd
there is an ASAN stack-buffer-overflow error because we append a NULL
terminator beyond the length of memory allocated.

Reviewed by: Monty and Nayuta Yanagisawa
2022-08-01 20:27:33 +09:00

38 lines
1.2 KiB
Text

--source include/not_windows.inc
--source include/not_embedded.inc
#
# Test that exposes problems in string functions like my_vsnprintf
#
--echo #
--echo # MDEV-25612 Assertion `to <= end' failed in process_args
--echo #
SET SESSION default_master_connection=REPEAT('a',190),lc_messages=ru_ru;
CHANGE MASTER TO master_host='dummy';
START SLAVE sql_thread;
--error ER_SLAVE_MUST_STOP
CHANGE MASTER TO master_user='user',master_password='pwd';
STOP SLAVE;
RESET SLAVE ALL;
--echo #
--echo # MDEV-25754 ASAN: stack-buffer-overflow in Field_newdate::val_str
--echo #
CREATE TABLE t1 (d DATE);
INSERT INTO t1 VALUES ('1920-03-02'),('2020-12-01');
SELECT LENGTH(CONCAT_WS(d, ' ')) FROM t1;
DROP TABLE t1;
--echo #
--echo # MDEV-28315 ASAN stack-buffer-overflow in String::copy_aligned
--echo #
CREATE TABLE t1 (a VARBINARY(128)) CHARACTER SET utf32;
INSERT INTO t1 VALUES ('South Carolina, Vermont, New Jersey, New Mexico, Wisconsin, Missouri, Delaware');
CREATE TABLE t2 (b SET('South Carolina', 'Vermont', 'Texas', 'New Mexico', 'Wisconsin', 'Missouri', 'Delaware', 'Wyoming', 'New Jersey', 'Maryland', 'Illinois', 'New York')) CHARACTER SET utf32;
--error WARN_DATA_TRUNCATED
INSERT INTO t2 SELECT * FROM t1;
DROP TABLE t1;
DROP TABLE t2;