Chromium Code Reviews| 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); |