mariadb/mysys
kroki/tomash@moonlight.intranet 4e845cccc4 BUG#21206: memory corruption when too many cursors are opened at once
Too many cursors (more than 1024) could lead to memory corruption.
This affects both, stored routines and C API cursors, and the
threshold is per-server, not per-connection.  Similarly, the
corruption could happen when the server was under heavy load
(executing more than 1024 simultaneous complex queries), and this is
the reason why this bug is fixed in 4.1, which doesn't support
cursors.

The corruption was caused by a bug in the temporary tables code, when
an attempt to create a table could lead to a write beyond allocated
space.  Note, that only internal tables were affected (the tables
created internally by the server to resolve the query), not tables
created with CREATE TEMPORARY TABLE.  Another pre-condition for the
bug is TRUE value of --temp-pool startup option, which, however, is a
default.

The cause of a bug was that random memory was overwritten in
bitmap_set_next() due to out-of-bound memory access.
2006-07-26 16:23:07 +04:00
..
.cvsignore Import changeset 2000-07-31 21:29:14 +02:00
array.c Rewrite function comments 2002-07-09 18:59:52 +03:00
ChangeLog Fix skipp -> skip once and for all. 2004-06-03 11:52:54 -05:00
charset-def.c Added cp932 character set 2005-05-05 11:37:52 -07:00
charset.c charset.c: 2005-10-20 10:30:51 +05:00
charset2html.c charset2html.c: 2004-03-26 14:46:42 +04:00
checksum.c Remove 'extern' references from .cc files 2003-09-13 11:35:29 +03:00
default.c Bug#15328 Segmentation fault occured if my.cnf is invalid for escape sequence 2006-05-11 14:13:14 +02:00
errors.c Bug#8349 myisamchk: --set-charset does not work 2005-02-22 16:37:25 +04:00
hash.c A fix for Bug#7209 "Client error with "Access Denied" on updates 2006-01-04 17:35:30 +03:00
list.c Rename rest() macro in my_list.h to list_rest(). (Bug #12327) 2005-08-09 18:02:36 -07:00
make-ccc Import changeset 2000-07-31 21:29:14 +02:00
make-conf.c Update copyright 2001-12-06 14:10:51 +02:00
Makefile.am Makefile.am: 2005-07-05 23:24:48 +02:00
md5.c Update copyright 2001-12-06 14:10:51 +02:00
mf_brkhant.c Update copyright 2001-12-06 14:10:51 +02:00
mf_cache.c Update copyright 2001-12-06 14:10:51 +02:00
mf_dirname.c Bug#5439 : mysql_server_init() crashes if ShiftJIS path is passed 2005-08-08 19:52:30 +05:00
mf_fn_ext.c Fixed searching after ssl directories. 2002-09-05 16:17:08 +03:00
mf_format.c A set of mysql_home_path-related fixes 2004-09-07 11:55:34 +05:00
mf_getdate.c Update copyright 2001-12-06 14:10:51 +02:00
mf_iocache.c Bug#11527 - Setting myisam_repair_threads to >1 leads to corruption 2006-02-16 19:45:57 +01:00
mf_iocache2.c assert.h needed for my_dbug.h now is included in my_dbug.h, where it for 2004-06-10 23:58:39 +04:00
mf_keycache.c Fixed bug #19079. 2006-04-18 20:57:31 -07:00
mf_keycaches.c remove the entry from the list, before freeing 2005-01-24 18:38:46 +01:00
mf_loadpath.c Fixed testcases and bug introduced by last changeset 2003-07-01 17:59:42 +03:00
mf_pack.c Bug#5439 : mysql_server_init() crashes if ShiftJIS path is passed 2005-08-08 19:52:30 +05:00
mf_path.c Changes from Novell for NetWare platform 2003-04-24 20:48:54 -04:00
mf_qsort.c mf_qsort.c: 2002-02-23 15:22:19 +00:00
mf_qsort2.c Update copyright 2001-12-06 14:10:51 +02:00
mf_radix.c Update copyright 2001-12-06 14:10:51 +02:00
mf_same.c Update copyright 2001-12-06 14:10:51 +02:00
mf_sort.c Update copyright 2001-12-06 14:10:51 +02:00
mf_soundex.c Fix skipp -> skip once and for all. 2004-06-03 11:52:54 -05:00
mf_strip.c merge with 3.23.51 2002-05-27 23:52:21 +03:00
mf_tempdir.c in netware ':' is also a valid path character 2004-02-24 23:15:38 +01:00
mf_tempfile.c merge 2005-03-03 23:07:20 +01:00
mf_unixpath.c Update copyright 2001-12-06 14:10:51 +02:00
mf_util.c Update copyright 2001-12-06 14:10:51 +02:00
mf_wcomp.c backport wild_compare fix from 4.1 - bug#3924 2004-05-29 17:52:20 +02:00
mf_wfile.c Fix skipp -> skip once and for all. 2004-06-03 11:52:54 -05:00
mulalloc.c Two-level index structure for FULLTEXT indexes 2003-01-21 19:24:34 +01:00
my_access.c Fix handling of filenames that start the same as reserved filenames 2005-08-31 18:32:15 -07:00
my_aes.c Portability fixes for Fortre C++ 5.0 (on Sun) in 32 and 64 bit modes. 2002-11-07 03:54:00 +02:00
my_alarm.c Update copyright 2001-12-06 14:10:51 +02:00
my_alloc.c memroot: trash the memory in free_root() 2005-08-24 23:07:06 +04:00
my_append.c Added missing SSL library (Should be in source distribution) 2003-11-28 12:18:13 +02:00
my_bit.c count_bits() moved to mysys/ 2003-05-04 18:43:07 +02:00
my_bitmap.c BUG#21206: memory corruption when too many cursors are opened at once 2006-07-26 16:23:07 +04:00
my_chsize.c Support for character set conversion in binary protocol: another go 2004-05-25 02:03:49 +04:00
my_clock.c Fixes for Netware 2003-01-28 08:38:28 +02:00
my_compress.c Support for character set conversion in binary protocol: another go 2004-05-25 02:03:49 +04:00
my_conio.c Small update for lock functions used in my_cgets() 2005-09-20 20:03:51 +04:00
my_copy.c Added missing SSL library (Should be in source distribution) 2003-11-28 12:18:13 +02:00
my_crc32.c First step of implementation of WL#1518 "make bundled zlib 2004-07-21 17:36:26 -07:00
my_create.c Update copyright 2001-12-06 14:10:51 +02:00
my_delete.c Update copyright 2001-12-06 14:10:51 +02:00
my_div.c Max open files handling moved to my_set_max_open_files() 2004-02-19 19:33:09 +02:00
my_dup.c Max open files handling moved to my_set_max_open_files() 2004-02-19 19:33:09 +02:00
my_error.c Post review fixes for "SQL Syntax for Prepared Statements". 2004-06-07 12:09:10 +04:00
my_file.c Max open files handling moved to my_set_max_open_files() 2004-02-19 19:33:09 +02:00
my_fopen.c Cleanup during review of new code 2005-06-21 18:18:58 +03:00
my_fstream.c Merge with 4.0 for 4.1 release 2004-10-06 19:14:33 +03:00
my_gethostbyname.c assert.h needed for my_dbug.h now is included in my_dbug.h, where it for 2004-06-10 23:58:39 +04:00
my_gethwaddr.c Review of all code pushed since last review 2004-10-20 01:28:42 +03:00
my_getopt.c Fix incorrect casts in my_getopt code that capped the maximum of longlong 2005-10-25 10:10:53 -07:00
my_getsystime.c Fixes for prior commit 2004-05-05 10:54:11 -03:00
my_getwd.c BUG#10687 - Merge engine fails under Windows 2005-05-23 12:31:22 -05:00
my_handler.c Fixed include file usage 2006-06-30 02:25:35 +03:00
my_init.c Fixes bug #6536. When MyODBC or any other client do my_init()/my_end() 2005-12-01 23:17:00 +03:00
my_lib.c Fix for BUG#4375: Windows specific directories are copied 2005-10-19 18:01:23 +04:00
my_lock.c Prevent potential problems on 32-Bit machines. 2004-06-25 11:35:37 +02:00
my_lockmem.c Update copyright 2001-12-06 14:10:51 +02:00
my_lread.c Update copyright 2001-12-06 14:10:51 +02:00
my_lwrite.c Changed %lx -> 0x%lx (for easier comparison of debug files) 2004-08-23 13:46:51 +03:00
my_malloc.c Changed %lx -> 0x%lx (for easier comparison of debug files) 2004-08-23 13:46:51 +03:00
my_messnc.c Fixes for Netware 2003-01-28 08:38:28 +02:00
my_mkdir.c Update copyright 2001-12-06 14:10:51 +02:00
my_net.c merge with 3.23.52 2002-08-12 04:04:43 +03:00
my_netware.c Added patches from Novell 2004-05-25 22:00:14 +03:00
my_new.cc reverted 2004-02-05 22:08:29 +01:00
my_once.c Portability fixes (for windows) 2003-01-21 21:07:59 +02:00
my_open.c Cleanup during code review 2005-05-25 12:56:47 +03:00
my_os2cond.c Fixes for Netware 2003-01-28 08:38:28 +02:00
my_os2dirsrch.c Fixes for Netware 2003-01-28 08:38:28 +02:00
my_os2dirsrch.h Fixes for Netware 2003-01-28 08:38:28 +02:00
my_os2dlfcn.c Fixed problem with BIGINT and shutdown on AIX 2002-08-12 03:28:02 +03:00
my_os2dlfcn.h0 Fixes for OS2. 2001-08-22 01:45:07 +03:00
my_os2file64.c Fixes for Netware 2003-01-28 08:38:28 +02:00
my_os2mutex.c Fixes for Netware 2003-01-28 08:38:28 +02:00
my_os2thread.c Fixes for Netware 2003-01-28 08:38:28 +02:00
my_os2tls.c Fixes for Netware 2003-01-28 08:38:28 +02:00
my_port.c Fixed typo so that ulonglong are properly converted to double on AIX with gcc 3.1 2002-08-16 12:50:21 +03:00
my_pread.c Merge with 4.0 for 4.1 release 2004-10-06 19:14:33 +03:00
my_pthread.c Fix wait_timeout (and kill) handling on Mac OS X by cleaning up how 2005-10-11 09:12:12 -07:00
my_quick.c Update copyright 2001-12-06 14:10:51 +02:00
my_read.c Changed %lx -> 0x%lx (for easier comparison of debug files) 2004-08-23 13:46:51 +03:00
my_realloc.c Changed %lx -> 0x%lx (for easier comparison of debug files) 2004-08-23 13:46:51 +03:00
my_redel.c Added missing SSL library (Should be in source distribution) 2003-11-28 12:18:13 +02:00
my_rename.c A fix for Netware. 2005-04-05 13:15:04 +03:00
my_seek.c assert.h needed for my_dbug.h now is included in my_dbug.h, where it for 2004-06-10 23:58:39 +04:00
my_semaphore.c more #ifdef THREAD added 2003-04-30 12:32:43 +02:00
my_sleep.c my_sleep.c: 2005-01-05 16:35:43 +01:00
my_static.c Max open files handling moved to my_set_max_open_files() 2004-02-19 19:33:09 +02:00
my_static.h Changed prototype of killed_ptr() to make it more portable 2004-05-26 19:12:49 +03:00
my_symlink.c Fixed new bug that caused symlink test to fail 2005-01-18 03:49:39 +02:00
my_symlink2.c myisam/ft_parser.c 2005-03-06 12:31:40 +01:00
my_sync.c Call my_sync() after all data is written to .frm file 2003-11-02 15:55:02 +02:00
my_tempnam.c Made my_snprintf() behavior snprintf() compatible when printing %x arguments (it should 2004-05-27 17:54:40 +04:00
my_thr_init.c Bug #9954 mysql-4.1.11/cmd-line-utils/libedit/makelist.sh is not portable 2005-04-27 13:29:37 +02:00
my_wincond.c Update copyright 2001-12-06 14:10:51 +02:00
my_windac.c A fix for Bug#8226 "Cannot connect via shared memory": 2005-03-26 01:21:52 +03:00
my_winsem.c Added support for semaphores in mysys. 2002-06-29 00:16:15 +03:00
my_winthread.c Update copyright 2001-12-06 14:10:51 +02:00
my_write.c Merge mysql.com:/home/mysql_src/mysql-4.0 2005-01-06 21:31:47 +01:00
mysys_priv.h Merge with 4.0 for 4.1 release 2004-10-06 19:14:33 +03:00
ptr_cmp.c Update copyright 2001-12-06 14:10:51 +02:00
queues.c merge with 4.0 2003-10-16 03:08:40 +03:00
raid.cc a compiler must see '#pragma implementation' *before* 2005-06-05 19:38:52 +02:00
raid2.c Split raid C function to separate file to make things more portable. 2002-05-27 10:02:00 +03:00
rijndael.c assert.h needed for my_dbug.h now is included in my_dbug.h, where it for 2004-06-10 23:58:39 +04:00
safemalloc.c Changed %lx -> 0x%lx (for easier comparison of debug files) 2004-08-23 13:46:51 +03:00
sha1.c A fix for Bug#13944 "libmysqlclient exporting sha1_result function": 2006-01-11 17:31:52 +03:00
string.c Update copyright 2001-12-06 14:10:51 +02:00
test_charset.c Removed some warnings reported by valgrind 2003-11-04 14:09:03 +02:00
test_dir.c Update copyright 2001-12-06 14:10:51 +02:00
test_fn.c Fixed memory leak in DROP DATABASE when using RAID tables (Bug #2882) 2004-03-10 13:46:11 +02:00
test_xml.c license has been added 2002-12-31 13:06:30 +04:00
testhash.c A fix for Bug#7209 "Client error with "Access Denied" on updates 2006-01-04 17:35:30 +03:00
thr_alarm.c Fix wait_timeout (and kill) handling on Mac OS X by cleaning up how 2005-10-11 09:12:12 -07:00
thr_lock.c Rename rest() macro in my_list.h to list_rest(). (Bug #12327) 2005-08-09 18:02:36 -07:00
thr_mutex.c Step 2 of the switch to support configuration with NPTL: 2005-04-20 20:38:57 +02:00
thr_rwlock.c merge with 3.23.52 2002-08-12 04:04:43 +03:00
tree.c Changed %lx -> 0x%lx (for easier comparison of debug files) 2004-08-23 13:46:51 +03:00
typelib.c Changed %lx -> 0x%lx (for easier comparison of debug files) 2004-08-23 13:46:51 +03:00