summaryrefslogtreecommitdiff
path: root/src/RdFToI.c
diff options
context:
space:
mode:
authorAlan Coopersmith <alan.coopersmith@oracle.com>2023-03-27 18:35:46 -0700
committerAlan Coopersmith <alan.coopersmith@oracle.com>2023-04-22 17:15:24 +0000
commit4524c578581b427145ae136844fc655a89e94777 (patch)
tree12d368ed993e0e98786af558bc92e1e39251b5bc /src/RdFToI.c
parentf131de92d6c4e2f62934e85b012287276ecf009c (diff)
downloadxorg-lib-libXpm-master.tar.gz
Set close-on-exec when opening filesHEADmaster
Relies on platforms with O_CLOEXEC support following POSIX requirement to not copy the close-on-exec flag to the new fd in dup2(), but to leave it unset instead, since that's how fd's are passed to child processes to handled compressed files. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Diffstat (limited to 'src/RdFToI.c')
-rw-r--r--src/RdFToI.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/RdFToI.c b/src/RdFToI.c
index a16af88..28c0c33 100644
--- a/src/RdFToI.c
+++ b/src/RdFToI.c
@@ -212,7 +212,7 @@ OpenReadFile(
mdata->stream.file = (stdin);
mdata->type = XPMFILE;
} else {
- int fd = open(filename, O_RDONLY);
+ int fd = open(filename, O_RDONLY | O_CLOEXEC);
#if defined(NO_ZPIPE)
if ( fd < 0 )
return XpmOpenFailed;
@@ -229,11 +229,11 @@ OpenReadFile(
return (XpmNoMemory);
strcpy(compressfile, filename);
strcpy(compressfile + len, ext = ".Z");
- fd = open(compressfile, O_RDONLY);
+ fd = open(compressfile, O_RDONLY | O_CLOEXEC);
if ( fd < 0 )
{
strcpy(compressfile + len, ext = ".gz");
- fd = open(compressfile, O_RDONLY);
+ fd = open(compressfile, O_RDONLY | O_CLOEXEC);
if ( fd < 0 )
{
XpmFree(compressfile);