summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2006-12-23 23:18:34 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2006-12-23 23:18:34 +0000
commit72da54c1c2a4f4b59d852e79adaee3348c4874ad (patch)
tree7ba309c49d14970a78e60384d2f9133b617ac69f
parent74c8913f72e6d48c88a01155ef5fe5ca20cc2bb1 (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.cpp2
-rw-r--r--src/helperfuncs.cpp2
-rw-r--r--src/inspircd.cpp4
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);