From 0e52772aa9d3dea65e2cd30187c4ff8e86f9eee4 Mon Sep 17 00:00:00 2001 From: "jiayl@webrtc.org" Date: Mon, 8 Sep 2014 21:43:43 +0000 Subject: [PATCH] Fix a bot-breaking memory leak from early returning in ParseMediaDescription. BUG=3791 R=henrike@webrtc.org, pbos@webrtc.org Review URL: https://webrtc-codereview.appspot.com/22589004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@7109 4adac7df-926f-26a2-2b94-8c16560cd09d --- talk/app/webrtc/webrtcsdp.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/talk/app/webrtc/webrtcsdp.cc b/talk/app/webrtc/webrtcsdp.cc index f4b38c5cda..0d47191eee 100644 --- a/talk/app/webrtc/webrtcsdp.cc +++ b/talk/app/webrtc/webrtcsdp.cc @@ -2210,20 +2210,20 @@ bool ParseMediaDescription(const std::string& message, codec_preference, pos, &content_name, &transport, candidates, error)); } else if (HasAttribute(line, kMediaTypeData)) { - DataContentDescription* desc = + DataContentDescription* data_desc = ParseContentDescription( message, cricket::MEDIA_TYPE_DATA, mline_index, protocol, codec_preference, pos, &content_name, &transport, candidates, error); + content.reset(data_desc); int p; - if (desc && protocol == cricket::kMediaProtocolDtlsSctp && + if (data_desc && protocol == cricket::kMediaProtocolDtlsSctp && rtc::FromString(fields[3], &p)) { - if (!AddSctpDataCodec(desc, p)) + if (!AddSctpDataCodec(data_desc, p)) return false; } - content.reset(desc); // We should always use the default bandwidth for RTP-based data // channels. Don't allow SDP to set the bandwidth, because that // would give JS the opportunity to "break the Internet".