1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

Bug #59884: setting charset to 2048 crashes

The retrieval of a charset by number was not
doing bounds checking before accessing the internal 
character sets array.
Added checks for valid charset number.
Added asserts for valid charset number to some of 
the internal functions.
Removed one superfluous check for charset_number 0
(since the all_charsets_array[0] is set to 0 anyway) for 
uniformity.
Test suite added.
This commit is contained in:
Georgi Kodinov
2011-02-10 09:34:22 +02:00
parent 7d88b552e2
commit b2b69699ef
3 changed files with 61 additions and 7 deletions

View File

@ -1476,3 +1476,29 @@ drop function t1_max;
###########################################################################
--echo #
--echo # Bug #59884: setting charset to 2048 crashes
--echo #
--error ER_UNKNOWN_CHARACTER_SET
set session character_set_results = 2048;
--error ER_UNKNOWN_CHARACTER_SET
set session character_set_client=2048;
--error ER_UNKNOWN_CHARACTER_SET
set session character_set_connection=2048;
--error ER_UNKNOWN_CHARACTER_SET
set session character_set_server=2048;
--error ER_UNKNOWN_COLLATION
set session collation_server=2048;
--error ER_UNKNOWN_CHARACTER_SET
set session character_set_filesystem=2048;
--error ER_UNKNOWN_CHARACTER_SET
set session character_set_database=2048;
--error ER_UNKNOWN_COLLATION
set session collation_connection=2048;
--error ER_UNKNOWN_COLLATION
set session collation_database=2048;
--echo End of 5.5 tests