Author: glen Date: Wed Oct 24 10:44:23 2007 GMT Module: SOURCES Tag: MYSQL_5_0 ---- Log message: - for 5.0
---- Files affected: SOURCES: mysql-bug-16470.patch (1.1 -> 1.1.4.1) ---- Diffs: ================================================================ Index: SOURCES/mysql-bug-16470.patch diff -u SOURCES/mysql-bug-16470.patch:1.1 SOURCES/mysql-bug-16470.patch:1.1.4.1 --- SOURCES/mysql-bug-16470.patch:1.1 Wed Oct 24 11:49:00 2007 +++ SOURCES/mysql-bug-16470.patch Wed Oct 24 12:44:17 2007 @@ -1,5 +1,5 @@ From: kpettersson -Date: October 23 2007 4:07pm +Date: October 24 2007 10:29am Subject: bk commit into 5.0 tree (thek:1.2537) BUG#16470 Below is the list of changes that have just been committed into a local @@ -9,7 +9,7 @@ For information on how to access the public repository see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html [EMAIL PROTECTED], 2007-10-23 16:07:32+02:00, [EMAIL PROTECTED](none) +1 -0 [EMAIL PROTECTED], 2007-10-24 10:29:24+02:00, [EMAIL PROTECTED](none) +1 -0 Bug #16470 crash on grant if old grant tables If a user upgraded the server without running mysql_upgrade, and later tried @@ -19,41 +19,42 @@ This patch fixes this problem by checking if the grant tables were properly initialized before attempt to store any new grants. - sql/[EMAIL PROTECTED], 2007-10-23 16:07:31+02:00, [EMAIL PROTECTED](none) +9 -3 + sql/[EMAIL PROTECTED], 2007-10-24 10:29:21+02:00, [EMAIL PROTECTED](none) +3 -6 If grant_reload fails, don't try to store new GRANTs because the grant tables weren't properly initialized. diff -Nrup a/sql/sql_acl.cc b/sql/sql_acl.cc --- a/sql/sql_acl.cc 2007-06-20 14:24:27 +02:00 -+++ b/sql/sql_acl.cc 2007-10-23 16:07:31 +02:00 -@@ -2786,7 +2786,12 @@ bool mysql_table_grant(THD *thd, TABLE_L - MYF(0)); - DBUG_RETURN(TRUE); ++++ b/sql/sql_acl.cc 2007-10-24 10:29:21 +02:00 +@@ -2780,7 +2780,7 @@ bool mysql_table_grant(THD *thd, TABLE_L + "--skip-grant-tables"); /* purecov: inspected */ + DBUG_RETURN(TRUE); /* purecov: inspected */ } -- -+ if (!grant_option) -+ { -+ my_message(ER_TABLE_NEEDS_UPGRADE, ER(ER_ILLEGAL_GRANT_FOR_TABLE), -+ MYF(0)); -+ DBUG_RETURN(TRUE); -+ } - if (!revoke_grant) +- if (rights & ~TABLE_ACLS) ++ if ((rights & ~TABLE_ACLS) || !grant_option) { - if (columns.elements) -@@ -3335,13 +3340,14 @@ my_bool grant_init() + my_message(ER_ILLEGAL_GRANT_FOR_TABLE, ER(ER_ILLEGAL_GRANT_FOR_TABLE), + MYF(0)); +@@ -3328,20 +3328,17 @@ void grant_free(void) + my_bool grant_init() + { + THD *thd; +- my_bool return_val; + DBUG_ENTER("grant_init"); + + if (!(thd= new THD)) DBUG_RETURN(1); /* purecov: deadcode */ thd->thread_stack= (char*) &thd; thd->store_globals(); - return_val= grant_reload(thd); -+ if (grant_reload(thd)) -+ return TRUE; ++ grant_option= !grant_reload(thd); delete thd; /* Remember that we don't have a THD */ my_pthread_setspecific_ptr(THR_THD, 0); - /* Set the grant option flag so we will check grants */ - grant_option= TRUE; +- /* Set the grant option flag so we will check grants */ +- grant_option= TRUE; - DBUG_RETURN(return_val); -+ DBUG_RETURN(FALSE); ++ DBUG_RETURN(!grant_option); } ================================================================ ---- CVS-web: http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/mysql-bug-16470.patch?r1=1.1&r2=1.1.4.1&f=u _______________________________________________ pld-cvs-commit mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit
