BUG/MEDIUM: proxy: do not dereference strm_li(stream)
Some streams do not have a listener (eg: Lua's cosockets) so
let's check for this. For now this problem cannot happen but
it's definitely unsafe.
diff --git a/src/proxy.c b/src/proxy.c
index b690a81..fb62b7c 100644
--- a/src/proxy.c
+++ b/src/proxy.c
@@ -1141,7 +1141,9 @@
* be more reliable to store the list of analysers that have been run,
* but what we do here is OK for now.
*/
- s->req.analysers |= be->be_req_ana & ~strm_li(s)->analysers;
+ s->req.analysers |= be->be_req_ana;
+ if (strm_li(s))
+ s->req.analysers &= ~strm_li(s)->analysers;
/* If the target backend requires HTTP processing, we have to allocate
* the HTTP transaction and hdr_idx if we did not have one.