From: Tobias Brunner Date: Fri, 22 Mar 2013 10:36:48 +0000 (+0100) Subject: Use proper integer types when handling TLS exchanges X-Git-Tag: 5.0.3rc1~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=79306b7e6e8210c68d26ccfaf987b24bfb11623d;p=thirdparty%2Fstrongswan.git Use proper integer types when handling TLS exchanges tls_t.build takes a size_t argument not a ssize_t. --- diff --git a/src/libtls/tls_socket.c b/src/libtls/tls_socket.c index 58b511809a..9a494c6da8 100644 --- a/src/libtls/tls_socket.c +++ b/src/libtls/tls_socket.c @@ -156,7 +156,8 @@ METHOD(tls_application_t, build, status_t, static bool exchange(private_tls_socket_t *this, bool wr, bool block) { char buf[CRYPTO_BUF_SIZE], *pos; - ssize_t len, out; + ssize_t in, out; + size_t len; int round = 0, flags; for (round = 0; TRUE; round++) @@ -214,8 +215,8 @@ static bool exchange(private_tls_socket_t *this, bool wr, bool block) flags |= MSG_DONTWAIT; } } - len = recv(this->fd, buf, sizeof(buf), flags); - if (len < 0) + in = recv(this->fd, buf, sizeof(buf), flags); + if (in < 0) { if (errno == EAGAIN || errno == EWOULDBLOCK) { @@ -229,11 +230,11 @@ static bool exchange(private_tls_socket_t *this, bool wr, bool block) } return FALSE; } - if (len == 0) + if (in == 0) { /* EOF */ return TRUE; } - switch (this->tls->process(this->tls, buf, len)) + switch (this->tls->process(this->tls, buf, in)) { case NEED_MORE: break;