The debuggerd case can probably never happen, because you're crashing at this
point anyway. The system property one seems possible though.
Bug:
18186310
(cherry picked from commit
0dc39f9952c5e3a3121ea77357bb264ef0f8ded7)
Change-Id: I3e84488fc246f6c28cbd82e96d0cd4343a12c28a
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;
}
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));