mgmt: fix Dispatcher::processControlCommandInterest memory error
refs #4059
Change-Id: I6655662f925bc5f40a2a2ec2b258a4accc29d58b
diff --git a/src/mgmt/dispatcher.hpp b/src/mgmt/dispatcher.hpp
index 7df61f7..a8b30b4 100644
--- a/src/mgmt/dispatcher.hpp
+++ b/src/mgmt/dispatcher.hpp
@@ -291,7 +291,7 @@
typedef std::function<void(const std::string& requester,
const Name& prefix,
const Interest& interest,
- const ControlParameters*)> AuthorizationAcceptedCallback;
+ const shared_ptr<ControlParameters>&)> AuthorizationAcceptedCallback;
typedef std::function<void(RejectReply act,
const Interest& interest)> AuthorizationRejectedCallback;
@@ -399,7 +399,7 @@
processAuthorizedControlCommandInterest(const std::string& requester,
const Name& prefix,
const Interest& interest,
- const ControlParameters* parameters,
+ const shared_ptr<ControlParameters>& parameters,
const ValidateParameters& validate,
const ControlCommandHandler& handler);
@@ -484,11 +484,11 @@
const ControlCommandHandler& handler)
{
if (!m_topLevelPrefixes.empty()) {
- throw std::domain_error("one or more top-level prefix has been added");
+ BOOST_THROW_EXCEPTION(std::domain_error("one or more top-level prefix has been added"));
}
if (isOverlappedWithOthers(relPrefix)) {
- throw std::out_of_range("relPrefix overlaps with another relPrefix");
+ BOOST_THROW_EXCEPTION(std::out_of_range("relPrefix overlaps with another relPrefix"));
}
ControlParametersParser parser =