From e0374b464209a08b774e505032c9e3e2f8df441f Mon Sep 17 00:00:00 2001 From: Robert Swiecki Date: Sat, 17 Feb 2018 15:27:00 +0100 Subject: [PATCH] util: remove file only of O_CREAT was specified --- Makefile | 5 ++--- net.cc | 5 ++--- util.cc | 4 +++- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index 6360c8c..bf60606 100644 --- a/Makefile +++ b/Makefile @@ -106,8 +106,8 @@ caps.o: caps.h nsjail.h logs.h macros.h util.h cgroup.o: cgroup.h nsjail.h logs.h util.h cmdline.o: cmdline.h nsjail.h logs.h caps.h config.h macros.h mnt.h user.h cmdline.o: util.h -config.o: caps.h nsjail.h logs.h cmdline.h config.h config.pb.h macros.h -config.o: mnt.h user.h util.h +config.o: caps.h nsjail.h logs.h cmdline.h config.h macros.h mnt.h user.h +config.o: util.h contain.o: contain.h nsjail.h logs.h caps.h cgroup.h cpu.h mnt.h net.h pid.h contain.o: user.h uts.h cpu.o: cpu.h nsjail.h logs.h util.h @@ -122,4 +122,3 @@ subproc.o: sandbox.h user.h util.h uts.o: uts.h nsjail.h logs.h user.o: user.h nsjail.h logs.h macros.h subproc.h util.h util.o: util.h nsjail.h logs.h macros.h -config.pb.o: config.pb.h diff --git a/net.cc b/net.cc index 1b290a9..8d76c12 100644 --- a/net.cc +++ b/net.cc @@ -135,9 +135,8 @@ bool initNsFromParent(nsjconf_t* nsjconf, int pid) { char pid_str[256]; snprintf(pid_str, sizeof(pid_str), "%d", pid); - const std::vector argv{"/sbin/ip", "link", "add", "link", - (char*)nsjconf->iface_vs.c_str(), "name", IFACE_NAME, "netns", pid_str, "type", - "macvlan", "mode", "bridge"}; + const std::vector argv{"/sbin/ip", "link", "add", "link", nsjconf->iface_vs, + "name", IFACE_NAME, "netns", pid_str, "type", "macvlan", "mode", "bridge"}; if (subproc::systemExe(argv, environ) != 0) { LOG_E("Couldn't create MACVTAP interface for '%s'", nsjconf->iface_vs.c_str()); return false; diff --git a/util.cc b/util.cc index 648138a..9975c63 100644 --- a/util.cc +++ b/util.cc @@ -100,7 +100,9 @@ bool writeBufToFile(const char* filename, const void* buf, size_t len, int open_ if (!writeToFd(fd, buf, len)) { PLOG_E("Couldn't write '%zu' bytes to file '%s' (fd='%d')", len, filename, fd); close(fd); - unlink(filename); + if (open_flags & O_CREAT) { + unlink(filename); + } return false; } -- 2.7.4