1
0
mirror of https://github.com/anope/anope.git synced 2026-07-05 12:43:13 +02:00

git-svn-id: svn://svn.anope.org/anope/trunk@993 31f1291d-b8d6-0310-a050-a5561fc1590b

git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@718 5417fbe8-f217-4b02-8779-1006273d7864
This commit is contained in:
certus certus@31f1291d-b8d6-0310-a050-a5561fc1590b
2006-03-01 18:55:30 +00:00
parent 035e196c0f
commit cb7dc8881a
3 changed files with 37 additions and 1 deletions
+1
View File
@@ -26,6 +26,7 @@ Provided by Anope Dev. <dev@anope.org> - 2006
03/01 F Fixed memleak in os_mode.c. [#444]
03/01 F Fixed memleak in do_mass_mode(). [#450]
03/01 F Fixed memleaks in cs_list.c, hs_list.c and ns_list.c. [#447]
03/01 F Fixed memleaks in hs_set.c. [#441]
Provided by nenolod. <nenolod@nenolod.net> - 2006
02/03 A Support for Charybdis IRCd. [ #00]
+31
View File
@@ -81,6 +81,7 @@ int myDoSet(User * u)
if (!nick || !rawhostmask) {
notice_lang(s_HostServ, u, HOST_SET_SYNTAX, s_HostServ);
free(hostmask);
return MOD_CONT;
}
@@ -89,21 +90,32 @@ int myDoSet(User * u)
rawhostmask = myStrGetTokenRemainder(rawhostmask, '@', 1); /* get the remaining string */
if (!rawhostmask) {
notice_lang(s_HostServ, u, HOST_SET_SYNTAX, s_HostServ);
free(vIdent);
free(hostmask);
return MOD_CONT;
}
if (strlen(vIdent) > USERMAX - 1) {
notice_lang(s_HostServ, u, HOST_SET_IDENTTOOLONG, USERMAX);
free(vIdent);
free(rawhostmask);
free(hostmask);
return MOD_CONT;
} else {
for (s = vIdent; *s; s++) {
if (!isvalidchar(*s)) {
notice_lang(s_HostServ, u, HOST_SET_IDENT_ERROR);
free(vIdent);
free(rawhostmask);
free(hostmask);
return MOD_CONT;
}
}
}
if (!ircd->vident) {
notice_lang(s_HostServ, u, HOST_NO_VIDENT);
free(vIdent);
free(rawhostmask);
free(hostmask);
return MOD_CONT;
}
}
@@ -111,11 +123,21 @@ int myDoSet(User * u)
snprintf(hostmask, HOSTMAX - 1, "%s", rawhostmask);
else {
notice_lang(s_HostServ, u, HOST_SET_TOOLONG, HOSTMAX);
if (vIdent) {
free(vIdent);
free(rawhostmask);
}
free(hostmask);
return MOD_CONT;
}
if (!isValidHost(hostmask, 3)) {
notice_lang(s_HostServ, u, HOST_SET_ERROR);
if (vIdent) {
free(vIdent);
free(rawhostmask);
}
free(hostmask);
return MOD_CONT;
}
@@ -125,6 +147,11 @@ int myDoSet(User * u)
if ((na = findnick(nick))) {
if (na->status & NS_VERBOTEN) {
notice_lang(s_HostServ, u, NICK_X_FORBIDDEN, nick);
if (vIdent) {
free(vIdent);
free(rawhostmask);
}
free(hostmask);
return MOD_CONT;
}
if (vIdent && ircd->vident) {
@@ -143,5 +170,9 @@ int myDoSet(User * u)
notice_lang(s_HostServ, u, HOST_NOREG, nick);
}
free(hostmask);
if (vIdent) {
free(vIdent);
free(rawhostmask);
}
return MOD_CONT;
}
+5 -1
View File
@@ -9,10 +9,14 @@ VERSION_MAJOR="1"
VERSION_MINOR="7"
VERSION_PATCH="13"
VERSION_EXTRA="-svn"
VERSION_BUILD="992"
VERSION_BUILD="993"
# $Log$
#
# BUILD : 1.7.13 (993)
# BUGS : 441
# NOTES : Fixed memleak in hs_set.c
#
# BUILD : 1.7.13 (992)
# BUGS : 450 447
# NOTES : Fixed more memleaks.