mirror of
https://github.com/postgres/postgres.git
synced 2025-07-07 00:36:50 +03:00
Permissions were not checked correctly when one view invokes another.
Per bug report from Lieven Van Acker, 5/2/01.
This commit is contained in:
@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteHandler.c,v 1.92 2001/04/17 00:32:58 tgl Exp $
|
* $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteHandler.c,v 1.93 2001/05/03 17:47:49 tgl Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -309,9 +309,11 @@ ApplyRetrieveRule(Query *parsetree,
|
|||||||
Assert(subrte->relid == relation->rd_id);
|
Assert(subrte->relid == relation->rd_id);
|
||||||
subrte->checkForRead = rte->checkForRead;
|
subrte->checkForRead = rte->checkForRead;
|
||||||
subrte->checkForWrite = rte->checkForWrite;
|
subrte->checkForWrite = rte->checkForWrite;
|
||||||
|
subrte->checkAsUser = rte->checkAsUser;
|
||||||
|
|
||||||
rte->checkForRead = false; /* no permission check on subquery itself */
|
rte->checkForRead = false; /* no permission check on subquery itself */
|
||||||
rte->checkForWrite = false;
|
rte->checkForWrite = false;
|
||||||
|
rte->checkAsUser = InvalidOid;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* FOR UPDATE of view?
|
* FOR UPDATE of view?
|
||||||
|
Reference in New Issue
Block a user