From: Peter Powell Date: Wed, 2 Jan 2019 20:21:21 +0000 (+0000) Subject: Fix a crash when trying to use ROUTE_TYPE_MESSAGE with no message. X-Git-Url: https://git.netwichtig.de/gitweb/?a=commitdiff_plain;ds=sidebyside;h=e433401fb883584d32b9b8159370ee57823b01bf;p=user%2Fhenk%2Fcode%2Finspircd.git Fix a crash when trying to use ROUTE_TYPE_MESSAGE with no message. --- 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);