Loading sql/item_func.cc +2 −4 Original line number Diff line number Diff line Loading @@ -4756,13 +4756,12 @@ Item_func_sp::execute(Item **itp) THD *thd= current_thd; int res= -1; Sub_statement_state statement_state; Security_context *save_security_ctx= 0, *save_ctx_func; Security_context *save_security_ctx= thd->security_ctx, *save_ctx_func; #ifndef NO_EMBEDDED_ACCESS_CHECKS if (context->security_ctx) { /* Set view definer security context */ save_security_ctx= thd->security_ctx; thd->security_ctx= context->security_ctx; } #endif Loading @@ -4787,7 +4786,6 @@ Item_func_sp::execute(Item **itp) #ifndef NO_EMBEDDED_ACCESS_CHECKS sp_restore_security_context(thd, save_ctx_func); error: if (save_security_ctx) thd->security_ctx= save_security_ctx; #else error: Loading sql/sql_acl.cc +1 −1 Original line number Diff line number Diff line Loading @@ -3532,7 +3532,7 @@ bool check_grant(THD *thd, ulong want_access, TABLE_LIST *tables, of other queries). For simple queries first_not_own_table is 0. */ for (i= 0, table= tables; table && table != first_not_own_table && i < number; table != first_not_own_table && i < number; table= table->next_global, i++) { /* Remove SHOW_VIEW_ACL, because it will be checked during making view */ Loading sql/sql_base.cc +2 −4 Original line number Diff line number Diff line Loading @@ -2705,15 +2705,13 @@ static bool check_grant_column_in_sctx(THD *thd, GRANT_INFO *grant, { if (!check_grants) return FALSE; Security_context *save_security_ctx= 0; Security_context *save_security_ctx= thd->security_ctx; bool res; if (sctx) { save_security_ctx= thd->security_ctx; thd->security_ctx= sctx; } res= check_grant_column(thd, grant, db, table, name, length); if (save_security_ctx) thd->security_ctx= save_security_ctx; return res; } Loading sql/sql_parse.cc +3 −1 Original line number Diff line number Diff line Loading @@ -1767,6 +1767,8 @@ bool dispatch_command(enum enum_server_command command, THD *thd, /* Saved variable value */ my_bool old_innodb_table_locks= IF_INNOBASE_DB(thd->variables.innodb_table_locks, FALSE); /* used as fields initializator */ lex_start(thd, 0, 0); statistic_increment(thd->status_var.com_stat[SQLCOM_SHOW_FIELDS], Loading Loading @@ -5033,7 +5035,7 @@ check_table_access(THD *thd, ulong want_access,TABLE_LIST *tables, the given table list refers to the list for prelocking (contains tables of other queries). For simple queries first_not_own_table is 0. */ for (; tables && tables != first_not_own_table; tables= tables->next_global) for (; tables != first_not_own_table; tables= tables->next_global) { if (tables->schema_table && (want_access & ~(SELECT_ACL | EXTRA_ACL | FILE_ACL))) Loading sql/table.cc +2 −3 Original line number Diff line number Diff line Loading @@ -2538,11 +2538,11 @@ bool st_table_list::prepare_security(THD *thd) tbl->table->grant= grant; } thd->security_ctx= save_security_ctx; DBUG_RETURN(FALSE); #else while ((tbl= tb++)) tbl->grant.privilege= ~NO_ACCESS; #endif DBUG_RETURN(FALSE); } Loading Loading @@ -2654,7 +2654,7 @@ Natural_join_column::check_grants(THD *thd, const char *name, uint length) GRANT_INFO *grant; const char *db_name; const char *table_name; Security_context *save_security_ctx; Security_context *save_security_ctx= thd->security_ctx; Security_context *new_sctx= table_ref->security_ctx; bool res; Loading @@ -2673,7 +2673,6 @@ Natural_join_column::check_grants(THD *thd, const char *name, uint length) table_name= table_ref->table->s->table_name; } save_security_ctx= thd->security_ctx; if (new_sctx) thd->security_ctx= new_sctx; res= check_grant_column(thd, grant, db_name, table_name, name, length); Loading Loading
sql/item_func.cc +2 −4 Original line number Diff line number Diff line Loading @@ -4756,13 +4756,12 @@ Item_func_sp::execute(Item **itp) THD *thd= current_thd; int res= -1; Sub_statement_state statement_state; Security_context *save_security_ctx= 0, *save_ctx_func; Security_context *save_security_ctx= thd->security_ctx, *save_ctx_func; #ifndef NO_EMBEDDED_ACCESS_CHECKS if (context->security_ctx) { /* Set view definer security context */ save_security_ctx= thd->security_ctx; thd->security_ctx= context->security_ctx; } #endif Loading @@ -4787,7 +4786,6 @@ Item_func_sp::execute(Item **itp) #ifndef NO_EMBEDDED_ACCESS_CHECKS sp_restore_security_context(thd, save_ctx_func); error: if (save_security_ctx) thd->security_ctx= save_security_ctx; #else error: Loading
sql/sql_acl.cc +1 −1 Original line number Diff line number Diff line Loading @@ -3532,7 +3532,7 @@ bool check_grant(THD *thd, ulong want_access, TABLE_LIST *tables, of other queries). For simple queries first_not_own_table is 0. */ for (i= 0, table= tables; table && table != first_not_own_table && i < number; table != first_not_own_table && i < number; table= table->next_global, i++) { /* Remove SHOW_VIEW_ACL, because it will be checked during making view */ Loading
sql/sql_base.cc +2 −4 Original line number Diff line number Diff line Loading @@ -2705,15 +2705,13 @@ static bool check_grant_column_in_sctx(THD *thd, GRANT_INFO *grant, { if (!check_grants) return FALSE; Security_context *save_security_ctx= 0; Security_context *save_security_ctx= thd->security_ctx; bool res; if (sctx) { save_security_ctx= thd->security_ctx; thd->security_ctx= sctx; } res= check_grant_column(thd, grant, db, table, name, length); if (save_security_ctx) thd->security_ctx= save_security_ctx; return res; } Loading
sql/sql_parse.cc +3 −1 Original line number Diff line number Diff line Loading @@ -1767,6 +1767,8 @@ bool dispatch_command(enum enum_server_command command, THD *thd, /* Saved variable value */ my_bool old_innodb_table_locks= IF_INNOBASE_DB(thd->variables.innodb_table_locks, FALSE); /* used as fields initializator */ lex_start(thd, 0, 0); statistic_increment(thd->status_var.com_stat[SQLCOM_SHOW_FIELDS], Loading Loading @@ -5033,7 +5035,7 @@ check_table_access(THD *thd, ulong want_access,TABLE_LIST *tables, the given table list refers to the list for prelocking (contains tables of other queries). For simple queries first_not_own_table is 0. */ for (; tables && tables != first_not_own_table; tables= tables->next_global) for (; tables != first_not_own_table; tables= tables->next_global) { if (tables->schema_table && (want_access & ~(SELECT_ACL | EXTRA_ACL | FILE_ACL))) Loading
sql/table.cc +2 −3 Original line number Diff line number Diff line Loading @@ -2538,11 +2538,11 @@ bool st_table_list::prepare_security(THD *thd) tbl->table->grant= grant; } thd->security_ctx= save_security_ctx; DBUG_RETURN(FALSE); #else while ((tbl= tb++)) tbl->grant.privilege= ~NO_ACCESS; #endif DBUG_RETURN(FALSE); } Loading Loading @@ -2654,7 +2654,7 @@ Natural_join_column::check_grants(THD *thd, const char *name, uint length) GRANT_INFO *grant; const char *db_name; const char *table_name; Security_context *save_security_ctx; Security_context *save_security_ctx= thd->security_ctx; Security_context *new_sctx= table_ref->security_ctx; bool res; Loading @@ -2673,7 +2673,6 @@ Natural_join_column::check_grants(THD *thd, const char *name, uint length) table_name= table_ref->table->s->table_name; } save_security_ctx= thd->security_ctx; if (new_sctx) thd->security_ctx= new_sctx; res= check_grant_column(thd, grant, db_name, table_name, name, length); Loading