summaryrefslogtreecommitdiff
path: root/qpid/cpp
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2008-11-27 13:03:32 +0000
committerGordon Sim <gsim@apache.org>2008-11-27 13:03:32 +0000
commit8c02a05721a9453b19bb62045497abfaf038072a (patch)
treee8e855a8a722a45e2655628238f87848fe47812b /qpid/cpp
parente780d14f5b0fb319e048a69914b0524ab761ee0b (diff)
downloadqpid-python-8c02a05721a9453b19bb62045497abfaf038072a.tar.gz
Further check in decode of policy.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@721174 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp')
-rw-r--r--qpid/cpp/src/qpid/broker/Queue.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/qpid/cpp/src/qpid/broker/Queue.cpp b/qpid/cpp/src/qpid/broker/Queue.cpp
index a78744598c..d664e6e141 100644
--- a/qpid/cpp/src/qpid/broker/Queue.cpp
+++ b/qpid/cpp/src/qpid/broker/Queue.cpp
@@ -760,7 +760,7 @@ Queue::shared_ptr Queue::decode(QueueRegistry& queues, Buffer& buffer)
std::pair<Queue::shared_ptr, bool> result = queues.declare(name, true);
buffer.get(result.first->settings);
result.first->configure(result.first->settings);
- if (result.first->policy.get()) {
+ if (result.first->policy.get() && buffer.available() >= result.first->policy->encodedSize()) {
buffer.get ( *(result.first->policy) );
}
return result.first;