diff options
author | jiayl@webrtc.org <jiayl@webrtc.org> | 2014-09-08 21:43:43 +0000 |
---|---|---|
committer | jiayl@webrtc.org <jiayl@webrtc.org> | 2014-09-08 21:43:43 +0000 |
commit | df1715c072051a2cd387e4896d25a55889ecc110 (patch) | |
tree | 2677732b143e0d6738a8af4debf88b42d483abe5 | |
parent | 5e09ab5d40e8dfc4f8ffcbf02e890494cb0ee3a4 (diff) | |
download | talk-df1715c072051a2cd387e4896d25a55889ecc110.tar.gz |
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/talk@7109 4adac7df-926f-26a2-2b94-8c16560cd09d
-rw-r--r-- | app/webrtc/webrtcsdp.cc | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/app/webrtc/webrtcsdp.cc b/app/webrtc/webrtcsdp.cc index f4b38c5..0d47191 100644 --- a/app/webrtc/webrtcsdp.cc +++ b/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<DataContentDescription>( 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". |