From: Nick Mathewson Date: Thu, 21 Apr 2011 17:39:00 +0000 (-0400) Subject: Fix a bug in removing DNSPort requests from their circular list X-Git-Tag: tor-0.2.2.25-alpha~14^2^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e98583594d897ac32745061143e565c6f4b45f97;p=thirdparty%2Ftor.git Fix a bug in removing DNSPort requests from their circular list Under heavy load, this could result in an assertion failure. Fix for bug 2933; bugfix on 0.2.0.10-alpha. --- diff --git a/changes/bug2933 b/changes/bug2933 new file mode 100644 index 0000000000..7aaf526112 --- /dev/null +++ b/changes/bug2933 @@ -0,0 +1,4 @@ + o Minor bugfixes + - Fix an uncommon assertion failure when running with DNSPort under + heavy load. Fixes bug 2933; bugfix on 2.0.1-alpha. + diff --git a/src/or/eventdns.c b/src/or/eventdns.c index a889e803ed..2777f90989 100644 --- a/src/or/eventdns.c +++ b/src/or/eventdns.c @@ -1949,7 +1949,7 @@ server_request_free(struct server_request *req) if (req->port) { if (req->port->pending_replies == req) { - if (req->next_pending) + if (req->next_pending && req->next_pending != req) req->port->pending_replies = req->next_pending; else req->port->pending_replies = NULL;