mariadb/storage/myisammrg
Alexey Kopytov 2b26729ece Bug #45796: invalid memory reads and writes when altering merge
and base tables 

myrg_attach_children() could reuse a buffer that was allocated 
previously based on a definition of a child table. The problem 
was that the child's definition might have been changed, so 
reusing the buffer could lead to crashes or valgrind errors 
under some circumstances. 
 
Fixed by changing myrg_attach_children() so that the 
rec_per_key_part buffer is reused only when the child table
have not changed, and reallocated otherwise (the old buffer is 
deallocated if necessary).


include/myisammrg.h:
  Added a pointer to need_compat_check as an argument to
  myrg_attach_children().
mysql-test/r/merge.result:
  Added a test case for bug #45796.
mysql-test/t/merge.test:
  Added a test case for bug #45796.
storage/myisammrg/ha_myisammrg.cc:
  Pass a pointer to need_compat_check to myrg_attach_children().
storage/myisammrg/myrg_open.c:
  Changed myrg_attach_children() so that the 
  rec_per_key_part buffer is reused only when the child table
  have not changed, and reallocated otherwise (the old buffer 
  is deallocated if necessary).
2009-07-10 17:34:03 +06:00
..
.cvsignore Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
CMakeLists.txt Fixed bug#36006: Optimizer does table scan for SELECT COUNT(*) 2008-04-26 02:45:58 +05:00
ha_myisammrg.cc Bug #45796: invalid memory reads and writes when altering merge 2009-07-10 17:34:03 +06:00
ha_myisammrg.h Bug#40675 MySQL 5.1 crash with index merge algorithm and Merge tables 2009-02-12 16:42:07 +05:30
make-ccc Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
Makefile.am Fixed bug#36006: Optimizer does table scan for SELECT COUNT(*) 2008-04-26 02:45:58 +05:00
myrg_close.c Bug#30273 - merge tables: Can't lock file (errno: 155) 2007-12-11 15:32:10 +01:00
myrg_create.c Bug #45286: compilation warnings on mysql-5.0-bugteam on MacOSX 2009-06-05 16:44:38 +03:00
myrg_def.h Merge mysql.com:/home/svoj/devel/mysql/BUG26976/mysql-5.0-engines 2007-06-07 13:53:23 +05:00
myrg_delete.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
myrg_extra.c Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE 2007-11-15 20:25:43 +01:00
myrg_info.c Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-31 01:32:21 +01:00
myrg_locking.c BUG#29806 - binlog_innodb.test creates a server log 2007-07-25 19:56:17 +05:00
myrg_open.c Bug #45796: invalid memory reads and writes when altering merge 2009-07-10 17:34:03 +06:00
myrg_panic.c Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-31 01:32:21 +01:00
myrg_queue.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
myrg_range.c Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-31 01:32:21 +01:00
myrg_records.c Fixed bug#36006: Optimizer does table scan for SELECT COUNT(*) 2008-04-26 02:45:58 +05:00
myrg_rfirst.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
myrg_rkey.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
myrg_rlast.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
myrg_rnext.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
myrg_rnext_same.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
myrg_rprev.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
myrg_rrnd.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
myrg_rsame.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
myrg_static.c Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-31 01:32:21 +01:00
myrg_update.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
myrg_write.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
plug.in bug #23369 (Embedded library can't be linked) 2006-10-18 17:03:37 +05:00