summaryrefslogtreecommitdiff
path: root/qpid/cpp
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
commitee187c3e89ddaea3ced38b6d9928cb29fac5b268 (patch)
treee4801b72be175294eabd8a7259f701c07b71176c /qpid/cpp
parent687332e83688f073a640b328d327e19b08e013bb (diff)
downloadqpid-python-ee187c3e89ddaea3ced38b6d9928cb29fac5b268.tar.gz
QPID-5054: check whether topic actually exists in delete request
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1511762 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp')
-rw-r--r--qpid/cpp/src/qpid/broker/amqp/Topic.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/qpid/cpp/src/qpid/broker/amqp/Topic.cpp b/qpid/cpp/src/qpid/broker/amqp/Topic.cpp
index 7d77343f26..77561d1111 100644
--- a/qpid/cpp/src/qpid/broker/amqp/Topic.cpp
+++ b/qpid/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;
}