summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Noordhuis <info@bnoordhuis.nl>2012-04-24 03:41:49 +0200
committerisaacs <i@izs.me>2012-06-07 17:54:21 -0700
commit1fb9cfcdb197c108c1bd80f031c488242d761a1b (patch)
treef3cfdd3257ccfe44dec2ef17dc85de70215c3a35
parent43ff46becfd3b16869b20c3aa9ffabb8b45fb043 (diff)
downloadnode-1fb9cfcdb197c108c1bd80f031c488242d761a1b.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.cc26
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.