diff options
author | Ben Noordhuis <info@bnoordhuis.nl> | 2012-04-24 03:41:49 +0200 |
---|---|---|
committer | isaacs <i@izs.me> | 2012-06-09 08:10:03 -0700 |
commit | 26f754d9ddcdab02cbed4eab6c3f7a36907e8a13 (patch) | |
tree | 89dcbd5999eb28ccf381ef4fdf66ce18a0cabd66 | |
parent | c08357c32fd52c89a4f952ff9dd4ac0608adb88a (diff) | |
download | node-26f754d9ddcdab02cbed4eab6c3f7a36907e8a13.tar.gz |
v8: debug: fix error handling in SendConnectMessage()
The old error handling code checked if the return value of Socket::Send() != 0,
which is wrong because Socket::Send() can write less bytes than requested or
return -1 on error.
-rw-r--r-- | deps/v8/src/debug-agent.cc | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/deps/v8/src/debug-agent.cc b/deps/v8/src/debug-agent.cc index 511663d8e..bdc7a578a 100644 --- a/deps/v8/src/debug-agent.cc +++ b/deps/v8/src/debug-agent.cc @@ -323,41 +323,41 @@ bool DebuggerAgentUtil::SendConnectMessage(const Socket* conn, const char* embedding_host) { static const int kBufferSize = 80; char buffer[kBufferSize]; // Sending buffer. - bool ok; int len; + int r; // Send the header. len = OS::SNPrintF(Vector<char>(buffer, kBufferSize), "Type: connect\r\n"); - ok = conn->Send(buffer, len); - if (!ok) return false; + r = conn->Send(buffer, len); + if (r != len) return false; len = OS::SNPrintF(Vector<char>(buffer, kBufferSize), "V8-Version: %s\r\n", v8::V8::GetVersion()); - ok = conn->Send(buffer, len); - if (!ok) return false; + r = conn->Send(buffer, len); + if (r != len) return false; len = OS::SNPrintF(Vector<char>(buffer, kBufferSize), "Protocol-Version: 1\r\n"); - ok = conn->Send(buffer, len); - if (!ok) return false; + r = conn->Send(buffer, len); + if (r != len) return false; if (embedding_host != NULL) { len = OS::SNPrintF(Vector<char>(buffer, kBufferSize), "Embedding-Host: %s\r\n", embedding_host); - ok = conn->Send(buffer, len); - if (!ok) return false; + r = conn->Send(buffer, len); + if (r != len) return false; } len = OS::SNPrintF(Vector<char>(buffer, kBufferSize), "%s: 0\r\n", kContentLength); - ok = conn->Send(buffer, len); - if (!ok) return false; + r = conn->Send(buffer, len); + if (r != len) return false; // Terminate header with empty line. len = OS::SNPrintF(Vector<char>(buffer, kBufferSize), "\r\n"); - ok = conn->Send(buffer, len); - if (!ok) return false; + r = conn->Send(buffer, len); + if (r != len) return false; // No body for connect message. |