From 52d1fa8df5a66ed9853fc10526813ad42de6714c Mon Sep 17 00:00:00 2001 From: winlin Date: Fri, 2 May 2014 12:34:21 +0800 Subject: [PATCH] fix mem leak for send packet, always free in send msg. --- trunk/src/rtmp/srs_protocol_rtmp_stack.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/trunk/src/rtmp/srs_protocol_rtmp_stack.cpp b/trunk/src/rtmp/srs_protocol_rtmp_stack.cpp index 4b9faa17c..9aa632fb9 100644 --- a/trunk/src/rtmp/srs_protocol_rtmp_stack.cpp +++ b/trunk/src/rtmp/srs_protocol_rtmp_stack.cpp @@ -449,6 +449,10 @@ int SrsProtocol::do_send_and_free_message(SrsMessage* msg, SrsPacket* packet) { int ret = ERROR_SUCCESS; + // always free msg. + srs_assert(msg); + SrsAutoFree(SrsMessage, msg, false); + // we donot use the complex basic header, // ensure the basic header is 1bytes. if (msg->header.perfer_cid < 2) { @@ -732,9 +736,6 @@ int SrsProtocol::do_decode_message(SrsMessageHeader& header, SrsStream* stream, int SrsProtocol::send_and_free_message(SrsMessage* msg) { - srs_assert(msg); - SrsAutoFree(SrsMessage, msg, false); - return do_send_and_free_message(msg, NULL); }