]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Fix a bug in removing DNSPort requests from their circular list
authorNick Mathewson <nickm@torproject.org>
Thu, 21 Apr 2011 17:39:00 +0000 (13:39 -0400)
committerNick Mathewson <nickm@torproject.org>
Thu, 21 Apr 2011 17:39:00 +0000 (13:39 -0400)
Under heavy load, this could result in an assertion failure.  Fix for
bug 2933; bugfix on 0.2.0.10-alpha.

changes/bug2933 [new file with mode: 0644]
src/or/eventdns.c

diff --git a/changes/bug2933 b/changes/bug2933
new file mode 100644 (file)
index 0000000..7aaf526
--- /dev/null
@@ -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.
+
index a889e803edad05e5e2fc1e14cd5fcb4c25ffc60e..2777f9098987db38863780c8ee4a5930f3e5e9ed 100644 (file)
@@ -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;