From 5f13e27cd63be637586cf3dd1b6fdf5c98e93328 Mon Sep 17 00:00:00 2001 From: Jorge Arellano Cid Date: Fri, 2 Sep 2011 16:50:03 -0300 Subject: Cancel the expected URL after offering a download, part 2 (BUG#982) There was a convoluted way of using an already freed bw: first, one bw asks for a page, and that becomes conn->bw, and then another bw starts also asking for the page, and the first bw closes, invalidating the conn->bw, and then the second bw closes and the cancel expect code tries to use the old bw. Fixed now. --- src/cache.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/cache.c') diff --git a/src/cache.c b/src/cache.c index 5ea45511..3804ac7e 100644 --- a/src/cache.c +++ b/src/cache.c @@ -1176,6 +1176,8 @@ static CacheEntry_t *Cache_process_queue(CacheEntry_t *entry) } } if (AbortEntry) { + if (ClientWeb->flags & WEB_RootUrl) + a_Nav_cancel_expect_if_eq(Client_bw, Client->Url); a_Bw_remove_client(Client_bw, Client->Key); Cache_client_dequeue(Client, NULLKey); --i; /* Keep the index value in the next iteration */ -- cgit v1.2.3