summaryrefslogtreecommitdiff
path: root/src/libudev/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libudev/util.c')
-rw-r--r--src/libudev/util.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/libudev/util.c b/src/libudev/util.c
index 43defd35b5..1d57a01567 100644
--- a/src/libudev/util.c
+++ b/src/libudev/util.c
@@ -4300,10 +4300,10 @@ int execute_command(const char *command, char *const argv[])
{
pid_t pid;
- int status;
+ int status;
- if ((status = access(command, X_OK)) != 0)
- return status;
+ if ((status = access(command, X_OK)) != 0)
+ return status;
if ((pid = fork()) < 0) {
log_error("Failed to fork: %m");
@@ -4582,7 +4582,12 @@ int fopen_temporary(const char *path, FILE **_f, char **_temp_path) {
t[k] = '.';
stpcpy(stpcpy(t+k+1, fn), "XXXXXX");
+#if HAVE_DECL_MKOSTEMP
fd = mkostemp(t, O_WRONLY|O_CLOEXEC);
+#else
+ fd = mkstemp(t);
+ fcntl(t, F_SETFD, FD_CLOEXEC);
+#endif
if (fd < 0) {
free(t);
return -errno;