summaryrefslogtreecommitdiff
path: root/qpid/cpp/src
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2013-05-03 03:25:42 +0000
committerAlan Conway <aconway@apache.org>2013-05-03 03:25:42 +0000
commitc6c6b897f76f3d5711798260d24a3a0df7032e80 (patch)
tree1d442fd006c2cf8eb0dc81fe045cd5919722ca94 /qpid/cpp/src
parentba9f80714ae4870c01b450b4f89cfa87d51a6827 (diff)
downloadqpid-python-c6c6b897f76f3d5711798260d24a3a0df7032e80.tar.gz
QPID-4775: Fix core dumps in HA tests introduced in r1478418
After this revision several of the tests in ha_tests.py were core dumping with 0 pointers in FieldTable entries in Queue::settings. It's not clear why the core dumps were occuring nor why this patch fixes them. This patch eliminates a call to the QueueSettings copy constructor, so something fishy going is on there. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1478632 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src')
-rw-r--r--qpid/cpp/src/qpid/broker/Broker.cpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/qpid/cpp/src/qpid/broker/Broker.cpp b/qpid/cpp/src/qpid/broker/Broker.cpp
index bf296696cf..94583aa507 100644
--- a/qpid/cpp/src/qpid/broker/Broker.cpp
+++ b/qpid/cpp/src/qpid/broker/Broker.cpp
@@ -1197,13 +1197,12 @@ void Broker::deleteQueue(const std::string& name, const std::string& userId,
if (queue) {
if (acl) {
std::map<acl::Property, std::string> params;
- const qpid::broker::QueueSettings settings = queue->getSettings();
boost::shared_ptr<Exchange> altEx = queue->getAlternateExchange();
params.insert(make_pair(acl::PROP_ALTERNATE, (altEx) ? altEx->getName() : "" ));
params.insert(make_pair(acl::PROP_DURABLE, queue->isDurable() ? _TRUE : _FALSE));
params.insert(make_pair(acl::PROP_EXCLUSIVE, queue->hasExclusiveOwner() ? _TRUE : _FALSE));
params.insert(make_pair(acl::PROP_AUTODELETE, queue->isAutoDelete() ? _TRUE : _FALSE));
- params.insert(make_pair(acl::PROP_POLICYTYPE, settings.dropMessagesAtLimit ? "ring" : "reject"));
+ params.insert(make_pair(acl::PROP_POLICYTYPE, queue->getSettings().dropMessagesAtLimit ? "ring" : "reject"));
if (!acl->authorise(userId,acl::ACT_DELETE,acl::OBJ_QUEUE,name,&params) )
throw framing::UnauthorizedAccessException(QPID_MSG("ACL denied queue delete request from " << userId));