--- src/apprentice.c | 6 +++--- src/compress.c | 2 +- src/file.c | 2 +- src/magic.c | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) --- src/apprentice.c +++ src/apprentice.c 2019-05-27 08:53:31.057488035 +0000 @@ -1154,7 +1154,7 @@ load_1(struct magic_set *ms, int action, ssize_t len; struct magic_entry me; - FILE *f = fopen(ms->file = fn, "r"); + FILE *f = fopen(ms->file = fn, "re"); if (f == NULL) { if (errno != ENOENT) file_error(ms, errno, "cannot read magic file `%s'", @@ -3052,7 +3052,7 @@ apprentice_map(struct magic_set *ms, con if (dbname == NULL) goto error; - if ((fd = open(dbname, O_RDONLY|O_BINARY)) == -1) + if ((fd = open(dbname, O_RDONLY|O_BINARY|O_CLOEXEC)) == -1) goto error; if (fstat(fd, &st) == -1) { @@ -3189,7 +3189,7 @@ apprentice_compile(struct magic_set *ms, if (dbname == NULL) goto out; - if ((fd = open(dbname, O_WRONLY|O_CREAT|O_TRUNC|O_BINARY, 0644)) == -1) + if ((fd = open(dbname, O_WRONLY|O_CREAT|O_TRUNC|O_BINARY|O_CLOEXEC, 0644)) == -1) { file_error(ms, errno, "cannot open `%s'", dbname); goto out; --- src/compress.c +++ src/compress.c 2019-05-27 08:53:31.057488035 +0000 @@ -460,7 +460,7 @@ file_pipe2file(struct magic_set *ms, int { int te; mode_t ou = umask(0); - tfd = mkstemp(buf); + tfd = mkostemp(buf, O_CLOEXEC); (void)umask(ou); te = errno; (void)unlink(buf); --- src/file.c +++ src/file.c 2019-05-27 08:53:31.057488035 +0000 @@ -496,7 +496,7 @@ unwrap(struct magic_set *ms, const char f = stdin; wid = 1; } else { - if ((f = fopen(fn, "r")) == NULL) { + if ((f = fopen(fn, "re")) == NULL) { file_warn("Cannot open `%s'", fn); return 1; } --- src/magic.c +++ src/magic.c 2019-05-27 09:00:04.010005617 +0000 @@ -436,7 +436,7 @@ file_or_fd(struct magic_set *ms, const c _setmode(STDIN_FILENO, O_BINARY); #endif if (inname != NULL) { - int flags = O_RDONLY|O_BINARY|O_NONBLOCK; + int flags = O_RDONLY|O_BINARY|O_NONBLOCK|O_CLOEXEC; errno = 0; if ((fd = open(inname, flags)) < 0) { okstat = stat(inname, &sb) == 0;