You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

28 lines
959 B

  1. commit 0e01256a314a6f432ab9826dc9b862e8159dbc48
  2. Author: Christopher Faulet <cfaulet@haproxy.com>
  3. Date: Wed Sep 18 11:07:20 2019 +0200
  4. BUG/MINOR: mux-h2: Be sure to have a connection to unsubcribe
  5. When the mux is released, It must own the connection to unsubcribe.
  6. This patch must be backported to 2.0.
  7. (cherry picked from commit 21d849f52fc64c51e5abf5a8bd69f2aeff8b3125)
  8. Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
  9. diff --git a/src/mux_h2.c b/src/mux_h2.c
  10. index 984a81bd..e6bfd03d 100644
  11. --- a/src/mux_h2.c
  12. +++ b/src/mux_h2.c
  13. @@ -677,9 +677,9 @@ static void h2_release(struct h2c *h2c)
  14. }
  15. if (h2c->wait_event.tasklet)
  16. tasklet_free(h2c->wait_event.tasklet);
  17. - if (h2c->wait_event.events != 0)
  18. + if (conn && h2c->wait_event.events != 0)
  19. conn->xprt->unsubscribe(conn, conn->xprt_ctx, h2c->wait_event.events,
  20. - &h2c->wait_event);
  21. + &h2c->wait_event);
  22. pool_free(pool_head_h2c, h2c);
  23. }