From 1c07aed2fc819818c69de69c3bb5d747675fedeb Mon Sep 17 00:00:00 2001 From: winlin Date: Fri, 21 Aug 2020 21:23:32 +0800 Subject: [PATCH] Fix bugs --- trunk/src/app/srs_app_rtc_conn.cpp | 18 +++++++++--------- trunk/src/app/srs_app_rtc_sdp.cpp | 2 +- trunk/src/kernel/srs_kernel_rtc_rtcp.cpp | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/trunk/src/app/srs_app_rtc_conn.cpp b/trunk/src/app/srs_app_rtc_conn.cpp index a06b0089d..8c448a4fa 100644 --- a/trunk/src/app/srs_app_rtc_conn.cpp +++ b/trunk/src/app/srs_app_rtc_conn.cpp @@ -1450,15 +1450,7 @@ SrsRtcConnection::SrsRtcConnection(SrsRtcServer* s, SrsContextId context_id) SrsRtcConnection::~SrsRtcConnection() { srs_freep(timer_); - - // Note that we should never delete the sendonly_skt, - // it's just point to the object in peer_addresses_. - map::iterator it; - for (it = peer_addresses_.begin(); it != peer_addresses_.end(); ++it) { - SrsUdpMuxSocket* addr = it->second; - srs_freep(addr); - } - + // Cleanup publishers. for(map::iterator it = publishers_.begin(); it != publishers_.end(); ++it) { SrsRtcPublishStream* publisher = it->second; @@ -1475,6 +1467,14 @@ SrsRtcConnection::~SrsRtcConnection() players_.clear(); players_ssrc_map_.clear(); + // Note that we should never delete the sendonly_skt, + // it's just point to the object in peer_addresses_. + map::iterator it; + for (it = peer_addresses_.begin(); it != peer_addresses_.end(); ++it) { + SrsUdpMuxSocket* addr = it->second; + srs_freep(addr); + } + srs_freep(transport_); srs_freep(req); srs_freep(stat_); diff --git a/trunk/src/app/srs_app_rtc_sdp.cpp b/trunk/src/app/srs_app_rtc_sdp.cpp index f03a3d992..4b428ace1 100644 --- a/trunk/src/app/srs_app_rtc_sdp.cpp +++ b/trunk/src/app/srs_app_rtc_sdp.cpp @@ -318,7 +318,7 @@ vector SrsMediaDesc::find_media_with_encoding_name(const st { std::vector payloads; - std::string lower_name, upper_name; + std::string lower_name(encoding_name), upper_name(encoding_name); transform(encoding_name.begin(), encoding_name.end(), lower_name.begin(), ::tolower); transform(encoding_name.begin(), encoding_name.end(), upper_name.begin(), ::toupper); diff --git a/trunk/src/kernel/srs_kernel_rtc_rtcp.cpp b/trunk/src/kernel/srs_kernel_rtc_rtcp.cpp index d9b4be257..feebb14fe 100644 --- a/trunk/src/kernel/srs_kernel_rtc_rtcp.cpp +++ b/trunk/src/kernel/srs_kernel_rtc_rtcp.cpp @@ -166,7 +166,7 @@ uint8_t SrsRtcpApp::get_subtype() const string SrsRtcpApp::get_name() const { - return string((char*)name_); + return string((char*)name_, strnlen((char*)name_, 4)); } srs_error_t SrsRtcpApp::get_payload(uint8_t*& payload, int& len)