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

BUILD : 1.7.10 (815) BUGS : 383 NOTES : Added value checking for deleting ignores, which fixes a (very rare) segfault

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


git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@568 5417fbe8-f217-4b02-8779-1006273d7864
This commit is contained in:
geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b
2005-05-25 16:33:45 +00:00
parent 9f88e2d9fe
commit ea4ae84f85
4 changed files with 32 additions and 21 deletions
+1
View File
@@ -1,6 +1,7 @@
Anope Version S V N
--------------------
Provided by Anope Dev. <dev@anope.org> - 2005
05/25 F Segfault when clearing non-existing nick '0' from ignore list. [#383]
05/25 F Removed a double extern definition of rdb_tag_table. [#381]
05/25 F Fixed mydbgen so it sends the pass and installs in the data dir. [ #00]
05/25 F Not all nick options were displayed in listnicks. [#380]
+3
View File
@@ -171,6 +171,9 @@ void delete_ignore(const char *nick)
if (stricmp(ign->who, nick) == 0)
break;
}
/* If the ignore was not found, bail out -GD */
if (!ign)
return;
if (prev)
prev->next = ign->next;
else
+23 -20
View File
@@ -99,30 +99,33 @@ IgnoreData *get_ignore(const char *nick)
break;
}
}
if (!finished && whichlist2) {
for (ign = *whichlist2, prev = NULL; ign;
prev = ign, ign = ign->next) {
if (match_usermask(ign->who, u)) {
finished = 1;
break;
/* We can only do the next checks if we have an actual user -GD */
if (u) {
if (!finished && whichlist2) {
for (ign = *whichlist2, prev = NULL; ign;
prev = ign, ign = ign->next) {
if (match_usermask(ign->who, u)) {
finished = 1;
break;
}
}
}
}
if (!finished) {
for (ign = *whichlistast, prev = NULL; ign;
prev = ign, ign = ign->next) {
if (match_usermask(ign->who, u)) {
finished = 1;
break;
if (!finished) {
for (ign = *whichlistast, prev = NULL; ign;
prev = ign, ign = ign->next) {
if (match_usermask(ign->who, u)) {
finished = 1;
break;
}
}
}
}
if (!finished) {
for (ign = *whichlistqst, prev = NULL; ign;
prev = ign, ign = ign->next) {
if (match_usermask(ign->who, u)) {
finished = 1;
break;
if (!finished) {
for (ign = *whichlistqst, prev = NULL; ign;
prev = ign, ign = ign->next) {
if (match_usermask(ign->who, u)) {
finished = 1;
break;
}
}
}
}
+5 -1
View File
@@ -8,10 +8,14 @@
VERSION_MAJOR="1"
VERSION_MINOR="7"
VERSION_PATCH="10"
VERSION_BUILD="814"
VERSION_BUILD="815"
# $Log$
#
# BUILD : 1.7.10 (815)
# BUGS : 383
# NOTES : Added value checking for deleting ignores, which fixes a (very rare) segfault
#
# BUILD : 1.7.10 (814)
# BUGS : 381
# NOTES : Removed a double extern definition of rdb_tag_table; Fixed mydbgen so it sends the pass and installs in the data dir