diff --git a/Csocket.cpp b/Csocket.cpp index afec535e..2a00f58d 100644 --- a/Csocket.cpp +++ b/Csocket.cpp @@ -2116,10 +2116,15 @@ int Csock::GetPending() // returns an int, they don't bother returning in error to notify us, so basically // we have to always clear errors here generated by SSL_pending, otherwise the stack could // have a lame error on it causing SSL_write to fail in certain instances. +#if OPENSSL_VERSION_NUMBER >= 0x00908 ERR_set_mark(); int iBytes = SSL_pending( m_ssl ); ERR_pop_to_mark(); return( iBytes ); +#else + int iBytes = SSL_pending( m_ssl ); + ERR_clear_error(); // to get safer handling, upgrade your openssl version! +#endif /* OPENSSL_VERSION_NUMBER */ } else return( 0 );