正在显示
4 个修改的文件
包含
13 行增加
和
2 行删除
@@ -340,6 +340,8 @@ Remark: | @@ -340,6 +340,8 @@ Remark: | ||
340 | 340 | ||
341 | ## History | 341 | ## History |
342 | 342 | ||
343 | +* v2.0, 2016-09-05, fix memory leak at handshake. 2.0.213 | ||
344 | +* v2.0, 2016-09-04, support valgrind for [patched st](https://github.com/ossrs/state-threads/issues/2). | ||
343 | * v2.0, 2016-09-03, support all arm for [patched st](https://github.com/ossrs/state-threads/issues/1). 2.0.212 | 345 | * v2.0, 2016-09-03, support all arm for [patched st](https://github.com/ossrs/state-threads/issues/1). 2.0.212 |
344 | * v2.0, 2016-09-01, workaround [#511][bug #511] the fly stfd in close. 2.0.211 | 346 | * v2.0, 2016-09-01, workaround [#511][bug #511] the fly stfd in close. 2.0.211 |
345 | * v2.0, 2016-08-30, comment the pcr. | 347 | * v2.0, 2016-08-30, comment the pcr. |
@@ -31,7 +31,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | @@ -31,7 +31,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
31 | // current release version | 31 | // current release version |
32 | #define VERSION_MAJOR 2 | 32 | #define VERSION_MAJOR 2 |
33 | #define VERSION_MINOR 0 | 33 | #define VERSION_MINOR 0 |
34 | -#define VERSION_REVISION 212 | 34 | +#define VERSION_REVISION 213 |
35 | 35 | ||
36 | // generated by configure, only macros. | 36 | // generated by configure, only macros. |
37 | #include <srs_auto_headers.hpp> | 37 | #include <srs_auto_headers.hpp> |
@@ -152,6 +152,11 @@ namespace _srs_internal | @@ -152,6 +152,11 @@ namespace _srs_internal | ||
152 | 152 | ||
153 | SrsDH::~SrsDH() | 153 | SrsDH::~SrsDH() |
154 | { | 154 | { |
155 | + close(); | ||
156 | + } | ||
157 | + | ||
158 | + void SrsDH::close() | ||
159 | + { | ||
155 | if (pdh != NULL) { | 160 | if (pdh != NULL) { |
156 | if (pdh->p != NULL) { | 161 | if (pdh->p != NULL) { |
157 | BN_free(pdh->p); | 162 | BN_free(pdh->p); |
@@ -249,7 +254,9 @@ namespace _srs_internal | @@ -249,7 +254,9 @@ namespace _srs_internal | ||
249 | { | 254 | { |
250 | int ret = ERROR_SUCCESS; | 255 | int ret = ERROR_SUCCESS; |
251 | 256 | ||
252 | - int32_t bits_count = 1024; | 257 | + int32_t bits_count = 1024; |
258 | + | ||
259 | + close(); | ||
253 | 260 | ||
254 | //1. Create the DH | 261 | //1. Create the DH |
255 | if ((pdh = DH_new()) == NULL) { | 262 | if ((pdh = DH_new()) == NULL) { |
@@ -59,6 +59,8 @@ namespace _srs_internal | @@ -59,6 +59,8 @@ namespace _srs_internal | ||
59 | public: | 59 | public: |
60 | SrsDH(); | 60 | SrsDH(); |
61 | virtual ~SrsDH(); | 61 | virtual ~SrsDH(); |
62 | + private: | ||
63 | + virtual void close(); | ||
62 | public: | 64 | public: |
63 | /** | 65 | /** |
64 | * initialize dh, generate the public and private key. | 66 | * initialize dh, generate the public and private key. |
-
请 注册 或 登录 后发表评论