Use proper integer types when handling TLS exchanges

tls_t.build takes a size_t argument not a ssize_t.
This commit is contained in:
Tobias Brunner
2013-03-22 11:40:57 +01:00
parent 03237238b8
commit 79306b7e6e
+6 -5
View File
@@ -156,7 +156,8 @@ METHOD(tls_application_t, build, status_t,
static bool exchange(private_tls_socket_t *this, bool wr, bool block) static bool exchange(private_tls_socket_t *this, bool wr, bool block)
{ {
char buf[CRYPTO_BUF_SIZE], *pos; char buf[CRYPTO_BUF_SIZE], *pos;
ssize_t len, out; ssize_t in, out;
size_t len;
int round = 0, flags; int round = 0, flags;
for (round = 0; TRUE; round++) for (round = 0; TRUE; round++)
@@ -214,8 +215,8 @@ static bool exchange(private_tls_socket_t *this, bool wr, bool block)
flags |= MSG_DONTWAIT; flags |= MSG_DONTWAIT;
} }
} }
len = recv(this->fd, buf, sizeof(buf), flags); in = recv(this->fd, buf, sizeof(buf), flags);
if (len < 0) if (in < 0)
{ {
if (errno == EAGAIN || errno == EWOULDBLOCK) if (errno == EAGAIN || errno == EWOULDBLOCK)
{ {
@@ -229,11 +230,11 @@ static bool exchange(private_tls_socket_t *this, bool wr, bool block)
} }
return FALSE; return FALSE;
} }
if (len == 0) if (in == 0)
{ /* EOF */ { /* EOF */
return TRUE; return TRUE;
} }
switch (this->tls->process(this->tls, buf, len)) switch (this->tls->process(this->tls, buf, in))
{ {
case NEED_MORE: case NEED_MORE:
break; break;