diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-12-23 23:18:34 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-12-23 23:18:34 +0000 |
commit | 72da54c1c2a4f4b59d852e79adaee3348c4874ad (patch) | |
tree | 7ba309c49d14970a78e60384d2f9133b617ac69f | |
parent | 74c8913f72e6d48c88a01155ef5fe5ca20cc2bb1 (diff) |
Crash on /rehash fixed (old code in here passed NULL, 0 as argc, argv, this is BAD BAD BAD.)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6081 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r-- | src/cmd_rehash.cpp | 2 | ||||
-rw-r--r-- | src/helperfuncs.cpp | 2 | ||||
-rw-r--r-- | src/inspircd.cpp | 4 |
3 files changed, 5 insertions, 3 deletions
diff --git a/src/cmd_rehash.cpp b/src/cmd_rehash.cpp index 518b7fbf4..7b9db22e0 100644 --- a/src/cmd_rehash.cpp +++ b/src/cmd_rehash.cpp @@ -36,7 +36,7 @@ CmdResult cmd_rehash::Handle (const char** parameters, int pcnt, userrec *user) { ServerInstance->WriteOpers("%s is rehashing config file %s",user->nick,ServerConfig::CleanFilename(CONFIG_FILE)); ServerInstance->CloseLog(); - ServerInstance->OpenLog(NULL,0); + ServerInstance->OpenLog(ServerInstance->Config->argv, ServerInstance->Config->argc); ServerInstance->RehashUsersAndChans(); ServerInstance->Config->Read(false,user); } diff --git a/src/helperfuncs.cpp b/src/helperfuncs.cpp index 506b6e2d6..fdbeb613f 100644 --- a/src/helperfuncs.cpp +++ b/src/helperfuncs.cpp @@ -429,8 +429,6 @@ bool InspIRCd::IsNick(const char* n) void InspIRCd::OpenLog(char** argv, int argc) { Config->MyDir = ServerConfig::GetFullProgDir(argv,argc); - Config->argv = argv; - Config->argc = argc; if (!*this->LogFileName) { diff --git a/src/inspircd.cpp b/src/inspircd.cpp index 5cfb55ab1..c8be0d019 100644 --- a/src/inspircd.cpp +++ b/src/inspircd.cpp @@ -266,6 +266,10 @@ InspIRCd::InspIRCd(int argc, char** argv) this->chanlist = new chan_hash(); this->Config = new ServerConfig(this); + + this->Config->argv = argv; + this->Config->argc = argc; + this->Config->opertypes.clear(); this->Config->operclass.clear(); this->SNO = new SnomaskManager(this); |