aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/safe.c4
-rw-r--r--src/tester.c14
2 files changed, 13 insertions, 5 deletions
diff --git a/src/safe.c b/src/safe.c
index 0701939..de49a58 100644
--- a/src/safe.c
+++ b/src/safe.c
@@ -1,3 +1,5 @@
+#include "compat.h"
+
#define MOS_FORCE_PREFIXES
#include "moslib/safe.h"
@@ -90,7 +92,7 @@ int mos_safe_pipe_fn(int fd[2], MosSafeErrInfo info) {
}
int mos_safe_mkstemp_fn(char *path, MosSafeErrInfo info) {
- int fd = mkstemp(path);
+ int fd = mos_mkstemp(path);
if (fd != -1)
return fd;
ERR_MESS("failed to make temporary file");
diff --git a/src/tester.c b/src/tester.c
index 2ab0c87..70e0d24 100644
--- a/src/tester.c
+++ b/src/tester.c
@@ -2,9 +2,11 @@
#include "moslib/tester.h"
#include <stddef.h>
+#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <sys/wait.h>
#include <unistd.h>
#include "moslib/safe.h"
@@ -145,8 +147,10 @@ void mos_test_assert_out_fn(
size_t n = strlen(output);
char *out = mos_safe_calloc(n + 2, 1);
- int tmp = mos_safe_mkstemp(".tmp");
- unlink(".tmp");
+ char f[128];
+ strcpy(f, ".tmpXXXXXX");
+ int tmp = mos_safe_mkstemp(f);
+ unlink(f);
int og = mos_safe_dup(fd);
fflush(NULL);
@@ -182,8 +186,10 @@ void mos_suppress_output_fn(int fd) {
suppressed.ogs[suppressed.n_outs++] = mos_safe_dup(fd);
if (dev_null == -1) {
- dev_null = mos_safe_mkstemp(".dev_null");
- unlink(".dev_null");
+ char f[128];
+ strcpy(f, ".dev_nullXXXXXX");
+ dev_null = mos_safe_mkstemp(f);
+ unlink(f);
}
fflush(NULL);