diff options
author | Christos Zoulas <christos@NetBSD.org> | 2015-02-25 21:39:30 +0100 |
---|---|---|
committer | Thomas Klausner <wiz@NetBSD.org> | 2015-02-26 09:56:26 +0100 |
commit | d9fda3d247942292a5f24694c22337c547006e11 (patch) | |
tree | d1b763e37f3c14a47525d853c69ce48907cba7ee | |
parent | 3b33588117c2ca3099b999939985ffe098d479b3 (diff) |
Set close-on-exec for font file I/O.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Thomas Klausner <wiz@NetBSD.org>
-rw-r--r-- | src/fontfile/fileio.c | 5 | ||||
-rw-r--r-- | src/fontfile/filewr.c | 12 |
2 files changed, 11 insertions, 6 deletions
diff --git a/src/fontfile/fileio.c b/src/fontfile/fileio.c index 80af511..d44cecd 100644 --- a/src/fontfile/fileio.c +++ b/src/fontfile/fileio.c @@ -36,6 +36,9 @@ in this Software without prior written authorization from The Open Group. #ifndef O_BINARY #define O_BINARY O_RDONLY #endif +#ifndef O_CLOEXEC +#define O_CLOEXEC 0 +#endif FontFilePtr FontFileOpen (const char *name) @@ -44,7 +47,7 @@ FontFileOpen (const char *name) int len; BufFilePtr raw, cooked; - fd = open (name, O_BINARY); + fd = open (name, O_BINARY|O_CLOEXEC); if (fd < 0) return 0; raw = BufFileOpenRead (fd); diff --git a/src/fontfile/filewr.c b/src/fontfile/filewr.c index bcc7b1e..859a0be 100644 --- a/src/fontfile/filewr.c +++ b/src/fontfile/filewr.c @@ -33,17 +33,19 @@ in this Software without prior written authorization from The Open Group. #endif #include <X11/fonts/fntfilio.h> #include <X11/Xos.h> +#ifndef O_BINARY +#define O_BINARY 0 +#endif +#ifndef O_CLOEXEC +#define O_CLOEXEC 0 +#endif FontFilePtr FontFileOpenWrite (const char *name) { int fd; -#if defined(WIN32) || defined(__CYGWIN__) - fd = open (name, O_CREAT|O_TRUNC|O_RDWR|O_BINARY, 0666); -#else - fd = creat (name, 0666); -#endif + fd = open (name, O_CREAT|O_TRUNC|O_RDWR|O_BINARY|O_CLOEXEC, 0666); if (fd < 0) return 0; return (FontFilePtr) BufFileOpenWrite (fd); |