From 0361ce1fdd77f304ee039d2aa11f9544c4bdb848 Mon Sep 17 00:00:00 2001 From: Nick Kralevich Date: Fri, 25 Jan 2019 10:08:58 -0800 Subject: more O_CLOEXEC Bug: 120983106 Test: device boots and no obvious problems. Change-Id: Ia7a426304a8e7fc41d7d8388dbb858b790d98cf1 --- core/jni/fd_utils.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'core/jni/fd_utils.cpp') diff --git a/core/jni/fd_utils.cpp b/core/jni/fd_utils.cpp index 2aaf2f0a2bbe..8e6db0b74dec 100644 --- a/core/jni/fd_utils.cpp +++ b/core/jni/fd_utils.cpp @@ -418,13 +418,13 @@ bool FileDescriptorInfo::GetSocketName(const int fd, std::string* result) { } void FileDescriptorInfo::DetachSocket(fail_fn_t fail_fn) const { - const int dev_null_fd = open("/dev/null", O_RDWR); + const int dev_null_fd = open("/dev/null", O_RDWR | O_CLOEXEC); if (dev_null_fd < 0) { fail_fn(std::string("Failed to open /dev/null: ").append(strerror(errno))); } - if (dup2(dev_null_fd, fd) == -1) { - fail_fn(android::base::StringPrintf("Failed dup2 on socket descriptor %d: %s", + if (dup3(dev_null_fd, fd, O_CLOEXEC) == -1) { + fail_fn(android::base::StringPrintf("Failed dup3 on socket descriptor %d: %s", fd, strerror(errno))); } -- cgit v1.2.3