From 9b0a820624cc754362227d4bf298ffdbd6fe18d4 Mon Sep 17 00:00:00 2001 From: "mflodman@webrtc.org" Date: Wed, 25 Jan 2012 16:00:49 +0000 Subject: [PATCH] Fixed double erase in ViEChannelManager channel map. Review URL: https://webrtc-codereview.appspot.com/369011 git-svn-id: http://webrtc.googlecode.com/svn/trunk@1546 4adac7df-926f-26a2-2b94-8c16560cd09d --- src/video_engine/vie_channel_manager.cc | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/video_engine/vie_channel_manager.cc b/src/video_engine/vie_channel_manager.cc index 178a11226..e29728183 100644 --- a/src/video_engine/vie_channel_manager.cc +++ b/src/video_engine/vie_channel_manager.cc @@ -51,11 +51,10 @@ ViEChannelManager::~ViEChannelManager() { "ViEChannelManager Destructor, engine_id: %d", engine_id_); module_process_thread_->DeRegisterModule(remb_.get()); - ChannelMap::iterator it = channel_map_.begin(); - while (it != channel_map_.end()) { + while (channel_map_.size() > 0) { + ChannelMap::iterator it = channel_map_.begin(); + // DeleteChannel will erase this channel from the map and invalidate |it|. DeleteChannel(it->first); - channel_map_.erase(it); - it = channel_map_.begin(); } if (voice_sync_interface_) {