diff options
author | Adam <Adam@anope.org> | 2013-12-01 21:16:50 -0500 |
---|---|---|
committer | Adam <Adam@anope.org> | 2013-12-01 21:16:50 -0500 |
commit | b5966cf99e2b1ffd578e0aa371803cb17013956f (patch) | |
tree | e8f678b15f30f1aa9ce6b3768218b619bac55170 /modules/database/db_old.cpp | |
parent | faab2c67937cf23ef87dfa0b8d0224bfabd61425 (diff) |
Fix crash from loading exceptions with db_old and then unloading db_old
Diffstat (limited to 'modules/database/db_old.cpp')
-rw-r--r-- | modules/database/db_old.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/modules/database/db_old.cpp b/modules/database/db_old.cpp index 37405e308..c017eb681 100644 --- a/modules/database/db_old.cpp +++ b/modules/database/db_old.cpp @@ -1070,6 +1070,9 @@ static void LoadOper() static void LoadExceptions() { + if (!session_service) + return; + dbFILE *f = open_db_read("OperServ", "exception.db", 9); if (f == NULL) return; @@ -1090,17 +1093,14 @@ static void LoadExceptions() READ(read_int32(&time, f)); READ(read_int32(&expires, f)); - Exception *exception = new Exception(); + Exception *exception = session_service->CreateException(); exception->mask = mask; exception->limit = limit; exception->who = who; exception->time = time; exception->expires = expires; exception->reason = reason; - if (session_service) - session_service->AddException(exception); - else - delete exception; + session_service->AddException(exception); } close_db(f); |