Index: webrtc/p2p/base/port.cc |
diff --git a/webrtc/p2p/base/port.cc b/webrtc/p2p/base/port.cc |
index ed26fe494c0b00d0abad104d917eb2de78a96785..a630695b0599b8285fd59a684b62e0e51789012a 100644 |
--- a/webrtc/p2p/base/port.cc |
+++ b/webrtc/p2p/base/port.cc |
@@ -288,7 +288,7 @@ void Port::OnReadPacket( |
// send back a proper binding response. |
rtc::scoped_ptr<IceMessage> msg; |
std::string remote_username; |
- if (!GetStunMessage(data, size, addr, msg.accept(), &remote_username)) { |
+ if (!GetStunMessage(data, size, addr, &msg, &remote_username)) { |
LOG_J(LS_ERROR, this) << "Received non-STUN packet from unknown address (" |
<< addr.ToSensitiveString() << ")"; |
} else if (!msg) { |
@@ -330,15 +330,16 @@ size_t Port::AddPrflxCandidate(const Candidate& local) { |
return (candidates_.size() - 1); |
} |
-bool Port::GetStunMessage(const char* data, size_t size, |
+bool Port::GetStunMessage(const char* data, |
+ size_t size, |
const rtc::SocketAddress& addr, |
- IceMessage** out_msg, std::string* out_username) { |
+ rtc::scoped_ptr<IceMessage>* out_msg, |
+ std::string* out_username) { |
// NOTE: This could clearly be optimized to avoid allocating any memory. |
// However, at the data rates we'll be looking at on the client side, |
// this probably isn't worth worrying about. |
ASSERT(out_msg != NULL); |
ASSERT(out_username != NULL); |
- *out_msg = NULL; |
out_username->clear(); |
// Don't bother parsing the packet if we can tell it's not STUN. |
@@ -422,7 +423,7 @@ bool Port::GetStunMessage(const char* data, size_t size, |
} |
// Return the STUN message found. |
- *out_msg = stun_msg.release(); |
+ *out_msg = std::move(stun_msg); |
return true; |
} |
@@ -902,7 +903,7 @@ void Connection::OnReadPacket( |
rtc::scoped_ptr<IceMessage> msg; |
std::string remote_ufrag; |
const rtc::SocketAddress& addr(remote_candidate_.address()); |
- if (!port_->GetStunMessage(data, size, addr, msg.accept(), &remote_ufrag)) { |
+ if (!port_->GetStunMessage(data, size, addr, &msg, &remote_ufrag)) { |
// The packet did not parse as a valid STUN message |
// This is a data packet, pass it along. |
set_receiving(true); |