Index: chrome/browser/extensions/api/dial/dial_service.cc |
diff --git a/chrome/browser/extensions/api/dial/dial_service.cc b/chrome/browser/extensions/api/dial/dial_service.cc |
index b9c100540753cb10ba1b52da7878d4ff6e24ced7..fb348063c445194ffab39efe6026efaf00e8377d 100644 |
--- a/chrome/browser/extensions/api/dial/dial_service.cc |
+++ b/chrome/browser/extensions/api/dial/dial_service.cc |
@@ -172,13 +172,16 @@ bool DialServiceImpl::DialSocket::CreateAndBindSocket( |
rand_cb, |
net_log, |
net_log_source)); |
- socket_->AllowBroadcast(); |
// 0 means bind a random port |
net::IPEndPoint address(bind_ip_address, 0); |
- if (!CheckResult("Bind", socket_->Bind(address))) |
+ if (socket_->Open(address.GetFamily()) != net::OK || |
+ socket_->SetBroadcast(true) != net::OK || |
+ !CheckResult("Bind", socket_->Bind(address))) { |
+ socket_.reset(); |
return false; |
+ } |
DCHECK(socket_.get()); |