diff options
author | Jorge Arellano Cid <jcid@dillo.org> | 2011-09-02 16:50:03 -0300 |
---|---|---|
committer | Jorge Arellano Cid <jcid@dillo.org> | 2011-09-02 16:50:03 -0300 |
commit | 5f13e27cd63be637586cf3dd1b6fdf5c98e93328 (patch) | |
tree | 96029ac8a17e41ffc2abaaaebe5ccf72ddf96e86 /src/cache.c | |
parent | b182219ab37e1ed7256b547351c905d28ad90b1a (diff) |
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.
Diffstat (limited to 'src/cache.c')
-rw-r--r-- | src/cache.c | 2 |
1 files changed, 2 insertions, 0 deletions
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 */ |