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.

Bug: 18186310

(cherry picked from commit 0dc39f9952)

Change-Id: I3e84488fc246f6c28cbd82e96d0cd4343a12c28a
This commit is contained in:
Elliott Hughes 2014-09-22 17:43:09 -07:00 committed by Dmitriy Ivanov
parent d5eb10875a
commit 748fbe5c41
2 changed files with 3 additions and 3 deletions

View file

@ -475,8 +475,8 @@ static const prop_info *find_property(prop_bt *const trie, const char *name,
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;
}

View file

@ -215,7 +215,7 @@ static void send_debuggerd_packet(siginfo_t* info) {
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));