aboutsummaryrefslogtreecommitdiffstats
path: root/modules/extra/ssl_openssl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/extra/ssl_openssl.cpp')
-rw-r--r--modules/extra/ssl_openssl.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/modules/extra/ssl_openssl.cpp b/modules/extra/ssl_openssl.cpp
index d13fa4e58..1f63c24e3 100644
--- a/modules/extra/ssl_openssl.cpp
+++ b/modules/extra/ssl_openssl.cpp
@@ -723,7 +723,8 @@ public:
{
ERR_clear_error();
char* buffer = ServerInstance->GetReadBuffer();
- int ret = SSL_read(sess, buffer, ServerInstance->Config->NetBufferSize);
+ int bufsiz = static_cast<int>(std::min<size_t>(ServerInstance->Config->NetBufferSize, INT_MAX));
+ int ret = SSL_read(sess, buffer, bufsiz);
if (!CheckRenego(user))
return -1;
@@ -786,7 +787,7 @@ public:
ERR_clear_error();
FlattenSendQueue(sendq, GetProfile().GetOutgoingRecordSize());
const StreamSocket::SendQueue::Element& buffer = sendq.front();
- int ret = SSL_write(sess, buffer.data(), buffer.size());
+ int ret = SSL_write(sess, buffer.data(), static_cast<int>(buffer.size()));
if (!CheckRenego(user))
return -1;