diff --git a/mysql-innodb-crash.patch b/mysql-innodb-crash.patch index c2c6de5..89dd454 100644 --- a/mysql-innodb-crash.patch +++ b/mysql-innodb-crash.patch @@ -1,8 +1,8 @@ Back-port upstream fix for CVE-2007-5925. -diff -Naur mysql-5.0.45.orig/innobase/include/db0err.h mysql-5.0.45/innobase/include/db0err.h ---- mysql-5.0.45.orig/innobase/include/db0err.h 2007-07-04 09:06:59.000000000 -0400 -+++ mysql-5.0.45/innobase/include/db0err.h 2007-12-13 12:44:05.000000000 -0500 +diff -Naur mysql-5.0.51a.orig/innobase/include/db0err.h mysql-5.0.51a/innobase/include/db0err.h +--- mysql-5.0.51a.orig/innobase/include/db0err.h 2008-01-11 09:43:41.000000000 -0500 ++++ mysql-5.0.51a/innobase/include/db0err.h 2008-07-27 14:40:23.000000000 -0400 @@ -57,6 +57,18 @@ buffer pool (for big transactions, InnoDB stores the lock structs in the @@ -22,9 +22,9 @@ diff -Naur mysql-5.0.45.orig/innobase/include/db0err.h mysql-5.0.45/innobase/inc /* The following are partial failure codes */ #define DB_FAIL 1000 -diff -Naur mysql-5.0.45.orig/innobase/include/page0cur.h mysql-5.0.45/innobase/include/page0cur.h ---- mysql-5.0.45.orig/innobase/include/page0cur.h 2007-07-04 09:06:10.000000000 -0400 -+++ mysql-5.0.45/innobase/include/page0cur.h 2007-12-13 12:44:05.000000000 -0500 +diff -Naur mysql-5.0.51a.orig/innobase/include/page0cur.h mysql-5.0.51a/innobase/include/page0cur.h +--- mysql-5.0.51a.orig/innobase/include/page0cur.h 2008-01-11 09:43:26.000000000 -0500 ++++ mysql-5.0.51a/innobase/include/page0cur.h 2008-07-27 14:40:23.000000000 -0400 @@ -22,6 +22,7 @@ /* Page cursor search modes; the values must be in this order! */ @@ -33,11 +33,11 @@ diff -Naur mysql-5.0.45.orig/innobase/include/page0cur.h mysql-5.0.45/innobase/i #define PAGE_CUR_G 1 #define PAGE_CUR_GE 2 #define PAGE_CUR_L 3 -diff -Naur mysql-5.0.45.orig/sql/ha_innodb.cc mysql-5.0.45/sql/ha_innodb.cc ---- mysql-5.0.45.orig/sql/ha_innodb.cc 2007-07-04 09:06:48.000000000 -0400 -+++ mysql-5.0.45/sql/ha_innodb.cc 2007-12-13 12:44:05.000000000 -0500 -@@ -526,6 +526,9 @@ - } +diff -Naur mysql-5.0.51a.orig/sql/ha_innodb.cc mysql-5.0.51a/sql/ha_innodb.cc +--- mysql-5.0.51a.orig/sql/ha_innodb.cc 2008-01-11 09:43:39.000000000 -0500 ++++ mysql-5.0.51a/sql/ha_innodb.cc 2008-07-27 14:40:23.000000000 -0400 +@@ -521,6 +521,9 @@ + mark_transaction_to_rollback(thd, TRUE); return(HA_ERR_LOCK_TABLE_FULL); + } else if (error == DB_UNSUPPORTED) { @@ -46,7 +46,7 @@ diff -Naur mysql-5.0.45.orig/sql/ha_innodb.cc mysql-5.0.45/sql/ha_innodb.cc } else { return(-1); // Unknown error } -@@ -3689,11 +3692,21 @@ +@@ -3710,11 +3713,21 @@ and comparison of non-latin1 char type fields in innobase_mysql_cmp() to get PAGE_CUR_LE_OR_EXTENDS to work correctly. */ @@ -71,7 +71,7 @@ diff -Naur mysql-5.0.45.orig/sql/ha_innodb.cc mysql-5.0.45/sql/ha_innodb.cc } /* -@@ -3831,11 +3844,18 @@ +@@ -3852,11 +3865,18 @@ last_match_mode = (uint) match_mode; @@ -93,7 +93,7 @@ diff -Naur mysql-5.0.45.orig/sql/ha_innodb.cc mysql-5.0.45/sql/ha_innodb.cc if (ret == DB_SUCCESS) { error = 0; -@@ -5150,8 +5170,16 @@ +@@ -5171,8 +5191,16 @@ mode2 = convert_search_mode_to_innobase(max_key ? max_key->flag : HA_READ_KEY_EXACT);