diff options
| author | frsyuki (none) <frsyuki@vcore.> | 2009-02-26 01:33:34 +0900 |
|---|---|---|
| committer | frsyuki (none) <frsyuki@vcore.> | 2009-02-26 01:33:34 +0900 |
| commit | 9b4b49a6a85f9044ebaffff71b2498a3cf6c8ae4 (patch) | |
| tree | fe56e65b802f87e0c428aa1ed858bcf1e8e391d8 | |
| parent | c0baf9b87349a0ba250aa8ecf0df420db506dcdd (diff) | |
| download | msgpack-python-9b4b49a6a85f9044ebaffff71b2498a3cf6c8ae4.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 |
