BUG/MEDIUM: ssl: Don't do anything in ssl_subscribe if we have no ctx.

In ssl_subscribe(), make sure we have a ssl_sock_ctx before doing anything.
When ssl_sock_close() is called, it wakes any subscriber up, and that
subscriber may decide to subscribe again, for some reason. If we no longer
have a context, there's not much we can do.

This should be backported to 2.0.
This commit is contained in:
Olivier Houchard 2019-06-24 18:57:39 +02:00 committed by Olivier Houchard
parent 6c6dc58da0
commit 0ff28651c1

View File

@ -5553,6 +5553,9 @@ static int ssl_subscribe(struct connection *conn, void *xprt_ctx, int event_type
struct wait_event *sw;
struct ssl_sock_ctx *ctx = xprt_ctx;
if (!ctx)
return -1;
if (event_type & SUB_RETRY_RECV) {
sw = param;
BUG_ON(ctx->recv_wait != NULL || (sw->events & SUB_RETRY_RECV));