Fix memory leak in datachannel and its test.

RISK=P3
TESTED=memcheck build
tools/valgrind-webrtc/webrtc_tests.sh --tool memcheck --test out/Debug/libjingle_peerconnection_unittest  --gtest_filter=SctpDataChannelTest*

R=mallinath@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1941005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4470 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
wu@webrtc.org 2013-08-01 22:08:14 +00:00
parent 0dc0f172a3
commit a054569c15
2 changed files with 7 additions and 5 deletions

View File

@ -336,9 +336,9 @@ void DataChannel::SendQueuedSendData() {
}
void DataChannel::ClearQueuedSendData() {
while (!queued_received_data_.empty()) {
DataBuffer* buffer = queued_received_data_.front();
queued_received_data_.pop();
while (!queued_send_data_.empty()) {
DataBuffer* buffer = queued_send_data_.front();
queued_send_data_.pop_front();
delete buffer;
}
}

View File

@ -49,12 +49,13 @@ class SctpDataChannelTest : public testing::Test {
new cricket::FakeDeviceManager(),
new cricket::CaptureManager(),
talk_base::Thread::Current())),
ms_signaling_(new webrtc::MediaStreamSignaling(
talk_base::Thread::Current(), NULL)),
session_(channel_manager_.get(),
talk_base::Thread::Current(),
talk_base::Thread::Current(),
NULL,
new webrtc::MediaStreamSignaling(talk_base::Thread::Current(),
NULL)),
ms_signaling_.get()),
webrtc_data_channel_(NULL) {}
virtual void SetUp() {
@ -90,6 +91,7 @@ class SctpDataChannelTest : public testing::Test {
cricket::FakeMediaEngine* media_engine_;
cricket::FakeDataEngine* data_engine_;
talk_base::scoped_ptr<cricket::ChannelManager> channel_manager_;
talk_base::scoped_ptr<webrtc::MediaStreamSignaling> ms_signaling_;
webrtc::WebRtcSession session_;
talk_base::scoped_refptr<webrtc::DataChannel> webrtc_data_channel_;
};