We should zero stream->msg pointer in tfw_h2_stream_unlink_nolock function regardless of whether we delete the message directly in this function or not. If request is fully parsed it will be deleted later in tfw_http_resp_cache_cb->tfw_h2_resp_adjust_fwd and if we don't zero stream->msg in tfw_h2_stream_unlink_nolock we access already freed request in test_bit(TFW_HTTP_B_FULLY_PARSED, hmreq->flags).
We should zero
stream->msg
pointer intfw_h2_stream_unlink_nolock
function regardless of whether we delete the message directly in this function or not. If request is fully parsed it will be deleted later intfw_http_resp_cache_cb->tfw_h2_resp_adjust_fwd
and if we don't zerostream->msg
intfw_h2_stream_unlink_nolock
we access already freed request intest_bit(TFW_HTTP_B_FULLY_PARSED, hmreq->flags)
.Closes #2285