From a9579d3386009446d7527ef52fa28251ab8c3c2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tatuya=20JINMEI=20=E7=A5=9E=E6=98=8E=E9=81=94=E5=93=89?= Date: Tue, 5 Aug 2008 19:18:02 +0000 Subject: [PATCH] 2408. [bug] A duplicate TCP dispatch event could be sent, which could then trigger an assertion failure in resquery_response(). [RT #18275] --- CHANGES | 4 ++++ lib/dns/dispatch.c | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index 6731572f5d..74a3084a6d 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,7 @@ +2408. [bug] A duplicate TCP dispatch event could be sent, which + could then trigger an assertion failure in + resquery_response(). [RT #18275] + 2407. [port] hpux: test for sys/dyntune.h. [RT #18421] 2406. [bug] Sockets could be closed too early, leading to diff --git a/lib/dns/dispatch.c b/lib/dns/dispatch.c index 53916c07c1..1767c5523d 100644 --- a/lib/dns/dispatch.c +++ b/lib/dns/dispatch.c @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: dispatch.c,v 1.149 2008/07/23 23:27:54 marka Exp $ */ +/* $Id: dispatch.c,v 1.150 2008/08/05 19:18:02 jinmei Exp $ */ /*! \file */ @@ -3085,7 +3085,7 @@ do_cancel(dns_dispatch_t *disp) { */ LOCK(&qid->lock); for (resp = linear_first(qid); - resp != NULL && !resp->item_out; + resp != NULL && resp->item_out; /* Empty. */) resp = linear_next(qid, resp);