diff options
-rw-r--r-- | src/modules/m_ident.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/modules/m_ident.cpp b/src/modules/m_ident.cpp index cacb405cb..040e856d4 100644 --- a/src/modules/m_ident.cpp +++ b/src/modules/m_ident.cpp @@ -52,7 +52,7 @@ class RFC1413 : public InspSocket // so we just display a notice, and tidy off the ident_data. if (u && (Instance->SE->GetRef(ufd) == u)) { - char *newident; + char newident[MAXBUF]; u->Shrink("ident_data"); u->WriteServ("NOTICE "+std::string(u->nick)+" :*** Could not find your ident, using ~"+std::string(u->ident)+" instead."); strcpy(newident,"~"); @@ -221,7 +221,14 @@ class ModuleIdent : public Module user->Extend("ident_data", (char*)ident); } else + { + char newident[MAXBUF]; + user->WriteServ("NOTICE "+std::string(user->nick)+" :*** Could not find your ident, using ~"+std::string(user->ident)+" instead."); + strcpy(newident,"~"); + strlcat(newident,user->ident,IDENTMAX); + strlcpy(user->ident,newident,IDENTMAX); delete ident; + } } virtual bool OnCheckReady(userrec* user) |