summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorcertus certus@31f1291d-b8d6-0310-a050-a5561fc1590b <certus certus@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2006-06-16 21:31:20 +0000
committercertus certus@31f1291d-b8d6-0310-a050-a5561fc1590b <certus certus@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2006-06-16 21:31:20 +0000
commitee9aa52d7fc4782b79748bc144145651e070d335 (patch)
tree7fbd54ea81204ff214c6b1ffd3007be4a0aeb150 /src
parent2eee213724d50fd77dcd9538fe68827562b9d841 (diff)
# BUILD : 1.7.14 (1052) # BUGS : # NOTES : Fixed several memleaks in ns_noop.c. Certus 4 teh win!
git-svn-id: svn://svn.anope.org/anope/trunk@1055 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@779 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src')
-rw-r--r--src/modules/ns_noop.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/modules/ns_noop.c b/src/modules/ns_noop.c
index 7ab163fc3..26836c25b 100644
--- a/src/modules/ns_noop.c
+++ b/src/modules/ns_noop.c
@@ -135,8 +135,10 @@ int noop(User * u)
moduleNoticeLang(s_NickServ, u, AUTOOP_NO_NICK);
} else if (!toggleStr) {
if ((na = findnick(u->nick))) {
- if (moduleGetData(&na->nc->moduleData, "autoop")) {
+ char *tmpstr = NULL;
+ if (tmpstr = moduleGetData(&na->nc->moduleData, "autoop")) {
moduleNoticeLang(s_NickServ, u, AUTOOP_STATUS_OFF);
+ free(tmpstr);
} else {
moduleNoticeLang(s_NickServ, u, AUTOOP_STATUS_ON);
}
@@ -213,21 +215,25 @@ int mEventJoin(int argc, char **argv)
/* Blame Rob if this user->na should be findnick(user->nick); -GD */
if (user && (na = user->na)) {
if (strcmp(argv[0], EVENT_START) == 0) {
- if (moduleGetData(&na->nc->moduleData, "autoop")) {
+ char *tmpstr = NULL;
+ if (tmpstr = moduleGetData(&na->nc->moduleData, "autoop")) {
currentUser = user;
if (is_oper(user)) {
user->mode &= ~(anope_get_oper_mode());
m_isIRCop = 1;
}
add_ignore(user->nick, 120);
+ free(tmpstr);
}
} else {
+ char *tmpstr = NULL;
/* Does the user have the autoop info in his moduleData? */
- if (moduleGetData(&na->nc->moduleData, "autoop")) {
+ if (tmpstr = moduleGetData(&na->nc->moduleData, "autoop")) {
/* The most dirty solution ever! - doc */
if (m_isIRCop)
user->mode |= anope_get_oper_mode();
delete_ignore(user->nick);
+ free(tmpstr);
}
}
}
@@ -296,9 +302,11 @@ int mSaveData(int argc, char **argv)
} else {
for (i = 0; i < 1024; i++) {
for (nc = nclists[i]; nc; nc = nc->next) {
+ char *tmpstr = NULL;
/* If we have any info on this user */
- if (moduleGetData(&nc->moduleData, "autoop")) {
+ if (tmpstr = moduleGetData(&nc->moduleData, "autoop")) {
fprintf(out, "%s\n", nc->display);
+ free(tmpstr);
}
}
}