summaryrefslogtreecommitdiff
path: root/voice_engine/voe_network_impl.cc
diff options
context:
space:
mode:
authorhenrika@webrtc.org <henrika@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d>2013-09-24 15:42:49 +0000
committerhenrika@webrtc.org <henrika@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d>2013-09-24 15:42:49 +0000
commit8da2f653997d348799b6d28f00a3ff0dc2a03476 (patch)
tree74def5e7c70d01f8f423fba482553437e8cc067a /voice_engine/voe_network_impl.cc
parent3bd659f1040420b7ca90d0e7df368b083148d0e5 (diff)
downloadwebrtc-8da2f653997d348799b6d28f00a3ff0dc2a03476.tar.gz
Fix for Heap-use-after-free in webrtc::voe::Channel::SendRTCPPacket
Ensures that we always call DeRegisterExternalTransport() even if a fuzz test calls DeRegisterExternalTransport in an unintialized state. TBR=tommi BUG=296804 in crbug.com Review URL: https://webrtc-codereview.appspot.com/2275008 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@4827 4adac7df-926f-26a2-2b94-8c16560cd09d
Diffstat (limited to 'voice_engine/voe_network_impl.cc')
-rw-r--r--voice_engine/voe_network_impl.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/voice_engine/voe_network_impl.cc b/voice_engine/voe_network_impl.cc
index 0f4d5c28..d6651a5b 100644
--- a/voice_engine/voe_network_impl.cc
+++ b/voice_engine/voe_network_impl.cc
@@ -71,8 +71,9 @@ int VoENetworkImpl::DeRegisterExternalTransport(int channel)
"DeRegisterExternalTransport(channel=%d)", channel);
if (!_shared->statistics().Initialized())
{
- _shared->SetLastError(VE_NOT_INITED, kTraceError);
- return -1;
+ WEBRTC_TRACE(kTraceError, kTraceVoice,
+ VoEId(_shared->instance_id(), -1),
+ "DeRegisterExternalTransport() - invalid state");
}
voe::ChannelOwner ch = _shared->channel_manager().GetChannel(channel);
voe::Channel* channelPtr = ch.channel();