Index: webrtc/p2p/base/port.cc |
diff --git a/webrtc/p2p/base/port.cc b/webrtc/p2p/base/port.cc |
index ed26fe494c0b00d0abad104d917eb2de78a96785..5275e5e8ebe7dc6852fe1cd23f35c7e2e752f365 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,17 @@ 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_msg->reset(); |
tommi
2016/03/15 09:30:16
Prefer to have this be the caller's responsibility
kwiberg-webrtc
2016/03/15 10:16:01
Sure. I just left it in because I wanted to make a
|
out_username->clear(); |
// Don't bother parsing the packet if we can tell it's not STUN. |
@@ -422,7 +424,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 +904,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); |