| Index: webrtc/p2p/base/fakeportallocator.h
 | 
| diff --git a/webrtc/p2p/base/fakeportallocator.h b/webrtc/p2p/base/fakeportallocator.h
 | 
| index 58e1d5fac67d2e674a37055c3d6b7949b3f0ce97..0bb9c6e66cc3b695b6495d2541a32566e4503569 100644
 | 
| --- a/webrtc/p2p/base/fakeportallocator.h
 | 
| +++ b/webrtc/p2p/base/fakeportallocator.h
 | 
| @@ -132,6 +132,8 @@ class FakePortAllocatorSession : public PortAllocatorSession {
 | 
|        port_.reset(TestUDPPort::Create(worker_thread_, factory_, &network,
 | 
|                                        network.GetBestIP(), 0, 0, username(),
 | 
|                                        password(), std::string(), false));
 | 
| +      port_->SignalDestroyed.connect(
 | 
| +          this, &FakePortAllocatorSession::OnPortDestroyed);
 | 
|        AddPort(port_.get());
 | 
|      }
 | 
|      ++port_config_count_;
 | 
| @@ -188,6 +190,10 @@ class FakePortAllocatorSession : public PortAllocatorSession {
 | 
|      allocation_done_ = true;
 | 
|      SignalCandidatesAllocationDone(this);
 | 
|    }
 | 
| +  void OnPortDestroyed(cricket::PortInterface* port) {
 | 
| +    // Don't want to double-delete port if it deletes itself.
 | 
| +    port_.release();
 | 
| +  }
 | 
|  
 | 
|    rtc::Thread* worker_thread_;
 | 
|    rtc::PacketSocketFactory* factory_;
 | 
| 
 |