aboutsummaryrefslogtreecommitdiff
path: root/src/common/spawn.cpp
diff options
context:
space:
mode:
authorRiccardo Spagni <ric@spagni.net>2018-10-20 20:34:15 +0200
committerRiccardo Spagni <ric@spagni.net>2018-10-20 20:34:15 +0200
commitfe0e426be434bf77a2200b57ddfee95decf9ceda (patch)
tree4a391412d7e97279aafd13f975dd83743fa55b7b /src/common/spawn.cpp
parentea99acad5ae7346add42119e59d0f687184f4a33 (diff)
parentc77439298591792601f8c3f4c94950ef6e2c542a (diff)
downloadmonzero-core-fe0e426be434bf77a2200b57ddfee95decf9ceda.tar.gz
monzero-core-fe0e426be434bf77a2200b57ddfee95decf9ceda.tar.xz
monzero-core-fe0e426be434bf77a2200b57ddfee95decf9ceda.zip
Merge pull request #4629
c7743929 spawn: close all file descriptors before execve (moneromooo-monero)
Diffstat (limited to 'src/common/spawn.cpp')
-rw-r--r--src/common/spawn.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/common/spawn.cpp b/src/common/spawn.cpp
index 59f11675c..0a2ce8387 100644
--- a/src/common/spawn.cpp
+++ b/src/common/spawn.cpp
@@ -38,6 +38,7 @@
#endif
#include "misc_log_ex.h"
+#include "util.h"
#include "spawn.h"
namespace tools
@@ -101,6 +102,8 @@ int spawn(const char *filename, const std::vector<std::string>& args, bool wait)
// child
if (pid == 0)
{
+ tools::closefrom(3);
+ close(0);
char *envp[] = {NULL};
execve(filename, argv, envp);
MERROR("Failed to execve: " << strerror(errno));