From e2e4f4ddb1efd5cd2c60bb9120a9e389470736af Mon Sep 17 00:00:00 2001 From: Fish <> Date: Tue, 15 Apr 2008 04:01:56 +0000 Subject: [PATCH] Partially Fix NEO-426 (canx DNS errors) --- .gitattributes | 1 - ChangeLog | 1 + src/dns.c | 14 +++++++------- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.gitattributes b/.gitattributes index eb8162a2..348f09fc 100644 --- a/.gitattributes +++ b/.gitattributes @@ -4,7 +4,6 @@ /BUGS -text /COPYING -text /CREDITS -text -/ChangeLog -text /ChangeLog.old -text /INSTALL -text /INSTNOTES -text diff --git a/ChangeLog b/ChangeLog index 700ebafb..0946e3bb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,6 +5,7 @@ Fish (F), Mark (M), DeadNotBuried (D) =============================================================================== * NeoStats * Version 3.0.2 (F) - Bump Version (F) + - Partially fix the DNS related errors in NEO-426 (we were not canceling DNS queries successfully) (F) * NeoStats * Version 3.0.1 (F) - Fix Inspircd module Glining *@* (Neo-428) (F) diff --git a/src/dns.c b/src/dns.c index afd50d26..cda848a4 100644 --- a/src/dns.c +++ b/src/dns.c @@ -322,15 +322,14 @@ void canx_dns(Module *modptr) dnsdata = lnode_get(dnsnode); if (dnsdata->modptr == modptr) { adns_cancel(dnsdata->q); - ns_free (dnsdata->a); + if (dnsdata->a) ns_free (dnsdata->a); ns_free (dnsdata); lnode2 = list_next(dnslist, dnsnode); list_delete_destroy_node( dnslist, dnsnode ); dnsnode = lnode2; - } - if (dnsnode == NULL) - continue; - dnsnode = list_next(dnslist, dnsnode); + } else { + dnsnode = list_next(dnslist, dnsnode); + } } dnsnode = list_first(dnsqueue); while (dnsnode != NULL) { @@ -340,8 +339,9 @@ void canx_dns(Module *modptr) lnode2 = list_next(dnsqueue, dnsnode); list_delete_destroy_node( dnsqueue, dnsnode ); dnsnode = lnode2; - } - dnsnode = list_next(dnsqueue, dnsnode); + } else { + dnsnode = list_next(dnsqueue, dnsnode); + } } dns_check_queue(); }