Reset the rwstate before calling ASYNC_start_job()
[openssl.git] / ssl / ssl_lib.c
index 3d203051703ef3473fb9eb6a4e52b817e2cde361..aaedb4ae9485d4f533c1a1079f32fddaad8a2ce1 100644 (file)
@@ -1770,6 +1770,8 @@ static int ssl_start_async_job(SSL *s, struct ssl_async_args *args,
                  (s->waitctx, ssl_async_wait_ctx_cb, s))
             return -1;
     }
+
+    s->rwstate = SSL_NOTHING;
     switch (ASYNC_start_job(&s->job, s->waitctx, &ret, func, args,
                             sizeof(struct ssl_async_args))) {
     case ASYNC_ERR: