Browse Source

check max buffer size in Stream::Send

pull/1058/head
Jeff Becker 7 years ago
parent
commit
b3b38015c2
No known key found for this signature in database
GPG Key ID: F357B3B42F6F9B05
  1. 10
      libi2pd/Streaming.cpp

10
libi2pd/Streaming.cpp

@ -378,9 +378,15 @@ namespace stream
size_t Stream::Send (const uint8_t * buf, size_t len) size_t Stream::Send (const uint8_t * buf, size_t len)
{ {
// TODO: check max buffer size size_t sent = len;
while(len > MAX_PACKET_SIZE)
{
AsyncSend (buf, MAX_PACKET_SIZE, nullptr);
buf += MAX_PACKET_SIZE;
len -= MAX_PACKET_SIZE;
}
AsyncSend (buf, len, nullptr); AsyncSend (buf, len, nullptr);
return len; return sent;
} }
void Stream::AsyncSend (const uint8_t * buf, size_t len, SendHandler handler) void Stream::AsyncSend (const uint8_t * buf, size_t len, SendHandler handler)

Loading…
Cancel
Save