summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2005-01-24 17:46:29 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2005-01-24 17:46:29 +0000
commit49b35eb14b7b3df8c550bc4638856a4f79769d9c (patch)
tree77bff46c9f550ed47ddcb661f548c63886604dd7
parentf50e08a99850c9d6a5ca125e6e8609a32d386e37 (diff)
downloadpostgresql-49b35eb14b7b3df8c550bc4638856a4f79769d9c.tar.gz
Disallow LOAD to non-superusers. Per report from John Heasman.
-rw-r--r--src/backend/tcop/utility.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/backend/tcop/utility.c b/src/backend/tcop/utility.c
index 11fa2fc52d..976a22c8ee 100644
--- a/src/backend/tcop/utility.c
+++ b/src/backend/tcop/utility.c
@@ -10,7 +10,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/tcop/utility.c,v 1.231 2004/12/31 22:01:16 pgsql Exp $
+ * $PostgreSQL: pgsql/src/backend/tcop/utility.c,v 1.231.4.1 2005/01/24 17:46:29 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -803,6 +803,10 @@ ProcessUtility(Node *parsetree,
{
LoadStmt *stmt = (LoadStmt *) parsetree;
+ if (!superuser())
+ ereport(ERROR,
+ (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE),
+ errmsg("must be superuser to do LOAD")));
closeAllVfds(); /* probably not necessary... */
load_file(stmt->filename);
}