diff options
Diffstat (limited to 'src/lib/encode_server_finder.cc')
| -rw-r--r-- | src/lib/encode_server_finder.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/lib/encode_server_finder.cc b/src/lib/encode_server_finder.cc index 3f5cb74f0..1d4ced595 100644 --- a/src/lib/encode_server_finder.cc +++ b/src/lib/encode_server_finder.cc @@ -227,6 +227,11 @@ EncodeServerFinder::handle_accept (boost::system::error_code ec) _accept_socket->read (reinterpret_cast<uint8_t*>(&length), sizeof(uint32_t)); length = ntohl (length); + if (length > 65536) { + start_accept(); + return; + } + scoped_array<char> buffer(new char[length]); _accept_socket->read (reinterpret_cast<uint8_t*>(buffer.get()), length); server_available = buffer.get(); |
