summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/modules/m_ident.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/modules/m_ident.cpp b/src/modules/m_ident.cpp
index 669e9edbe..93fa498fc 100644
--- a/src/modules/m_ident.cpp
+++ b/src/modules/m_ident.cpp
@@ -212,7 +212,12 @@ class ModuleIdent : public Module
*/
user->WriteServ("NOTICE "+std::string(user->nick)+" :*** Looking up your ident...");
RFC1413* ident = new RFC1413(ServerInstance, user, IdentTimeout);
- user->Extend("ident_data", (char*)ident);
+ if ((ident->GetState() == I_CONNECTING) || (ident->GetState() == I_CONNECTED))
+ {
+ user->Extend("ident_data", (char*)ident);
+ }
+ else
+ delete ident;
}
virtual bool OnCheckReady(userrec* user)