1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

postreview fixes

This commit is contained in:
bell@sanja.is.com.ua
2005-10-31 22:14:27 +02:00
parent 1137a376a7
commit c54d129224
5 changed files with 8 additions and 14 deletions

View File

@ -4756,13 +4756,12 @@ Item_func_sp::execute(Item **itp)
THD *thd= current_thd; THD *thd= current_thd;
int res= -1; int res= -1;
Sub_statement_state statement_state; 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 #ifndef NO_EMBEDDED_ACCESS_CHECKS
if (context->security_ctx) if (context->security_ctx)
{ {
/* Set view definer security context */ /* Set view definer security context */
save_security_ctx= thd->security_ctx;
thd->security_ctx= context->security_ctx; thd->security_ctx= context->security_ctx;
} }
#endif #endif
@ -4787,8 +4786,7 @@ Item_func_sp::execute(Item **itp)
#ifndef NO_EMBEDDED_ACCESS_CHECKS #ifndef NO_EMBEDDED_ACCESS_CHECKS
sp_restore_security_context(thd, save_ctx_func); sp_restore_security_context(thd, save_ctx_func);
error: error:
if (save_security_ctx) thd->security_ctx= save_security_ctx;
thd->security_ctx= save_security_ctx;
#else #else
error: error:
#endif #endif

View File

@ -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. of other queries). For simple queries first_not_own_table is 0.
*/ */
for (i= 0, table= tables; 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++) table= table->next_global, i++)
{ {
/* Remove SHOW_VIEW_ACL, because it will be checked during making view */ /* Remove SHOW_VIEW_ACL, because it will be checked during making view */

View File

@ -2705,16 +2705,14 @@ static bool check_grant_column_in_sctx(THD *thd, GRANT_INFO *grant,
{ {
if (!check_grants) if (!check_grants)
return FALSE; return FALSE;
Security_context *save_security_ctx= 0; Security_context *save_security_ctx= thd->security_ctx;
bool res; bool res;
if (sctx) if (sctx)
{ {
save_security_ctx= thd->security_ctx;
thd->security_ctx= sctx; thd->security_ctx= sctx;
} }
res= check_grant_column(thd, grant, db, table, name, length); res= check_grant_column(thd, grant, db, table, name, length);
if (save_security_ctx) thd->security_ctx= save_security_ctx;
thd->security_ctx= save_security_ctx;
return res; return res;
} }
#endif #endif

View File

@ -5033,7 +5033,7 @@ check_table_access(THD *thd, ulong want_access,TABLE_LIST *tables,
the given table list refers to the list for prelocking (contains 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. 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 && if (tables->schema_table &&
(want_access & ~(SELECT_ACL | EXTRA_ACL | FILE_ACL))) (want_access & ~(SELECT_ACL | EXTRA_ACL | FILE_ACL)))

View File

@ -2654,7 +2654,7 @@ Natural_join_column::check_grants(THD *thd, const char *name, uint length)
GRANT_INFO *grant; GRANT_INFO *grant;
const char *db_name; const char *db_name;
const char *table_name; const char *table_name;
Security_context *save_security_ctx= 0; Security_context *save_security_ctx= thd->security_ctx;
Security_context *new_sctx= table_ref->security_ctx; Security_context *new_sctx= table_ref->security_ctx;
bool res; bool res;
@ -2675,12 +2675,10 @@ Natural_join_column::check_grants(THD *thd, const char *name, uint length)
if (new_sctx) if (new_sctx)
{ {
save_security_ctx= thd->security_ctx;
thd->security_ctx= new_sctx; thd->security_ctx= new_sctx;
} }
res= check_grant_column(thd, grant, db_name, table_name, name, length); res= check_grant_column(thd, grant, db_name, table_name, name, length);
if (save_security_ctx) thd->security_ctx= save_security_ctx;
thd->security_ctx= save_security_ctx;
return res; return res;
} }
#endif #endif