BUG/MINOR: mux-h2: make sure the h2c task exists before refreshing it

When detaching a stream, if it's the last one and the mbuf is blocked,
we leave without freeing the stream yet. We also refresh the h2c task's
timeout, except that it's possible that there's no such task in case
there is no client timeout, causing a crash. The fix just consists in
doing this when the task exists.

This bug has always been there and is extremely hard to meet even
without a client timeout. This fix has to be backported to all
branches, but it's unlikely anyone has ever met it anyay.

(cherry picked from commit 3fb2c6d5b40bf64d7e4f3fef88739b757555fbff)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit 5573b86da519086cfa78a0df821f675e25a34b7c)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit acbb81d9cb0cc70638c2bbcadc9c740fc3e7b17b)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit 275ff916caa4d645c2a47989206b08ffc8ce4551)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
1 file changed