diff options
author | frsyuki <frsyuki@vcore.(none)> | 2009-02-26 01:33:34 +0900 |
---|---|---|
committer | frsyuki <frsyuki@vcore.(none)> | 2009-02-26 01:33:34 +0900 |
commit | e7fe3be34dbae518af91eb671e4fee79bc32fb4e (patch) | |
tree | fe56e65b802f87e0c428aa1ed858bcf1e8e391d8 | |
parent | 980bb9cdd08bd3e5a0ff6021a45a1d880691c013 (diff) | |
download | msgpack-python-e7fe3be34dbae518af91eb671e4fee79bc32fb4e.tar.gz |
example: limit message size
-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 |