diff options
author | Adam- <Adam-@5417fbe8-f217-4b02-8779-1006273d7864> | 2010-05-30 03:01:33 +0000 |
---|---|---|
committer | Adam- <Adam-@5417fbe8-f217-4b02-8779-1006273d7864> | 2010-05-30 03:01:33 +0000 |
commit | 9b26a0dc0976c6bc31bfcaee4c25ef008984be8b (patch) | |
tree | 3b18ff1ed97bcc670009b4af77d22e58560a16ff | |
parent | 15c66af4e50ec2096268b858a68a4f51d086a5d9 (diff) |
Fixed a crash on shutdown when running Anope on Mac
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/stable@2991 5417fbe8-f217-4b02-8779-1006273d7864
-rw-r--r-- | src/core/os_logonnews.c | 19 | ||||
-rw-r--r-- | src/core/os_opernews.c | 20 | ||||
-rw-r--r-- | version.log | 3 |
3 files changed, 29 insertions, 13 deletions
diff --git a/src/core/os_logonnews.c b/src/core/os_logonnews.c index 60d101650..1880612c4 100644 --- a/src/core/os_logonnews.c +++ b/src/core/os_logonnews.c @@ -15,8 +15,6 @@ #include "module.h" -Command *c; - void myOperServHelp(User * u); int load_config(void); int reload_config(int argc, char **argv); @@ -29,6 +27,7 @@ int reload_config(int argc, char **argv); **/ int AnopeInit(int argc, char **argv) { + Command *c; EvtHook *hook; char buf[BUFSIZE]; @@ -62,7 +61,12 @@ int AnopeInit(int argc, char **argv) **/ void AnopeFini(void) { - free(c->help_param1); + Command *c = findCommand(OPERSERV, "LOGONNEWS"); + if (c && c->help_param1) + { + free(c->help_param1); + c->help_param1 = NULL; + } } @@ -83,12 +87,15 @@ void myOperServHelp(User * u) **/ int reload_config(int argc, char **argv) { char buf[BUFSIZE]; + Command *c; if (argc >= 1) { if (!stricmp(argv[0], EVENT_START)) { - free(c->help_param1); - snprintf(buf, BUFSIZE, "%d", NewsCount), - c->help_param1 = sstrdup(buf); + if ((c = findCommand(OPERSERV, "LOGONNEWS"))) { + free(c->help_param1); + snprintf(buf, BUFSIZE, "%d", NewsCount), + c->help_param1 = sstrdup(buf); + } } } diff --git a/src/core/os_opernews.c b/src/core/os_opernews.c index f64d95d9d..648d4f354 100644 --- a/src/core/os_opernews.c +++ b/src/core/os_opernews.c @@ -15,8 +15,6 @@ #include "module.h" -Command *c; - void myOperServHelp(User * u); int load_config(void); int reload_config(int argc, char **argv); @@ -29,6 +27,7 @@ int reload_config(int argc, char **argv); **/ int AnopeInit(int argc, char **argv) { + Command *c; EvtHook *hook; char buf[BUFSIZE]; @@ -62,7 +61,13 @@ int AnopeInit(int argc, char **argv) **/ void AnopeFini(void) { - free(c->help_param1); + Command *c = findCommand(OPERSERV, "OPERNEWS"); + + if (c && c->help_param1) + { + free(c->help_param1); + c->help_param1 = NULL; + } } @@ -82,12 +87,15 @@ void myOperServHelp(User * u) **/ int reload_config(int argc, char **argv) { char buf[BUFSIZE]; + Command *c; if (argc >= 1) { if (!stricmp(argv[0], EVENT_START)) { - free(c->help_param1); - snprintf(buf, BUFSIZE, "%d", NewsCount), - c->help_param1 = sstrdup(buf); + if ((c = findCommand(OPERSERV, "OPERNEWS"))) { + free(c->help_param1); + snprintf(buf, BUFSIZE, "%d", NewsCount), + c->help_param1 = sstrdup(buf); + } } } diff --git a/version.log b/version.log index 042409e4d..23516c1ee 100644 --- a/version.log +++ b/version.log @@ -9,9 +9,10 @@ VERSION_MAJOR="1" VERSION_MINOR="8" VERSION_PATCH="4" VERSION_EXTRA="-svn" -VERSION_BUILD="2981" +VERSION_BUILD="2991" # $Log$ # Changes since the 1.8.4 Release +#Revision 2991 - Fixed a crash on shutdown when running Anope on Mac #Revision 2981 - Fixed SQUITing juped servers on InspIRCd 1.2 #Revision 2978 - Added param to EVENT_CHANGE_NICK for old nickname #Revision 2976 - Added internal events called when nick is ghosted and when nick is recovered |