summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2013-08-08 12:58:23 +0000
committerGordon Sim <gsim@apache.org>2013-08-08 12:58:23 +0000
commit91f8782b94d3d06e431d6eb24b20acd487d416a1 (patch)
tree5507c3fb25a2f5013b9d4dd24217b0331d95b097 /cpp/src
parent38d844df150f3e69bf4935540054717a612c449a (diff)
downloadqpid-python-91f8782b94d3d06e431d6eb24b20acd487d416a1.tar.gz
QPID-5054: check whether topic actually exists in delete request
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1511762 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/qpid/broker/amqp/Topic.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/cpp/src/qpid/broker/amqp/Topic.cpp b/cpp/src/qpid/broker/amqp/Topic.cpp
index 7d77343f26..77561d1111 100644
--- a/cpp/src/qpid/broker/amqp/Topic.cpp
+++ b/cpp/src/qpid/broker/amqp/Topic.cpp
@@ -117,8 +117,12 @@ bool TopicRegistry::deleteObject(Broker& broker, const std::string& type, const
{
if (type == TOPIC) {
boost::shared_ptr<Topic> topic = remove(name);
- if (topic->isDurable()) broker.getStore().destroy(*topic);
- return true;
+ if (topic) {
+ if (topic->isDurable()) broker.getStore().destroy(*topic);
+ return true;
+ } else {
+ return false;
+ }
} else {
return false;
}