From 16e667a2cecf9492954333fc7949b6636072f941 Mon Sep 17 00:00:00 2001 From: cyberbotx Date: Sat, 22 Nov 2008 01:11:19 +0000 Subject: Replaced most uses of smalloc and scalloc with new, replaced most uses of free with delete. NOTE: This build is unstable due to lack of memory zeroing, this will be addresses in a future commit. git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@1783 5417fbe8-f217-4b02-8779-1006273d7864 --- src/modules/bs_fantasy_unban.c | 6 ++--- src/modules/cs_appendtopic.c | 6 +++-- src/modules/cs_enforce.c | 4 +-- src/modules/cs_tban.c | 6 ++--- src/modules/hs_request.c | 60 +++++++++++++++++++++--------------------- src/modules/ns_maxemail.c | 8 +++--- src/modules/ns_noop_convert.c | 6 ++--- src/modules/os_ignore_db.c | 56 +++++++++++++++++++-------------------- src/modules/os_info.c | 45 +++++++++++++++---------------- 9 files changed, 98 insertions(+), 99 deletions(-) (limited to 'src/modules') diff --git a/src/modules/bs_fantasy_unban.c b/src/modules/bs_fantasy_unban.c index 88920176a..f28e66233 100644 --- a/src/modules/bs_fantasy_unban.c +++ b/src/modules/bs_fantasy_unban.c @@ -6,8 +6,8 @@ * Please read COPYING and README for further details. * * Based on the original code of Epona by Lara. - * Based on the original code of Services by Andy Church. - * + * Based on the original code of Services by Andy Church. + * * $Id$ * */ @@ -62,7 +62,7 @@ int do_fantasy(int argc, char **argv) common_unban(ci, target); /* free target if needed (#852) */ - Anope_Free(target); + if (target) delete [] target; } return MOD_CONT; diff --git a/src/modules/cs_appendtopic.c b/src/modules/cs_appendtopic.c index 0e4ba12f8..01b7dc544 100644 --- a/src/modules/cs_appendtopic.c +++ b/src/modules/cs_appendtopic.c @@ -191,7 +191,7 @@ int my_cs_appendtopic(User * u) if (ci->last_topic) { snprintf(topic, sizeof(topic), "%s %s", ci->last_topic, newtopic); - free(ci->last_topic); + delete [] ci->last_topic; } else { strscpy(topic, newtopic, sizeof(topic)); } @@ -201,7 +201,7 @@ int my_cs_appendtopic(User * u) ci->last_topic_time = time(NULL); if (c->topic) - free(c->topic); + delete [] c->topic; c->topic = *topic ? sstrdup(topic) : NULL; strscpy(c->topic_setter, u->nick, NICKMAX); if (ircd->topictsbackward) @@ -225,6 +225,8 @@ int my_cs_appendtopic(User * u) } } } + if (newtopic) delete [] newtopic; + if (chan) delete [] chan; return MOD_CONT; } diff --git a/src/modules/cs_enforce.c b/src/modules/cs_enforce.c index 7d66bcb1a..9b36e966e 100644 --- a/src/modules/cs_enforce.c +++ b/src/modules/cs_enforce.c @@ -440,8 +440,8 @@ int my_cs_enforce(User * u) } } - if(chan) free(chan); - if(what) free(what); + if(chan) delete [] chan; + if(what) delete [] what; return MOD_CONT; } diff --git a/src/modules/cs_tban.c b/src/modules/cs_tban.c index 871b610ff..d402b952e 100644 --- a/src/modules/cs_tban.c +++ b/src/modules/cs_tban.c @@ -175,11 +175,11 @@ int do_tban(User * u) myFullHelpSyntax(u); } if (time) - free(time); + delete [] time; if (nick) - free(nick); + delete [] nick; if (chan) - free(chan); + delete [] chan; return MOD_CONT; } diff --git a/src/modules/hs_request.c b/src/modules/hs_request.c index 5eb7cc7f3..0c6e8966b 100644 --- a/src/modules/hs_request.c +++ b/src/modules/hs_request.c @@ -393,7 +393,7 @@ class HSRequest : public Module while (hs_request_head) hs_request_head = deleteHostCore(hs_request_head, NULL); - free(HSRequestDBName); + delete [] HSRequestDBName; } }; @@ -416,7 +416,7 @@ int hs_do_request(User * u) if (!nick || !rawhostmask) { if (rawhostmask) - free(rawhostmask); + delete [] rawhostmask; moduleNoticeLang(s_HostServ, u, LNG_REQUEST_SYNTAX); return MOD_CONT; } @@ -426,28 +426,28 @@ int hs_do_request(User * u) rawhostmask = myStrGetTokenRemainder(rawhostmask, '@', 1); /* get the remaining string */ if (!rawhostmask) { moduleNoticeLang(s_HostServ, u, LNG_REQUEST_SYNTAX); - free(vIdent); + delete [] vIdent; return MOD_CONT; } if (strlen(vIdent) > USERMAX - 1) { notice_lang(s_HostServ, u, HOST_SET_IDENTTOOLONG, USERMAX); - free(vIdent); - free(rawhostmask); + delete [] vIdent; + delete [] rawhostmask; return MOD_CONT; } else { for (s = vIdent; *s; s++) { if (!my_isvalidchar(*s)) { notice_lang(s_HostServ, u, HOST_SET_IDENT_ERROR); - free(vIdent); - free(rawhostmask); + delete [] vIdent; + delete [] rawhostmask; return MOD_CONT; } } } if (!ircd->vident) { notice_lang(s_HostServ, u, HOST_NO_VIDENT); - free(vIdent); - free(rawhostmask); + delete [] vIdent; + delete [] rawhostmask; return MOD_CONT; } } @@ -456,16 +456,16 @@ int hs_do_request(User * u) } else { notice_lang(s_HostServ, u, HOST_SET_TOOLONG, HOSTMAX); if (vIdent) - free(vIdent); - free(rawhostmask); + delete [] vIdent; + delete [] rawhostmask; return MOD_CONT; } if (!isValidHost(hostmask, 3)) { notice_lang(s_HostServ, u, HOST_SET_ERROR); if (vIdent) - free(vIdent); - free(rawhostmask); + delete [] vIdent; + delete [] rawhostmask; return MOD_CONT; } @@ -478,8 +478,8 @@ int hs_do_request(User * u) MSSendDelay); u->lastmemosend = now; if (vIdent) - free(vIdent); - free(rawhostmask); + delete [] vIdent; + delete [] rawhostmask; return MOD_CONT; } } @@ -493,8 +493,8 @@ int hs_do_request(User * u) } if (vIdent) - free(vIdent); - free(rawhostmask); + delete [] vIdent; + delete [] rawhostmask; return MOD_CONT; } @@ -540,7 +540,7 @@ void my_memo_lang(User * u, char *name, int z, int number, ...) va_end(va); memo_send(u, name, buffer, z); } - free(buf); + delete [] buf; } else { alog("%s: INVALID language string call, language: [%d], String [%d]", mod_current_module->name.c_str(), lang, number); } @@ -605,7 +605,7 @@ int hs_do_reject(User * u) if (!nick) { moduleNoticeLang(s_HostServ, u, LNG_REJECT_SYNTAX); if (reason) - free(reason); + delete [] reason; return MOD_CONT; } @@ -632,9 +632,9 @@ int hs_do_reject(User * u) moduleNoticeLang(s_HostServ, u, LNG_NO_REQUEST, nick); } - free(nick); + delete [] nick; if (reason) - free(reason); + delete [] reason; return MOD_CONT; } @@ -680,7 +680,7 @@ int hs_do_activate(User * u) moduleNoticeLang(s_HostServ, u, LNG_ACTIVATE_SYNTAX); } - free(nick); + delete [] nick; return MOD_CONT; } @@ -861,7 +861,7 @@ void hsreq_load_db(void) tmp = myStrGetToken(buf, ':', 3); if (tmp) { tmp_time = strtol(tmp, (char **) NULL, 16); - free(tmp); + delete [] tmp; } else { tmp_time = 0; } @@ -871,17 +871,17 @@ void hsreq_load_db(void) continue; } if (stricmp(vident, "(null)") == 0) { - free(vident); + delete [] vident; vident = NULL; } my_add_host_request(nick, vident, vhost, creator, tmp_time); - free(nick); - free(vhost); - free(creator); + delete [] nick; + delete [] vhost; + delete [] creator; if (vident) - free(vident); + delete [] vident; } - free(buf); + delete [] buf; } fclose(fp); @@ -952,7 +952,7 @@ void my_load_config(void) std::string tmp = config.ReadValue("hs_request", "database", HSREQ_DEFAULT_DBNAME, 0); if (HSRequestDBName) - free(HSRequestDBName); + delete [] HSRequestDBName; HSRequestDBName = sstrdup(tmp.c_str()); if (debug) diff --git a/src/modules/ns_maxemail.c b/src/modules/ns_maxemail.c index 29773dfe5..54a1494fa 100644 --- a/src/modules/ns_maxemail.c +++ b/src/modules/ns_maxemail.c @@ -154,7 +154,7 @@ int my_ns_register(User * u) return MOD_CONT; ret = check_email_limit_reached(email, u); - free(email); + delete [] email; return ret; } @@ -173,17 +173,17 @@ int my_ns_set(User * u) return MOD_CONT; if (stricmp(set, "email") != 0) { - free(set); + delete [] set; return MOD_CONT; } - free(set); + delete [] set; email = myStrGetToken(cur_buffer, ' ', 1); if (!email) return MOD_CONT; ret = check_email_limit_reached(email, u); - free(email); + delete [] email; return ret; } diff --git a/src/modules/ns_noop_convert.c b/src/modules/ns_noop_convert.c index bc9a59d02..58513ef44 100644 --- a/src/modules/ns_noop_convert.c +++ b/src/modules/ns_noop_convert.c @@ -82,7 +82,7 @@ class NSNOOPConvert : public Module ~NSNOOPConvert() { if (NSAutoOPDBName) - free(NSAutoOPDBName); + delete [] NSAutoOPDBName; } }; @@ -117,7 +117,7 @@ int mLoadData(void) if ((na = findnick(name))) { na->nc->flags |= NI_AUTOOP; } - free(name); + delete [] name; } } } @@ -136,7 +136,7 @@ int mLoadConfig(int argc, char **argv) std::string tmp = config.ReadValue("ns_noop_convert", "database", DEFAULT_DB_NAME, 0); if (NSAutoOPDBName) - free(NSAutoOPDBName); + delete [] NSAutoOPDBName; NSAutoOPDBName = sstrdup(tmp.c_str()); diff --git a/src/modules/os_ignore_db.c b/src/modules/os_ignore_db.c index 2984b3b20..55387fac3 100644 --- a/src/modules/os_ignore_db.c +++ b/src/modules/os_ignore_db.c @@ -111,7 +111,7 @@ class OSIgnoreDB : public Module save_ignore_db(); if (IgnoreDB) - free(IgnoreDB); + delete [] IgnoreDB; } }; @@ -125,7 +125,7 @@ void load_config(void) { std::string tmp = config.ReadValue("os_ignore", "database", DefIgnoreDB, 0); if (IgnoreDB) - free(IgnoreDB); + delete [] IgnoreDB; IgnoreDB = sstrdup(tmp.c_str()); if (debug) @@ -174,7 +174,7 @@ int backup_ignoredb(int argc, char **argv) { **************************************************************************/ void load_ignore_db(void) { - DBFile *dbptr = (DBFile *)scalloc(1, sizeof(DBFile)); + DBFile *dbptr = new DBFile; char *key, *value, *mask = NULL; int retval = 0; time_t expiry_time; @@ -188,7 +188,7 @@ void load_ignore_db(void) { /* Open the db, fill the rest of dbptr and allocate memory for key and value */ if (new_open_db_read(dbptr, &key, &value)) { - free(dbptr); + delete dbptr; return; /* Bang, an error occurred */ } @@ -198,12 +198,12 @@ void load_ignore_db(void) { if (retval == DB_READ_ERROR) { new_close_db(dbptr->fptr, &key, &value); - free(dbptr); + delete dbptr; return; } else if (retval == DB_EOF_ERROR) { new_close_db(dbptr->fptr, &key, &value); - free(dbptr); + delete dbptr; return; } else if (retval == DB_READ_BLOCKEND) { /* DB_READ_BLOCKEND */ /* Check if we have everything to add the ignore.. @@ -216,7 +216,7 @@ void load_ignore_db(void) { if (!ign) { /* Create a fresh entry.. */ - ign = (IgnoreData *)scalloc(sizeof(*ign), 1); + ign = new IgnoreData; ign->mask = (char *)sstrdup(mask); ign->time = expiry_time; ign->prev = NULL; @@ -236,7 +236,7 @@ void load_ignore_db(void) { } } - if (mask) free(mask); + if (mask) delete [] mask; mask = NULL; expiry_time = time(NULL); } else { /* DB_READ_SUCCESS */ @@ -246,7 +246,7 @@ void load_ignore_db(void) { /* mask */ if (!stricmp(key, "m")) { if (mask) - free(mask); + delete [] mask; mask = sstrdup(value); /* expiry time */ @@ -263,12 +263,12 @@ void load_ignore_db(void) { } /* else */ } /* while */ - free(dbptr); + delete dbptr; } void save_ignore_db(void) { - DBFile *dbptr = (DBFile *)scalloc(1, sizeof(DBFile)); + DBFile *dbptr = new DBFile; time_t now; IgnoreData *ign, *next; @@ -280,7 +280,7 @@ void save_ignore_db(void) { if (new_open_db_write(dbptr)) { rename(dbptr->temp_name, IgnoreDB); - free(dbptr); + delete dbptr; return; /* Bang, an error occurred */ } @@ -303,8 +303,8 @@ void save_ignore_db(void) { ignore = ign->next; if (ign->next) ign->next->prev = ign->prev; - free(ign->mask); - free(ign); + delete [] ign->mask; + delete ign; ign = NULL; } else { new_write_db_entry("m", dbptr, "%s", ign->mask); @@ -316,7 +316,7 @@ void save_ignore_db(void) { if (dbptr) { new_close_db(dbptr->fptr, NULL, NULL); /* close file */ remove(dbptr->temp_name); /* saved successfully, no need to keep the old one */ - free(dbptr); /* free the db struct */ + delete dbptr; /* free the db struct */ } } @@ -329,17 +329,17 @@ void save_ignore_db(void) { int new_open_db_read(DBFile *dbptr, char **key, char **value) { - *key = (char *)malloc(MAXKEYLEN); - *value = (char *)malloc(MAXVALLEN); + *key = new char [MAXKEYLEN]; + *value = new char [MAXVALLEN]; if (!(dbptr->fptr = fopen(dbptr->filename, "rb"))) { if (debug) { alog("debug: Can't read %s database %s : errno(%d)", dbptr->service, dbptr->filename, errno); } - free(*key); + delete [] *key; *key = NULL; - free(*value); + delete [] *value; *value = NULL; return DB_READ_ERROR; } @@ -350,9 +350,9 @@ int new_open_db_read(DBFile *dbptr, char **key, char **value) { if (debug) { alog("debug: Error reading version number on %s", dbptr->filename); } - free(*key); + delete [] *key; *key = NULL; - free(*value); + delete [] *value; *value = NULL; return DB_READ_ERROR; } else if (feof(dbptr->fptr)) { @@ -360,18 +360,18 @@ int new_open_db_read(DBFile *dbptr, char **key, char **value) { alog("debug: Error reading version number on %s: End of file detected", dbptr->filename); } - free(*key); + delete [] *key; *key = NULL; - free(*value); + delete [] *value; *value = NULL; return DB_EOF_ERROR; } else if (dbptr->db_version < 1) { if (debug) { alog("debug: Invalid version number (%d) on %s", dbptr->db_version, dbptr->filename); } - free(*key); + delete [] *key; *key = NULL; - free(*value); + delete [] *value; *value = NULL; return DB_VERSION_ERROR; } @@ -402,11 +402,11 @@ int new_open_db_write(DBFile *dbptr) { void new_close_db(FILE *fptr, char **key, char **value) { if (key && *key) { - free(*key); + delete [] *key; *key = NULL; } if (value && *value) { - free(*value); + delete [] *value; *value = NULL; } @@ -487,7 +487,7 @@ int new_write_db_entry(const char *key, DBFile *dbptr, const char *fmt, ...) { } remove(dbptr->filename); rename(dbptr->temp_name, dbptr->filename); - free(dbptr); + delete dbptr; dbptr = NULL; return DB_WRITE_ERROR; } diff --git a/src/modules/os_info.c b/src/modules/os_info.c index 731573f37..dbf72731c 100644 --- a/src/modules/os_info.c +++ b/src/modules/os_info.c @@ -332,17 +332,17 @@ class OSInfo : public Module char *c; if (nc->GetExt("os_modinfo", c)); { - free(c); + delete [] c; nc->Shrink("os_modinfo"); } } } av[0] = sstrdup(EVENT_START); mSaveData(1, av); - free(av[0]); + delete [] av[0]; if (OSInfoDBName) - free(OSInfoDBName); + delete [] OSInfoDBName; } }; @@ -382,14 +382,14 @@ int myAddNickInfo(User * u) /* ok we've found the user */ if ((na = findnick(nick))) { /* Add the module data to the user */ - na->nc->Extend("os_info", strdup(info)); + na->nc->Extend("os_info", sstrdup(info)); moduleNoticeLang(s_NickServ, u, OINFO_ADD_SUCCESS, nick); /* NickCore not found! */ } else { notice_lang(s_NickServ, u, NICK_X_NOT_REGISTERED, nick); } - free(info); + delete [] info; } } else if (strcasecmp(cmd, "DEL") == 0) { /* ok we've found the user */ @@ -398,7 +398,7 @@ int myAddNickInfo(User * u) char *c; if (na->nc->GetExt("os_info", c)) { - free(c); + delete [] c; na->nc->Shrink("os_info"); } @@ -412,12 +412,12 @@ int myAddNickInfo(User * u) } else { moduleNoticeLang(s_NickServ, u, OINFO_SYNTAX); } - free(cmd); - free(nick); + delete [] cmd; + delete [] nick; /* Syntax error */ } else if (cmd) { moduleNoticeLang(s_NickServ, u, OINFO_SYNTAX); - free(cmd); + delete [] cmd; /* Syntax error */ } else { moduleNoticeLang(s_NickServ, u, OINFO_SYNTAX); @@ -455,14 +455,14 @@ int myAddChanInfo(User * u) if (info) { if ((ci = cs_findchan(chan))) { /* Add the module data to the channel */ - ci->Extend("os_info", strdup(info)); + ci->Extend("os_info", sstrdup(info)); moduleNoticeLang(s_ChanServ, u, OCINFO_ADD_SUCCESS, chan); /* ChanInfo */ } else { notice_lang(s_ChanServ, u, CHAN_X_NOT_REGISTERED, chan); } - free(info); + delete [] info; } } else if (strcasecmp(cmd, "DEL") == 0) { if ((ci = cs_findchan(chan))) { @@ -470,7 +470,7 @@ int myAddChanInfo(User * u) char *c; if (ci->GetExt("os_info", c)) { - free(c); + delete [] c; ci->Shrink("os_info"); } moduleNoticeLang(s_ChanServ, u, OCINFO_DEL_SUCCESS, chan); @@ -483,12 +483,12 @@ int myAddChanInfo(User * u) } else { moduleNoticeLang(s_ChanServ, u, OCINFO_SYNTAX); } - free(cmd); - free(chan); + delete [] cmd; + delete [] chan; /* Syntax error */ } else if (cmd) { moduleNoticeLang(s_ChanServ, u, OCINFO_SYNTAX); - free(cmd); + delete [] cmd; /* Syntax error */ } else { moduleNoticeLang(s_ChanServ, u, OCINFO_SYNTAX); @@ -525,11 +525,8 @@ int myNickInfo(User * u) { notice_user(s_NickServ, u, " OperInfo: %s", c); } - /* NickCore not found! */ - } else { - /* we dont care! */ } - free(nick); + delete [] nick; } } } @@ -562,7 +559,7 @@ int myChanInfo(User * u) notice_user(s_ChanServ, u, " OperInfo: %s", c); } } - free(chan); + delete [] chan; } } } @@ -615,11 +612,11 @@ int mLoadData(void) na->nc->Extend("os_info", strdup(info)); } } - free(info); + delete [] info; } - free(name); + delete [] name; } - free(type); + delete [] type; } } } @@ -702,7 +699,7 @@ int mLoadConfig(void) std::string tmp = config.ReadValue("os_info", "database", DEFAULT_DB_NAME, 0); if (OSInfoDBName) - free(OSInfoDBName); + delete [] OSInfoDBName; OSInfoDBName = sstrdup(tmp.c_str()); -- cgit