From e433401fb883584d32b9b8159370ee57823b01bf Mon Sep 17 00:00:00 2001 From: Peter Powell Date: Wed, 2 Jan 2019 20:21:21 +0000 Subject: [PATCH] Fix a crash when trying to use ROUTE_TYPE_MESSAGE with no message. --- src/modules/m_spanningtree/postcommand.cpp | 5 ++++- src/modules/m_spanningtree/utils.cpp | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/modules/m_spanningtree/postcommand.cpp b/src/modules/m_spanningtree/postcommand.cpp index 448bb3b54..d3eab825f 100644 --- a/src/modules/m_spanningtree/postcommand.cpp +++ b/src/modules/m_spanningtree/postcommand.cpp @@ -101,7 +101,10 @@ void SpanningTreeUtilities::RouteCommand(TreeServer* origin, CommandBase* thiscm return; // TODO OnBuildExemptList hook was here CUList exempts; - SendChannelMessage(user->uuid, c, parameters[1], pfx, parameters.GetTags(), exempts, command.c_str(), origin ? origin->GetSocket() : NULL); + std::string message; + if (parameters.size() >= 2) + message.assign(parameters[1]); + SendChannelMessage(user->uuid, c, message, pfx, parameters.GetTags(), exempts, command.c_str(), origin ? origin->GetSocket() : NULL); } else if (dest[0] == '$') { diff --git a/src/modules/m_spanningtree/utils.cpp b/src/modules/m_spanningtree/utils.cpp index 42eb80de5..1f2ed9c90 100644 --- a/src/modules/m_spanningtree/utils.cpp +++ b/src/modules/m_spanningtree/utils.cpp @@ -359,7 +359,9 @@ void SpanningTreeUtilities::SendChannelMessage(const std::string& prefix, Channe msg.push_raw(' '); if (status != 0) msg.push_raw(status); - msg.push_raw(target->name).push_last(text); + msg.push_raw(target->name); + if (!text.empty()) + msg.push_last(text); TreeSocketSet list; this->GetListOfServersForChannel(target, list, status, exempt_list); -- 2.39.2