diff --git a/trunk/src/core/srs_core.hpp b/trunk/src/core/srs_core.hpp index 716c3c427..067c719ab 100644 --- a/trunk/src/core/srs_core.hpp +++ b/trunk/src/core/srs_core.hpp @@ -31,7 +31,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // current release version #define VERSION_MAJOR 3 #define VERSION_MINOR 0 -#define VERSION_REVISION 212 +#define VERSION_REVISION 213 // generated by configure, only macros. #include diff --git a/trunk/src/protocol/srs_rtmp_handshake.cpp b/trunk/src/protocol/srs_rtmp_handshake.cpp index 4641d6ac2..499f0995f 100644 --- a/trunk/src/protocol/srs_rtmp_handshake.cpp +++ b/trunk/src/protocol/srs_rtmp_handshake.cpp @@ -151,6 +151,11 @@ namespace _srs_internal } SrsDH::~SrsDH() + { + close(); + } + + void SrsDH::close() { if (pdh != NULL) { if (pdh->p != NULL) { @@ -249,7 +254,9 @@ namespace _srs_internal { int ret = ERROR_SUCCESS; - int32_t bits_count = 1024; + int32_t bits_count = 1024; + + close(); //1. Create the DH if ((pdh = DH_new()) == NULL) { diff --git a/trunk/src/protocol/srs_rtmp_handshake.hpp b/trunk/src/protocol/srs_rtmp_handshake.hpp index 944573ef1..9eea4f30d 100644 --- a/trunk/src/protocol/srs_rtmp_handshake.hpp +++ b/trunk/src/protocol/srs_rtmp_handshake.hpp @@ -59,6 +59,8 @@ namespace _srs_internal public: SrsDH(); virtual ~SrsDH(); + private: + virtual void close(); public: /** * initialize dh, generate the public and private key.