aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>1996-11-15 18:38:20 +0000
committerBruce Momjian <bruce@momjian.us>1996-11-15 18:38:20 +0000
commit36aaf2505d29db21efe13e21378f0d5ba0918c0e (patch)
tree0b5d9a9c9ee44337b872e4655b021f7a40713bd3 /src
parent3f53311088f9ee6a3d30ac2ed0b8f90261d2705d (diff)
downloadpostgresql-36aaf2505d29db21efe13e21378f0d5ba0918c0e.tar.gz
postgresql-36aaf2505d29db21efe13e21378f0d5ba0918c0e.zip
Correct permissions on lo_export(). Open up permissions.
Diffstat (limited to 'src')
-rw-r--r--src/backend/libpq/be-fsstubs.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/backend/libpq/be-fsstubs.c b/src/backend/libpq/be-fsstubs.c
index 6888494b88a..c8ec2b4b8bf 100644
--- a/src/backend/libpq/be-fsstubs.c
+++ b/src/backend/libpq/be-fsstubs.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/libpq/be-fsstubs.c,v 1.4 1996/11/06 08:48:25 scrappy Exp $
+ * $Header: /cvsroot/pgsql/src/backend/libpq/be-fsstubs.c,v 1.5 1996/11/15 18:38:20 momjian Exp $
*
* NOTES
* This should be moved to a more appropriate place. It is here
@@ -24,6 +24,7 @@
#include <fcntl.h>
#include <sys/types.h>
+#include <sys/stat.h>
#include <unistd.h>
#include <postgres.h>
@@ -240,7 +241,7 @@ lo_import(text *filename)
char buf[BUFSIZE];
LargeObjectDesc *lobj;
Oid lobjOid;
-
+
/*
* open the file to be read in
*/
@@ -294,6 +295,7 @@ lo_export(Oid lobjId, text *filename)
#define BUFSIZE 1024
char buf[BUFSIZE];
LargeObjectDesc *lobj;
+ mode_t oumask;
/*
* create an inversion "object"
@@ -307,7 +309,9 @@ lo_export(Oid lobjId, text *filename)
/*
* open the file to be written to
*/
+ oumask = umask((mode_t) 0);
fd = open(VARDATA(filename), O_CREAT|O_WRONLY, 0666);
+ (void) umask(oumask);
if (fd < 0) { /* error */
elog(WARN, "lo_export: can't open unix file\"%s\"",
VARDATA(filename));