mariadb/sql
Magne Mahre f36e854ac6 BUG#12589870 CRASHES WITH MULTIQUERY PACKET + USE<DB> + QUERY CACHE
A buffer large enough to hold the query _plus_ some additional
data is allocated before parsing is started.   The additional data 
is used by the query cache, and consists of the name of the current 
database and a set of flags.
 
When a packet containing multiple SQL statements is sent to the
server and one of the statements changes the current database
(a "USE <db>" statement), and the name of the new current database 
is longer than of the previous,  there is not enough space in the 
buffer for the new name, and we write out over the buffer boundary.

The fix adds an extra field to store the number of bytes
allocated to the database name in the buffer.  If the current
database name changes, and the new name is longer than the
previous one, we refuse to cache the query.
2011-10-07 14:08:31 +02:00
..
examples Updated/added copyright headers 2011-06-30 17:31:31 +02:00
share Updated/added copyright headers 2011-06-30 17:37:13 +02:00
.cvsignore
add_errmsg
authors.h Updated/added copyright headers 2011-06-30 17:37:13 +02:00
client_settings.h Updated/added copyright headers 2011-06-30 17:37:13 +02:00
CMakeLists.txt Updated/added copyright headers 2011-06-30 17:37:13 +02:00
contributors.h
custom_conf.h
debug_sync.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
debug_sync.h Updated/added copyright headers 2011-06-30 17:37:13 +02:00
derror.cc Fix for BUG#11755168 '46895: test "outfile_loaddata" fails (reproducible)'. 2011-05-16 22:04:01 +02:00
des_key_file.cc
discover.cc
event_data_objects.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
event_data_objects.h
event_db_repository.cc Updated/added copyright headers 2011-07-03 17:47:37 +02:00
event_db_repository.h Updated/added copyright headers 2011-07-03 17:47:37 +02:00
event_parse_data.cc Updated/added copyright headers 2011-07-03 17:47:37 +02:00
event_parse_data.h Updated/added copyright headers 2011-07-03 17:47:37 +02:00
event_queue.cc
event_queue.h
event_scheduler.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
event_scheduler.h
events.cc Updated/added copyright headers 2011-07-03 17:47:37 +02:00
events.h
field.cc Updated/added copyright headers 2011-07-03 17:47:37 +02:00
field.h Updated/added copyright headers 2011-07-03 17:47:37 +02:00
field_conv.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
filesort.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
frm_crypt.cc
gen_lex_hash.cc Manual merge from mysql-5.0. 2011-07-22 11:46:45 +04:00
gstream.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
gstream.h
ha_ndbcluster.cc Updated/added copyright headers 2011-07-03 17:47:37 +02:00
ha_ndbcluster.h
ha_ndbcluster_binlog.cc Updated/added copyright headers 2011-07-03 17:47:37 +02:00
ha_ndbcluster_binlog.h
ha_ndbcluster_cond.cc
ha_ndbcluster_cond.h
ha_ndbcluster_tables.h
ha_partition.cc Bug#11766879/Bug#60106: DIFF BETWEEN # OF INDEXES IN MYSQL VS INNODB, 2011-08-23 15:13:17 +02:00
ha_partition.h Updated/added copyright headers 2011-07-03 17:47:37 +02:00
handler.cc Updated/added copyright headers 2011-06-30 17:31:31 +02:00
handler.h Updated/added copyright headers 2011-07-03 17:47:37 +02:00
hash_filo.cc
hash_filo.h
hostname.cc BUG#12377872 ASSERTION FAILED: !_ENTERED WHEN GETHOSTBYADDR_R 2011-04-20 11:32:28 +02:00
init.cc
item.cc Merge from mysql-5.0.94-release 2011-07-06 11:36:39 +02:00
item.h Updated/added copyright headers 2011-06-30 17:31:31 +02:00
item_buff.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
item_cmpfunc.cc Updated/added copyright headers 2011-06-30 17:31:31 +02:00
item_cmpfunc.h Updated/added copyright headers 2011-06-30 17:31:31 +02:00
item_create.cc Updated/added copyright headers 2011-07-03 17:47:37 +02:00
item_create.h Updated/added copyright headers 2011-06-30 17:37:13 +02:00
item_func.cc Updated/added copyright headers 2011-06-30 17:31:31 +02:00
item_func.h Updated/added copyright headers 2011-06-30 17:37:13 +02:00
item_geofunc.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
item_geofunc.h Updating header copyright/README in source for 2011 2011-01-25 15:42:40 +01:00
item_row.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
item_row.h Updated/added copyright headers 2011-06-30 17:37:13 +02:00
item_strfunc.cc Merge from mysql-5.0.94-release 2011-07-06 11:36:39 +02:00
item_strfunc.h Updated/added copyright headers 2011-07-03 17:47:37 +02:00
item_subselect.cc Merge from mysql-5.0.94-release 2011-07-06 11:36:39 +02:00
item_subselect.h Updated/added copyright headers 2011-06-30 17:37:13 +02:00
item_sum.cc Merge from mysql-5.0.94-release 2011-07-06 11:36:39 +02:00
item_sum.h Updated/added copyright headers 2011-06-30 17:37:13 +02:00
item_timefunc.cc Bug#12584302 AFTER FIX FOR #12403504: ASSERTION FAILED: DELSUM+(INT) Y/4-TEMP > 0, 2011-07-27 12:34:25 +04:00
item_timefunc.h Updated/added copyright headers 2011-07-03 17:47:37 +02:00
item_xmlfunc.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
item_xmlfunc.h
key.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
lex.h Updated/added copyright headers 2011-06-30 17:37:13 +02:00
lex_symbol.h
lock.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
log.cc Updated/added copyright headers 2011-06-30 17:31:31 +02:00
log.h Updated/added copyright headers 2011-06-30 17:37:13 +02:00
log_event.cc DBUG_PRINT in solaris does not work well with NULL parameters. 2011-07-15 12:42:06 +01:00
log_event.h Updated/added copyright headers 2011-06-30 17:37:13 +02:00
log_event_old.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
log_event_old.h
Makefile.am Updated/added copyright headers 2011-06-30 17:37:13 +02:00
message.h Updated/added copyright headers 2011-06-30 17:31:31 +02:00
message.mc
message.rc
mf_iocache.cc
MSG00001.bin
my_decimal.cc Updated/added copyright headers 2011-07-03 17:47:37 +02:00
my_decimal.h Updated/added copyright headers 2011-07-03 17:47:37 +02:00
my_lock.c
mysql_priv.h Merge from mysql-5.0.94-release 2011-07-06 11:36:39 +02:00
mysql_priv.h.pp
mysqld.cc Manual merge from mysql-5.0. 2011-07-22 11:46:45 +04:00
mysqld_suffix.h
net_serv.cc Updated/added copyright headers 2011-06-30 17:31:31 +02:00
nt_servc.cc
nt_servc.h
opt_range.cc Updated/added copyright headers 2011-07-03 17:47:37 +02:00
opt_range.h Updated/added copyright headers 2011-06-30 17:37:13 +02:00
opt_sum.cc Updated/added copyright headers 2011-07-03 17:47:37 +02:00
parse_file.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
parse_file.h Updated/added copyright headers 2011-06-30 17:37:13 +02:00
partition_element.h
partition_info.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
partition_info.h Updated/added copyright headers 2011-06-30 17:37:13 +02:00
password.c Updated/added copyright headers 2011-07-03 17:47:37 +02:00
procedure.cc
procedure.h
protocol.cc Backport a fix for Bug#59060 (Valgrind warning in Protocol_text::store()). 2011-07-15 16:25:00 +04:00
protocol.h Updated/added copyright headers 2011-06-30 17:37:13 +02:00
records.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
repl_failsafe.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
repl_failsafe.h
rpl_constants.h Updated/added copyright headers 2011-06-30 17:37:13 +02:00
rpl_filter.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
rpl_filter.h
rpl_injector.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
rpl_injector.h
rpl_mi.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
rpl_mi.h Updated/added copyright headers 2011-06-30 17:37:13 +02:00
rpl_record.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
rpl_record.h Updated/added copyright headers 2011-06-30 17:37:13 +02:00
rpl_record_old.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
rpl_record_old.h
rpl_reporting.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
rpl_reporting.h Updated/added copyright headers 2011-06-30 17:37:13 +02:00
rpl_rli.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
rpl_rli.h Updated/added copyright headers 2011-06-30 17:37:13 +02:00
rpl_tblmap.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
rpl_tblmap.h
rpl_utility.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
rpl_utility.h Updated/added copyright headers 2011-06-30 17:37:13 +02:00
scheduler.cc
scheduler.h
set_var.cc Updated/added copyright headers 2011-07-03 17:47:37 +02:00
set_var.h Updated/added copyright headers 2011-06-30 17:31:31 +02:00
slave.cc Updated/added copyright headers 2011-07-03 17:47:37 +02:00
slave.h Updated/added copyright headers 2011-06-30 17:37:13 +02:00
sp.cc Updated/added copyright headers 2011-07-03 17:47:37 +02:00
sp.h Updated/added copyright headers 2011-06-30 17:37:13 +02:00
sp_cache.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
sp_cache.h
sp_head.cc BUG#12589870 CRASHES WITH MULTIQUERY PACKET + USE<DB> + QUERY CACHE 2011-10-07 14:08:31 +02:00
sp_head.h Updated/added copyright headers 2011-06-30 17:37:13 +02:00
sp_pcontext.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
sp_pcontext.h Updated/added copyright headers 2011-06-30 17:37:13 +02:00
sp_rcontext.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
sp_rcontext.h
spatial.cc Updated/added copyright headers 2011-07-03 20:08:47 +02:00
spatial.h Updated/added copyright headers 2011-06-30 17:37:13 +02:00
sql_acl.cc Updated/added copyright headers 2011-06-30 17:31:31 +02:00
sql_acl.h Updated/added copyright headers 2011-06-30 17:37:13 +02:00
sql_analyse.cc Updated/added copyright headers 2011-07-03 17:47:37 +02:00
sql_analyse.h
sql_array.h
sql_base.cc Bug#11766594 59736: SELECT DISTINCT.. INCORRECT RESULT WITH DETERMINISTIC FUNCTION IN WHERE C 2011-08-02 11:33:45 +04:00
sql_binlog.cc Updated/added copyright headers 2011-07-03 17:47:37 +02:00
sql_bitmap.h
sql_builtin.cc.in
sql_cache.cc BUG#12589870 CRASHES WITH MULTIQUERY PACKET + USE<DB> + QUERY CACHE 2011-10-07 14:08:31 +02:00
sql_cache.h Updated/added copyright headers 2011-06-30 17:37:13 +02:00
sql_class.cc Bug#11766594 59736: SELECT DISTINCT.. INCORRECT RESULT WITH DETERMINISTIC FUNCTION IN WHERE C 2011-08-02 11:33:45 +04:00
sql_class.h Bug#11766594 59736: SELECT DISTINCT.. INCORRECT RESULT WITH DETERMINISTIC FUNCTION IN WHERE C 2011-08-02 11:33:45 +04:00
sql_client.cc
sql_connect.cc Merge from mysql-5.1.58-release 2011-07-06 00:56:51 +02:00
sql_crypt.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
sql_crypt.h Updated/added copyright headers 2011-06-30 17:37:13 +02:00
sql_cursor.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
sql_cursor.h
sql_db.cc Updated/added copyright headers 2011-07-03 17:47:37 +02:00
sql_delete.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
sql_derived.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
sql_do.cc
sql_error.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
sql_error.h
sql_handler.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
sql_help.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
sql_insert.cc Bug#11766594 59736: SELECT DISTINCT.. INCORRECT RESULT WITH DETERMINISTIC FUNCTION IN WHERE C 2011-08-02 11:33:45 +04:00
sql_lex.cc Manual merge from mysql-5.1. 2011-08-09 11:42:07 +04:00
sql_lex.h Bug#11766594 59736: SELECT DISTINCT.. INCORRECT RESULT WITH DETERMINISTIC FUNCTION IN WHERE C 2011-08-02 11:33:45 +04:00
sql_list.cc
sql_list.h Updated/added copyright headers 2011-06-30 17:37:13 +02:00
sql_load.cc Merge from mysql-5.0.94-release 2011-07-06 11:36:39 +02:00
sql_locale.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
sql_manager.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
sql_map.cc
sql_map.h
sql_olap.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
sql_parse.cc BUG#12589870 CRASHES WITH MULTIQUERY PACKET + USE<DB> + QUERY CACHE 2011-10-07 14:08:31 +02:00
sql_partition.cc merge of mysql-5.1->mysql-5.1-security 2011-06-06 16:53:46 +03:00
sql_partition.h Updated/added copyright headers 2011-06-30 17:37:13 +02:00
sql_plugin.cc Updated/added copyright headers 2011-07-03 17:47:37 +02:00
sql_plugin.h Updated/added copyright headers 2011-06-30 17:37:13 +02:00
sql_prepare.cc Bug#11766594 59736: SELECT DISTINCT.. INCORRECT RESULT WITH DETERMINISTIC FUNCTION IN WHERE C 2011-08-02 11:33:45 +04:00
sql_profile.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
sql_profile.h Updated/added copyright headers 2011-06-30 17:37:13 +02:00
sql_rename.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
sql_repl.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
sql_repl.h
sql_select.cc Bug#11766594 59736: SELECT DISTINCT.. INCORRECT RESULT WITH DETERMINISTIC FUNCTION IN WHERE C 2011-08-02 11:33:45 +04:00
sql_select.h Updated/added copyright headers 2011-07-03 17:47:37 +02:00
sql_servers.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
sql_servers.h
sql_show.cc Updated/added copyright headers 2011-06-30 17:31:31 +02:00
sql_show.h Updated/added copyright headers 2011-06-30 17:37:13 +02:00
sql_sort.h
sql_state.c
sql_string.cc merge 5.0-security => 5.1-security 2011-07-15 14:08:14 +02:00
sql_string.h Updated/added copyright headers 2011-07-03 17:47:37 +02:00
sql_table.cc Updated/added copyright headers 2011-07-03 17:47:37 +02:00
sql_tablespace.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
sql_test.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
sql_trigger.cc Updated/added copyright headers 2011-07-03 17:47:37 +02:00
sql_trigger.h Updated/added copyright headers 2011-07-03 17:47:37 +02:00
sql_udf.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
sql_udf.h
sql_union.cc Bug#11765255 - 58201: VALGRIND/CRASH WHEN ORDERING BY MULTIPLE AGGREGATE FUNCTIONS 2011-07-11 11:20:19 +02:00
sql_update.cc Updated/added copyright headers 2011-06-30 17:31:31 +02:00
sql_view.cc Updated/added copyright headers 2011-06-30 17:31:31 +02:00
sql_view.h Updated/added copyright headers 2011-06-30 17:37:13 +02:00
sql_yacc.yy weave merge of mysql-5.1->mysql-5.1-security 2011-07-07 14:27:26 +03:00
strfunc.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
structs.h Updated/added copyright headers 2011-06-30 17:37:13 +02:00
table.cc Updated/added copyright headers 2011-07-03 17:47:37 +02:00
table.h Updated/added copyright headers 2011-06-30 17:31:31 +02:00
thr_malloc.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
time.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
tzfile.h
tztime.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
tztime.h Updated/added copyright headers 2011-06-30 17:37:13 +02:00
udf_example.c Updated/added copyright headers 2011-06-30 17:37:13 +02:00
udf_example.def
uniques.cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
unireg.cc Updated/added copyright headers 2011-07-03 17:47:37 +02:00
unireg.h merge 5.0-security => 5.1-security 2011-07-15 14:08:14 +02:00