MDEV-16552: [10.0] ASAN global-buffer-overflow in is_stat_table / statistics_for_tables_is_needed
Backport the fix f214d365121 to 10.0 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Apr 17 00:44:34 2018 +0200 ASAN error in is_stat_table() don't memcmp beyond the first argument's end Also: use my_strcasecmp(table_alias_charset), like elsewhere, not memcmp
This commit is contained in:
parent
a2c0376e08
commit
ad9d1e8c3f
@ -516,4 +516,11 @@ use test;
|
|||||||
drop database db1;
|
drop database db1;
|
||||||
drop database db2;
|
drop database db2;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
#
|
||||||
|
# MDEV-16552: [10.0] ASAN global-buffer-overflow in is_stat_table / statistics_for_tables_is_needed
|
||||||
|
#
|
||||||
|
SET use_stat_tables = PREFERABLY;
|
||||||
|
SELECT CONVERT_TZ( '1991-09-20 10:11:02', '+00:00', 'GMT' );
|
||||||
|
CONVERT_TZ( '1991-09-20 10:11:02', '+00:00', 'GMT' )
|
||||||
|
NULL
|
||||||
set use_stat_tables=@save_use_stat_tables;
|
set use_stat_tables=@save_use_stat_tables;
|
||||||
|
@ -543,6 +543,13 @@ use test;
|
|||||||
drop database db1;
|
drop database db1;
|
||||||
drop database db2;
|
drop database db2;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
#
|
||||||
|
# MDEV-16552: [10.0] ASAN global-buffer-overflow in is_stat_table / statistics_for_tables_is_needed
|
||||||
|
#
|
||||||
|
SET use_stat_tables = PREFERABLY;
|
||||||
|
SELECT CONVERT_TZ( '1991-09-20 10:11:02', '+00:00', 'GMT' );
|
||||||
|
CONVERT_TZ( '1991-09-20 10:11:02', '+00:00', 'GMT' )
|
||||||
|
NULL
|
||||||
set use_stat_tables=@save_use_stat_tables;
|
set use_stat_tables=@save_use_stat_tables;
|
||||||
set optimizer_switch=@save_optimizer_switch_for_stat_tables_test;
|
set optimizer_switch=@save_optimizer_switch_for_stat_tables_test;
|
||||||
SET SESSION STORAGE_ENGINE=DEFAULT;
|
SET SESSION STORAGE_ENGINE=DEFAULT;
|
||||||
|
@ -305,4 +305,10 @@ drop database db1;
|
|||||||
drop database db2;
|
drop database db2;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-16552: [10.0] ASAN global-buffer-overflow in is_stat_table / statistics_for_tables_is_needed
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
SET use_stat_tables = PREFERABLY;
|
||||||
|
SELECT CONVERT_TZ( '1991-09-20 10:11:02', '+00:00', 'GMT' );
|
||||||
set use_stat_tables=@save_use_stat_tables;
|
set use_stat_tables=@save_use_stat_tables;
|
||||||
|
@ -3858,11 +3858,11 @@ bool is_stat_table(const char *db, const char *table)
|
|||||||
{
|
{
|
||||||
DBUG_ASSERT(db && table);
|
DBUG_ASSERT(db && table);
|
||||||
|
|
||||||
if (!memcmp(db, stat_tables_db_name.str, stat_tables_db_name.length))
|
if (!my_strcasecmp(table_alias_charset, db, stat_tables_db_name.str))
|
||||||
{
|
{
|
||||||
for (uint i= 0; i < STATISTICS_TABLES; i ++)
|
for (uint i= 0; i < STATISTICS_TABLES; i ++)
|
||||||
{
|
{
|
||||||
if (!memcmp(table, stat_table_name[i].str, stat_table_name[i].length))
|
if (!my_strcasecmp(table_alias_charset, table, stat_table_name[i].str))
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user