diff --git a/src/ssl.c b/src/ssl.c index 4dd4686..676ed38 100644 --- a/src/ssl.c +++ b/src/ssl.c @@ -382,9 +382,11 @@ static int meth_setfd(lua_State *L) */ static int meth_handshake(lua_State *L) { + int err; p_ssl ssl = (p_ssl)luaL_checkudata(L, 1, "SSL:Connection"); - int err = handshake(ssl); p_context ctx = (p_context)SSL_CTX_get_app_data(SSL_get_SSL_CTX(ssl->ssl)); + ctx->L = L; + err = handshake(ssl); if (ctx->dh_param) { DH_free(ctx->dh_param); ctx->dh_param = NULL;