mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
postreview fixes
This commit is contained in:
@ -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
|
||||||
|
@ -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 */
|
||||||
|
@ -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
|
||||||
|
@ -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)))
|
||||||
|
@ -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
|
||||||
|
Reference in New Issue
Block a user