tcp_wrap: add sanity check asserts

pull/22966/head
Ben Noordhuis 2011-10-14 14:58:41 +00:00
parent 0dc844de17
commit 9193062e70
1 changed files with 10 additions and 0 deletions

View File

@ -5,6 +5,8 @@
#include <stream_wrap.h>
#include <tcp_wrap.h>
#include <stdlib.h>
// Temporary hack: libuv should provide uv_inet_pton and uv_inet_ntop.
#if defined(__MINGW32__) || defined(_MSC_VER)
extern "C" {
@ -150,6 +152,7 @@ Handle<Value> TCPWrap::GetSockName(const Arguments& args) {
SetErrno(uv_last_error(uv_default_loop()).code);
} else {
family = address.ss_family;
if (family == AF_INET) {
struct sockaddr_in* addrin = (struct sockaddr_in*)&address;
uv_inet_ntop(AF_INET, &(addrin->sin_addr), ip, INET6_ADDRSTRLEN);
@ -158,6 +161,9 @@ Handle<Value> TCPWrap::GetSockName(const Arguments& args) {
struct sockaddr_in6* addrin6 = (struct sockaddr_in6*)&address;
uv_inet_ntop(AF_INET6, &(addrin6->sin6_addr), ip, INET6_ADDRSTRLEN);
port = ntohs(addrin6->sin6_port);
} else {
assert(0 && "bad address family");
abort();
}
sockname->Set(port_symbol, Integer::New(port));
@ -188,6 +194,7 @@ Handle<Value> TCPWrap::GetPeerName(const Arguments& args) {
SetErrno(uv_last_error(uv_default_loop()).code);
} else {
family = address.ss_family;
if (family == AF_INET) {
struct sockaddr_in* addrin = (struct sockaddr_in*)&address;
uv_inet_ntop(AF_INET, &(addrin->sin_addr), ip, INET6_ADDRSTRLEN);
@ -196,6 +203,9 @@ Handle<Value> TCPWrap::GetPeerName(const Arguments& args) {
struct sockaddr_in6* addrin6 = (struct sockaddr_in6*)&address;
uv_inet_ntop(AF_INET6, &(addrin6->sin6_addr), ip, INET6_ADDRSTRLEN);
port = ntohs(addrin6->sin6_port);
} else {
assert(0 && "bad address family");
abort();
}
sockname->Set(port_symbol, Integer::New(port));