summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorcyberbotx <cyberbotx@5417fbe8-f217-4b02-8779-1006273d7864>2008-11-22 01:11:19 +0000
committercyberbotx <cyberbotx@5417fbe8-f217-4b02-8779-1006273d7864>2008-11-22 01:11:19 +0000
commit16e667a2cecf9492954333fc7949b6636072f941 (patch)
tree746164afdc56c0a30dea0f1736c4129c1f1ad422 /src
parent1532aa675f7c28b8ff0061ebc21f374d36d89d65 (diff)
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
Diffstat (limited to 'src')
-rw-r--r--src/actions.c2
-rw-r--r--src/base64.c2
-rw-r--r--src/bots.cpp10
-rw-r--r--src/botserv.c32
-rw-r--r--src/channels.c95
-rw-r--r--src/chanserv.c101
-rw-r--r--src/core/bs_badwords.c8
-rw-r--r--src/core/bs_bot.c68
-rw-r--r--src/core/bs_fantasy_kick.c8
-rw-r--r--src/core/bs_fantasy_kickban.c4
-rw-r--r--src/core/bs_fantasy_seen.c2
-rw-r--r--src/core/cs_akick.c50
-rw-r--r--src/core/cs_clear.c6
-rw-r--r--src/core/cs_identify.c6
-rw-r--r--src/core/cs_list.c14
-rw-r--r--src/core/cs_logout.c6
-rw-r--r--src/core/cs_register.c2
-rw-r--r--src/core/cs_set.c10
-rw-r--r--src/core/cs_suspend.c4
-rw-r--r--src/core/cs_topic.c4
-rw-r--r--src/core/hs_group.c10
-rw-r--r--src/core/hs_list.c8
-rw-r--r--src/core/hs_set.c54
-rw-r--r--src/core/hs_setall.c54
-rw-r--r--src/core/ms_del.c6
-rw-r--r--src/core/ns_access.c6
-rw-r--r--src/core/ns_drop.c2
-rw-r--r--src/core/ns_forbid.c2
-rw-r--r--src/core/ns_group.c12
-rw-r--r--src/core/ns_identify.c14
-rw-r--r--src/core/ns_list.c10
-rw-r--r--src/core/ns_register.c17
-rw-r--r--src/core/ns_saset.c6
-rw-r--r--src/core/ns_set.c10
-rw-r--r--src/core/ns_update.c6
-rw-r--r--src/core/os_akill.c4
-rw-r--r--src/core/os_chankill.c2
-rw-r--r--src/core/os_kick.c6
-rw-r--r--src/core/os_logonnews.c10
-rw-r--r--src/core/os_opernews.c8
-rw-r--r--src/core/os_quit.c6
-rw-r--r--src/core/os_reload.c6
-rw-r--r--src/core/os_restart.c6
-rw-r--r--src/core/os_shutdown.c6
-rw-r--r--src/datafiles.c20
-rw-r--r--src/events.c18
-rw-r--r--src/hostserv.c46
-rw-r--r--src/init.c2
-rw-r--r--src/language.c28
-rw-r--r--src/mail.c14
-rw-r--r--src/main.c20
-rw-r--r--src/memory.c15
-rw-r--r--src/memoserv.c2
-rw-r--r--src/misc.c22
-rw-r--r--src/module.cpp6
-rw-r--r--src/modules.c58
-rw-r--r--src/modules/bs_fantasy_unban.c6
-rw-r--r--src/modules/cs_appendtopic.c6
-rw-r--r--src/modules/cs_enforce.c4
-rw-r--r--src/modules/cs_tban.c6
-rw-r--r--src/modules/hs_request.c60
-rw-r--r--src/modules/ns_maxemail.c8
-rw-r--r--src/modules/ns_noop_convert.c6
-rw-r--r--src/modules/os_ignore_db.c56
-rw-r--r--src/modules/os_info.c45
-rw-r--r--src/news.c2
-rw-r--r--src/nickserv.c70
-rw-r--r--src/operserv.c70
-rw-r--r--src/process.c175
-rw-r--r--src/protocol/inspircd11.c3
-rw-r--r--src/protocol/inspircd12.cpp5
-rw-r--r--src/protocol/ratbox.c18
-rw-r--r--src/protocol/unreal32.c6
-rw-r--r--src/servers.c19
-rw-r--r--src/sessions.c18
-rw-r--r--src/timeout.c6
-rw-r--r--src/users.c68
77 files changed, 783 insertions, 830 deletions
diff --git a/src/actions.c b/src/actions.c
index c455dfa61..9d1a415d1 100644
--- a/src/actions.c
+++ b/src/actions.c
@@ -194,7 +194,7 @@ void common_unban(ChannelInfo * ci, char *nick)
}
/* host_resolve() sstrdup us this info so we gotta free it */
if (host) {
- free(host);
+ delete [] host;
}
}
diff --git a/src/base64.c b/src/base64.c
index 5a11b9237..87212fa00 100644
--- a/src/base64.c
+++ b/src/base64.c
@@ -405,6 +405,6 @@ long base64dects(const char *ts)
return strtoul(ts, NULL, 10);
}
value = base64dec(token);
- Anope_Free(token);
+ delete [] token;
return value;
}
diff --git a/src/bots.cpp b/src/bots.cpp
index a86f37076..90987f279 100644
--- a/src/bots.cpp
+++ b/src/bots.cpp
@@ -51,10 +51,10 @@ BotInfo::~BotInfo()
nbots--;
- free(this->nick);
- free(this->user);
- free(this->host);
- free(this->real);
+ delete [] this->nick;
+ delete [] this->user;
+ delete [] this->host;
+ delete [] this->real;
}
@@ -68,7 +68,7 @@ void BotInfo::ChangeNick(const char *newnick)
botlists[tolower(*this->nick)] = this->next;
if (this->nick)
- free(this->nick);
+ delete [] this->nick;
this->nick = sstrdup(newnick);
insert_bot(this);
diff --git a/src/botserv.c b/src/botserv.c
index 62b19fb1a..371294c8c 100644
--- a/src/botserv.c
+++ b/src/botserv.c
@@ -266,7 +266,7 @@ void botchanmsgs(User * u, ChannelInfo * ci, char *buf)
nbuf + strlen(nbuf) - len)))) {
mustkick = 1;
} else {
- char *wordbuf = (char *)scalloc(len + 3, 1);
+ char *wordbuf = new char[len + 3];
wordbuf[0] = ' ';
wordbuf[len + 1] = ' ';
@@ -281,7 +281,7 @@ void botchanmsgs(User * u, ChannelInfo * ci, char *buf)
}
/* free previous (sc)allocated memory (#850) */
- free(wordbuf);
+ delete [] wordbuf;
}
}
} else if (bw->type == BW_START) {
@@ -293,7 +293,7 @@ void botchanmsgs(User * u, ChannelInfo * ci, char *buf)
&& (!strnicmp(nbuf, bw->word, len)))) {
mustkick = 1;
} else {
- char *wordbuf = (char *)scalloc(len + 2, 1);
+ char *wordbuf = new char[len + 2];
memcpy(wordbuf + 1, bw->word, len);
wordbuf[0] = ' ';
@@ -304,7 +304,7 @@ void botchanmsgs(User * u, ChannelInfo * ci, char *buf)
&& (stristr(nbuf, wordbuf))))
mustkick = 1;
- free(wordbuf);
+ delete [] wordbuf;
}
} else if (bw->type == BW_END) {
int len = strlen(bw->word);
@@ -320,7 +320,7 @@ void botchanmsgs(User * u, ChannelInfo * ci, char *buf)
len)))) {
mustkick = 1;
} else {
- char *wordbuf = (char *)scalloc(len + 2, 1);
+ char *wordbuf = new char[len + 2];
memcpy(wordbuf, bw->word, len);
wordbuf[len] = ' ';
@@ -331,7 +331,7 @@ void botchanmsgs(User * u, ChannelInfo * ci, char *buf)
&& (stristr(nbuf, wordbuf))))
mustkick = 1;
- free(wordbuf);
+ delete [] wordbuf;
}
}
@@ -343,14 +343,14 @@ void botchanmsgs(User * u, ChannelInfo * ci, char *buf)
bot_kick(ci, u, BOT_REASON_BADWORD, bw->word);
/* free the normalized buffer before return (#850) */
- Anope_Free(nbuf);
+ delete [] nbuf;
return;
}
}
/* Free the normalized buffer */
- Anope_Free(nbuf);
+ delete [] nbuf;
}
/* Flood kicker */
@@ -382,7 +382,7 @@ void botchanmsgs(User * u, ChannelInfo * ci, char *buf)
return;
}
if (ud->lastline && stricmp(ud->lastline, buf)) {
- free(ud->lastline);
+ delete [] ud->lastline;
ud->lastline = sstrdup(buf);
ud->times = 0;
} else {
@@ -464,7 +464,7 @@ void load_bs_dbase(void)
SAFE(read_string(&s, f));
bi = new BotInfo(s);
- free(s);
+ delete [] s;
SAFE(read_string(&bi->user, f));
SAFE(read_string(&bi->host, f));
SAFE(read_string(&bi->real, f));
@@ -604,9 +604,9 @@ static BanData *get_ban_data(Channel * c, User * u)
else
c->bd = bd->next;
if (bd->mask)
- free(bd->mask);
+ delete [] bd->mask;
next = bd->next;
- free(bd);
+ delete bd;
continue;
}
if (!stricmp(bd->mask, mask)) {
@@ -617,7 +617,7 @@ static BanData *get_ban_data(Channel * c, User * u)
}
/* If we fall here it is that we haven't found the record */
- bd = (BanData *)scalloc(sizeof(BanData), 1);
+ bd = new BanData;
bd->mask = sstrdup(mask);
bd->last_use = now;
@@ -651,7 +651,7 @@ static UserData *get_user_data(Channel * c, User * u)
/* Checks whether data is obsolete */
if (now - user->ud->last_use > BSKeepData) {
if (user->ud->lastline)
- free(user->ud->lastline);
+ delete [] user->ud->lastline;
/* We should not free and realloc, but reset to 0
instead. */
memset(user->ud, 0, sizeof(UserData));
@@ -660,7 +660,7 @@ static UserData *get_user_data(Channel * c, User * u)
return user->ud;
} else {
- user->ud = (UserData *)scalloc(sizeof(UserData), 1);
+ user->ud = new UserData;
user->ud->last_use = time(NULL);
return user->ud;
}
@@ -989,7 +989,7 @@ char *normalizeBuffer(const char *buf)
int i, len, j = 0;
len = strlen(buf);
- newbuf = (char *) smalloc(sizeof(char) * len + 1);
+ newbuf = new char[len + 1];
for (i = 0; i < len; i++) {
switch (buf[i]) {
diff --git a/src/channels.c b/src/channels.c
index 8a24b3ddf..203f53751 100644
--- a/src/channels.c
+++ b/src/channels.c
@@ -35,8 +35,8 @@ void chan_deluser(User * user, Channel * c)
if (u->ud) {
if (u->ud->lastline)
- free(u->ud->lastline);
- free(u->ud);
+ delete [] u->ud->lastline;
+ delete u->ud;
}
if (u->next)
@@ -45,7 +45,7 @@ void chan_deluser(User * user, Channel * c)
u->prev->next = u->next;
else
c->users = u->next;
- free(u);
+ delete u;
c->usercount--;
if (s_BotServ && c->ci && c->ci->bi && c->usercount == BSMinUsers - 1) {
@@ -555,8 +555,8 @@ void do_join(const char *source, int ac, const char **av)
chan_deluser(user, c->chan);
send_event(EVENT_PART_CHANNEL, 3, EVENT_STOP, user->nick,
channame);
- free(channame);
- free(c);
+ delete [] channame;
+ delete c;
c = nextc;
}
user->chans = NULL;
@@ -649,7 +649,7 @@ void do_kick(const char *source, int ac, const char **av)
c->prev->next = c->next;
else
user->chans = c->next;
- free(c);
+ delete c;
}
}
}
@@ -707,11 +707,11 @@ void do_part(const char *source, int ac, const char **av)
c->prev->next = c->next;
else
user->chans = c->next;
- free(c);
+ delete c;
send_event(EVENT_PART_CHANNEL, (ac >= 2 ? 4 : 3), EVENT_STOP,
user->nick, channame, (ac >= 2 ? av[1] : ""));
- free(channame);
+ delete [] channame;
}
}
}
@@ -1027,7 +1027,7 @@ void do_sjoin(const char *source, int ac, const char **av)
alog("debug: SJOIN for nonexistent user %s on %s", s,
av[1]);
}
- free((char *)s);
+ delete [] s;
return;
}
@@ -1067,7 +1067,7 @@ void do_sjoin(const char *source, int ac, const char **av)
break;
s = end + 1;
}
- free((char *)s);
+ delete [] s;
} else if (ac == 2) {
if (ircd->ts6) {
user = find_byuid(source);
@@ -1224,17 +1224,17 @@ void do_topic(const char *source, int ac, const char **av)
if ((ac > 3) && *av[3] && ci && ci->last_topic
&& (strcmp(av[3], ci->last_topic) == 0)
&& (strcmp(topicsetter, ci->last_topic_setter) == 0)) {
- free(topicsetter);
+ delete [] topicsetter;
return;
}
if (check_topiclock(c, topic_time)) {
- free(topicsetter);
+ delete [] topicsetter;
return;
}
if (c->topic) {
- free(c->topic);
+ delete [] c->topic;
c->topic = NULL;
}
if (ac > 3 && *av[3]) {
@@ -1243,7 +1243,7 @@ void do_topic(const char *source, int ac, const char **av)
strscpy(c->topic_setter, topicsetter, sizeof(c->topic_setter));
c->topic_time = topic_time;
- free(topicsetter);
+ delete [] topicsetter;
record_topic(av[0]);
@@ -1435,7 +1435,7 @@ void chan_set_correct_modes(User * user, Channel * c, int give_modes)
if ((add_modes & CUS_OWNER) && !(status & CUS_OWNER)) {
tmp = stripModePrefix(ircd->ownerset);
strcat(modebuf, tmp);
- free(tmp);
+ delete [] tmp;
strcat(userbuf, " ");
strcat(userbuf, user->nick);
} else {
@@ -1444,7 +1444,7 @@ void chan_set_correct_modes(User * user, Channel * c, int give_modes)
if ((add_modes & CUS_PROTECT) && !(status & CUS_PROTECT)) {
tmp = stripModePrefix(ircd->adminset);
strcat(modebuf, tmp);
- free(tmp);
+ delete [] tmp;
strcat(userbuf, " ");
strcat(userbuf, user->nick);
} else {
@@ -1478,14 +1478,14 @@ void chan_set_correct_modes(User * user, Channel * c, int give_modes)
if (rem_modes & CUS_OWNER) {
tmp = stripModePrefix(ircd->ownerset);
strcat(modebuf, tmp);
- free(tmp);
+ delete [] tmp;
strcat(userbuf, " ");
strcat(userbuf, user->nick);
}
if (rem_modes & CUS_PROTECT) {
tmp = stripModePrefix(ircd->adminset);
strcat(modebuf, tmp);
- free(tmp);
+ delete [] tmp;
strcat(userbuf, " ");
strcat(userbuf, user->nick);
}
@@ -1526,7 +1526,7 @@ void chan_adduser2(User * user, Channel * c)
{
struct c_userlist *u;
- u = (struct c_userlist *)scalloc(sizeof(struct c_userlist), 1);
+ u = new c_userlist;
u->next = c->users;
if (c->users)
c->users->prev = u;
@@ -1591,7 +1591,7 @@ Channel *chan_create(const char *chan, time_t ts)
if (debug)
alog("debug: Creating channel %s", chan);
/* Allocate pre-cleared memory */
- c = (Channel *)scalloc(sizeof(Channel), 1);
+ c = new Channel;
strscpy(c->name, chan, sizeof(c->name));
list = &chanlist[HASH(c->name)];
c->next = *list;
@@ -1629,26 +1629,26 @@ void chan_delete(Channel * c)
for (bd = c->bd; bd; bd = next) {
if (bd->mask)
- free(bd->mask);
+ delete [] bd->mask;
next = bd->next;
- free(bd);
+ delete bd;
}
if (c->ci)
c->ci->c = NULL;
if (c->topic)
- free(c->topic);
+ delete [] c->topic;
if (c->key)
- free(c->key);
+ delete [] c->key;
if (ircd->fmode) {
if (c->flood)
- free(c->flood);
+ delete [] c->flood;
}
if (ircd->Lmode) {
if (c->redirect)
- free(c->redirect);
+ delete [] c->redirect;
}
if (c->bans && c->bans->count) {
@@ -1680,7 +1680,7 @@ void chan_delete(Channel * c)
else
chanlist[HASH(c->name)] = c->next;
- free(c);
+ delete c;
}
/*************************************************************************/
@@ -1800,7 +1800,7 @@ Channel *join_user_update(User * user, Channel * chan, const char *name,
if (debug)
alog("debug: %s joins %s", user->nick, chan->name);
- c = (u_chanlist *)scalloc(sizeof(*c), 1);
+ c = new u_chanlist;
c->next = user->chans;
if (user->chans)
user->chans->prev = c;
@@ -1817,7 +1817,7 @@ Channel *join_user_update(User * user, Channel * chan, const char *name,
void set_flood(Channel * chan, const char *value)
{
if (chan->flood)
- free(chan->flood);
+ delete [] chan->flood;
chan->flood = value ? sstrdup(value) : NULL;
if (debug)
@@ -1830,7 +1830,7 @@ void set_flood(Channel * chan, const char *value)
void chan_set_key(Channel * chan, const char *value)
{
if (chan->key)
- free(chan->key);
+ delete [] chan->key;
chan->key = value ? sstrdup(value) : NULL;
if (debug)
@@ -1854,7 +1854,7 @@ void set_limit(Channel * chan, const char *value)
void set_redirect(Channel * chan, const char *value)
{
if (chan->redirect)
- free(chan->redirect);
+ delete [] chan->redirect;
chan->redirect = value ? sstrdup(value) : NULL;
if (debug)
@@ -1880,7 +1880,7 @@ void do_mass_mode(char *modes)
for (c = firstchan(); c; c = nextchan()) {
if (c->bouncy_modes) {
free(av);
- free(myModes);
+ delete [] myModes;
return;
} else {
ircdproto->SendMode(findbot(s_OperServ), c->name, "%s", modes);
@@ -1888,7 +1888,7 @@ void do_mass_mode(char *modes)
}
}
free(av);
- free(myModes);
+ delete [] myModes;
}
/*************************************************************************/
@@ -1918,7 +1918,7 @@ Entry *entry_create(char *mask)
int do_free;
uint32 ip, cidr;
- entry = (Entry *)scalloc(1, sizeof(Entry));
+ entry = new Entry;
entry->type = ENTRYTYPE_NONE;
entry->prev = NULL;
entry->next = NULL;
@@ -2001,7 +2001,9 @@ Entry *entry_create(char *mask)
entry->type |= ENTRYTYPE_HOST;
}
}
- free(mask);
+ delete [] mask;
+ if (do_free)
+ delete [] host;
return entry;
}
@@ -2022,7 +2024,10 @@ Entry *entry_add(EList * list, const char *mask)
e = entry_create(hostmask);
if (!e)
+ {
+ delete [] hostmask;
return NULL;
+ }
e->next = list->entries;
e->prev = NULL;
@@ -2032,6 +2037,8 @@ Entry *entry_add(EList * list, const char *mask)
list->entries = e;
list->count++;
+ delete [] hostmask;
+
return e;
}
@@ -2055,13 +2062,13 @@ void entry_delete(EList * list, Entry * e)
list->entries = e->next;
if (e->nick)
- free(e->nick);
+ delete [] e->nick;
if (e->user)
- free(e->user);
+ delete [] e->user;
if (e->host)
- free(e->host);
- free(e->mask);
- free(e);
+ delete [] e->host;
+ delete [] e->mask;
+ delete e;
list->count--;
}
@@ -2075,7 +2082,7 @@ EList *list_create()
{
EList *list;
- list = (EList *)scalloc(1, sizeof(EList));
+ list = new EList;
list->entries = NULL;
list->count = 0;
@@ -2157,7 +2164,7 @@ int entry_match_mask(Entry * e, char *mask, uint32 ip)
res = entry_match(e, nick, user, host, ip);
/* Free the destroyed mask. */
- free(hostmask);
+ delete [] hostmask;
return res;
}
@@ -2225,7 +2232,7 @@ Entry *elist_match_mask(EList * list, char *mask, uint32 ip)
res = elist_match(list, nick, user, host, ip);
/* Free the destroyed mask. */
- free(hostmask);
+ delete [] hostmask;
return res;
}
@@ -2266,7 +2273,7 @@ Entry *elist_match_user(EList * list, User * u)
elist_match(list, u->nick, u->username, u->vhost, ip);
if (host)
- free(host);
+ delete [] host;
return res;
}
diff --git a/src/chanserv.c b/src/chanserv.c
index f42248098..944cd2e98 100644
--- a/src/chanserv.c
+++ b/