diff options
author | Alan Coopersmith <alan.coopersmith@oracle.com> | 2023-03-27 18:35:46 -0700 |
---|---|---|
committer | Alan Coopersmith <alan.coopersmith@oracle.com> | 2023-04-22 17:15:24 +0000 |
commit | 4524c578581b427145ae136844fc655a89e94777 (patch) | |
tree | 12d368ed993e0e98786af558bc92e1e39251b5bc /src/RdFToI.c | |
parent | f131de92d6c4e2f62934e85b012287276ecf009c (diff) | |
download | xorg-lib-libXpm-master.tar.gz |
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.c | 6 |
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); |