diff --git a/src/transport.c b/src/transport.c index 43df76c..605e002 100644 --- a/src/transport.c +++ b/src/transport.c @@ -708,13 +708,14 @@ _libssh2_transport_write(LIBSSH2_SESSION * session, unsigned char *data, /* FIRST, check if we have a pending write to complete */ rc = send_existing(session, data, data_len, &ret); - if (rc || ret) { + if (rc) return rc; - } - /* default clear the bit */ session->socket_block_directions &= ~LIBSSH2_SESSION_BLOCK_OUTBOUND; + if (ret) + return rc; + encrypted = (session->state & LIBSSH2_STATE_NEWKEYS) ? 1 : 0; /* check if we should compress */