1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

MDEV-25237 crash after setting global session_track_system_variables to an invalid value

Fix of typo in checking variable list corectness.

Fix of error handling in case of variable list parse error
This commit is contained in:
Oleksandr Byelkin
2023-06-27 12:10:48 +02:00
parent 03c2157dd6
commit cf50379b91
6 changed files with 125 additions and 3 deletions

View File

@ -0,0 +1,30 @@
--source include/have_debug.inc
--source include/no_protocol.inc
--source include/not_embedded.inc
set @save_session_track_system_variables=@@session_track_system_variables;
--echo #
--echo # MDEV-25237: Assertion `global_system_variables.
--echo # session_track_system_variables' failed in
--echo # Session_sysvars_tracker::init | SIGSEGV's in __strlen_avx2 |
--echo # UBSAN: runtime error: null pointer passed as argument 1, which
--echo # is declared to never be null in my_strdup
--echo #
--echo # check that that parser problems do not lead to crash
SET @old_debug= @@session.debug;
set debug_dbug="+d,dbug_session_tracker_parse_error";
--error ER_OUTOFMEMORY
SET GLOBAL session_track_system_variables='query_cache_size';
set debug_dbug=@old_debug;
SELECT @@global.session_track_system_variables;
SET GLOBAL event_scheduler=1;
SET GLOBAL session_track_system_variables=default;
SET GLOBAL event_scheduler=default;
--echo # End of 10.4 test