From: Tom Lane Date: Wed, 8 Nov 2000 16:31:06 +0000 (+0000) Subject: CLUSTER did no permissions checking, forsooth ... X-Git-Tag: REL7_1_BETA~233 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=218f357d82380442da0024f839dfcfc836063667;p=postgresql CLUSTER did no permissions checking, forsooth ... --- diff --git a/src/backend/tcop/utility.c b/src/backend/tcop/utility.c index 9ee7267f70..79ac7c0f15 100644 --- a/src/backend/tcop/utility.c +++ b/src/backend/tcop/utility.c @@ -10,7 +10,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/tcop/utility.c,v 1.100 2000/11/07 02:17:50 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/tcop/utility.c,v 1.101 2000/11/08 16:31:06 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -670,7 +670,14 @@ ProcessUtility(Node *parsetree, set_ps_display(commandTag = "CLUSTER"); - cluster(stmt->relname, stmt->indexname); + relname = stmt->relname; + if (IsSystemRelationName(relname)) + elog(ERROR, "CLUSTER: relation \"%s\" is a system catalog", + relname); + if (!pg_ownercheck(GetUserId(), relname, RELNAME)) + elog(ERROR, "permission denied"); + + cluster(relname, stmt->indexname); } break;