summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjiayl@webrtc.org <jiayl@webrtc.org>2014-09-08 21:43:43 +0000
committerjiayl@webrtc.org <jiayl@webrtc.org>2014-09-08 21:43:43 +0000
commitdf1715c072051a2cd387e4896d25a55889ecc110 (patch)
tree2677732b143e0d6738a8af4debf88b42d483abe5
parent5e09ab5d40e8dfc4f8ffcbf02e890494cb0ee3a4 (diff)
downloadtalk-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.cc8
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".