diff options
-rw-r--r-- | example/stream.cc | 4 | ||||
-rw-r--r-- | example/stream.rb | 5 |
2 files changed, 9 insertions, 0 deletions
diff --git a/example/stream.cc b/example/stream.cc index 8fd92f9..1e2e733 100644 --- a/example/stream.cc +++ b/example/stream.cc @@ -43,6 +43,10 @@ public: process_message(msg, life); } + + if(m_pac.message_size() > 10*1024*1024) { + throw std::runtime_error("message is too large"); + } } private: diff --git a/example/stream.rb b/example/stream.rb index e53ce82..a72f5b9 100644 --- a/example/stream.rb +++ b/example/stream.rb @@ -34,12 +34,17 @@ class Server @pk.reset @buffer.slice!(0, @nread) @nread = 0 + next unless @buffer.empty? end break end + if @buffer.length > 10*1024*1024 + raise "message is too large" + end + rescue puts "error while processing client packet: #{$!}" end |