]> git.ipfire.org Git - thirdparty/squid.git/commit
Fixed assertion related to TCP_RESET feature
authorwessels <>
Sat, 19 May 2007 00:30:41 +0000 (00:30 +0000)
committerwessels <>
Sat, 19 May 2007 00:30:41 +0000 (00:30 +0000)
commit52c2c8a8da771d331956ce2808fbd7c98ada56dc
tree93aa2972607642a60389e2729ef7820b3096e2c7
parent58d7150df96c07cd96a82e53ffe3466170e32c05
Fixed assertion related to TCP_RESET feature

When 'deny_info TCP_RESET' was used (and triggered), Squid asserted
in connNoteUseOfBuffer().  Because we called comm_reset_close() in
clientReplyContext::sendMoreData(), the ClientHttpRequest was freed
before http->doCallouts() returned.  Thus we were accessing freed
memory and passing a bad value to connNoteUseOfBuffer().

I've moved the comm_reset_close() call from there to
clientProcessRequest().  I dont really like having it in
clientProcessRequest(), but it seems to be the only place that will
work.  At least this way we can avoid the destroying ClientHttpRequest
before clientProcessRequest() reaches 'finish'.
src/client_side.cc
src/client_side_reply.cc