1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-07 00:04:31 +03:00
Files
mariadb/mysql-test/suite/sys_vars/t/replicate_do_db_basic.test
Alexander Barkov c1559f261f MDEV-35688 UBSAN: SUMMARY: UndefinedBehaviorSanitizer: nullptr-with-offset in my_casedn_utf8mb3
The functions MY_CHARSET_HANDLER::caseup() and MY_CHARSET_HANDLER::casedn()
in their virtual imlementations do "const char *end= src + srclen"
in the very beginning. Therefore src cannot be NULL to avoid
"UBSAN: SUMMARY: UndefinedBehaviorSanitizer: nullptr-with-offset".

Adding DBUG_ASSERT(src != NULL) into all virtual implementations,
to catch this problem in regular Debug builds (without UBSAN).

Fixing Master_info_index::get_master_info() to check connection_name->str.
If it is NULL then passing empty_clex_str into IdentBufferCasedn
instead of *connection_name.
2025-01-20 20:01:48 +04:00

52 lines
1.2 KiB
Plaintext

--source include/not_embedded.inc
--echo #
--echo # Basic testing of replicate_do_db.
--echo #
SET @save_replicate_do_db = @@GLOBAL.replicate_do_db;
SELECT @save_replicate_do_db;
--echo # Scope.
--error ER_GLOBAL_VARIABLE
SET @@SESSION.replicate_do_db = "";
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT @@SESSION.replicate_do_db;
--echo # Incorrect type.
--error ER_WRONG_TYPE_FOR_VAR
SET @@GLOBAL.replicate_do_db=1;
--error ER_WRONG_TYPE_FOR_VAR
SET @@GLOBAL.replicate_do_db=1.1;
--error ER_WRONG_TYPE_FOR_VAR
SET @@GLOBAL.replicate_do_db=1e1;
--echo # Argument syntax.
SET @@GLOBAL.replicate_do_db="db1,,,,,db3";
SELECT @@GLOBAL.replicate_do_db;
SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='replicate_do_db';
SET @@GLOBAL.replicate_do_db="db1,,,db2,,,db3";
SELECT @@GLOBAL.replicate_do_db;
SET @@GLOBAL.replicate_do_db="";
SELECT @@GLOBAL.replicate_do_db;
SET @@GLOBAL.replicate_do_db=null;
SELECT @@GLOBAL.replicate_do_db;
SET @@GLOBAL.replicate_do_db=DEFAULT;
SELECT @@GLOBAL.replicate_do_db;
--echo # Cleanup.
SET @@GLOBAL.replicate_do_db = @save_replicate_do_db;
--echo #
--echo # MDEV-35688 UBSAN: SUMMARY: UndefinedBehaviorSanitizer: nullptr-with-offset in my_casedn_utf8mb3
--echo #
show variables like 'replicate_do_db';