Fix a couple more cases of missing CLOEXEC.
The debuggerd case can probably never happen, because you're crashing at this
point anyway. The system property one seems possible though.
Change-Id: Idba6a4f1d68587ec5b320d1e25f0b6a987ea32a0
diff --git a/libc/bionic/system_properties.cpp b/libc/bionic/system_properties.cpp
index 411d6bf..170e7ac 100644
--- a/libc/bionic/system_properties.cpp
+++ b/libc/bionic/system_properties.cpp
@@ -471,8 +471,8 @@
static int send_prop_msg(const prop_msg *msg)
{
- const int fd = socket(AF_LOCAL, SOCK_STREAM, 0);
- if (fd < 0) {
+ const int fd = socket(AF_LOCAL, SOCK_STREAM | SOCK_CLOEXEC, 0);
+ if (fd == -1) {
return -1;
}
diff --git a/linker/debugger.cpp b/linker/debugger.cpp
index 6565985..ac466a5 100644
--- a/linker/debugger.cpp
+++ b/linker/debugger.cpp
@@ -215,7 +215,7 @@
return;
}
- int s = socket_abstract_client(DEBUGGER_SOCKET_NAME, SOCK_STREAM);
+ int s = socket_abstract_client(DEBUGGER_SOCKET_NAME, SOCK_STREAM | SOCK_CLOEXEC);
if (s == -1) {
__libc_format_log(ANDROID_LOG_FATAL, "libc", "Unable to open connection to debuggerd: %s",
strerror(errno));