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,21 @@
set @save_session_track_system_variables=@@session_track_system_variables;
#
# MDEV-25237: Assertion `global_system_variables.
# session_track_system_variables' failed in
# Session_sysvars_tracker::init | SIGSEGV's in __strlen_avx2 |
# UBSAN: runtime error: null pointer passed as argument 1, which
# is declared to never be null in my_strdup
#
# check that that parser problems do not lead to crash
SET @old_debug= @@session.debug;
set debug_dbug="+d,dbug_session_tracker_parse_error";
SET GLOBAL session_track_system_variables='query_cache_size';
ERROR HY001: Out of memory; restart server and try again (needed 1 bytes)
set debug_dbug=@old_debug;
SELECT @@global.session_track_system_variables;
@@global.session_track_system_variables
NULL
SET GLOBAL event_scheduler=1;
SET GLOBAL session_track_system_variables=default;
SET GLOBAL event_scheduler=default;
# End of 10.4 test