diff options
Diffstat (limited to 'src/modules/m_spanningtree/treesocket2.cpp')
-rw-r--r-- | src/modules/m_spanningtree/treesocket2.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/modules/m_spanningtree/treesocket2.cpp b/src/modules/m_spanningtree/treesocket2.cpp index 9f99a7416..68b5a7840 100644 --- a/src/modules/m_spanningtree/treesocket2.cpp +++ b/src/modules/m_spanningtree/treesocket2.cpp @@ -299,8 +299,10 @@ bool TreeSocket::ProcessLine(std::string &line) TreeServer *ServerSource = Utils->FindServer(prefix); if (ServerSource) { - Utils->ServerUser->server = ServerSource->GetName().c_str(); - Utils->ServerUser->uid = ServerSource->GetID(); + // ServerSource->GetName().c_str() may become invalid before it is used + Utils->ServerUser->nick = ServerSource->GetName().c_str(); + Utils->ServerUser->server = Utils->ServerUser->nick.c_str(); + Utils->ServerUser->uuid = ServerSource->GetID(); } /* Find the link we just got this from so we don't bounce it back incorrectly */ |