diff options
author | kkania@chromium.org <kkania@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-09 04:49:09 +0000 |
---|---|---|
committer | kkania@chromium.org <kkania@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-09 04:49:09 +0000 |
commit | 0597a7a276c6a4939f0b8f8e912b8cd51d8e829b (patch) | |
tree | cd170952ea22859cfbc275df67834dcc150ca686 /net/server | |
parent | 60e77b317dccb3c64fb734cdc178737812a03b97 (diff) | |
download | chromium_src-0597a7a276c6a4939f0b8f8e912b8cd51d8e829b.zip chromium_src-0597a7a276c6a4939f0b8f8e912b8cd51d8e829b.tar.gz chromium_src-0597a7a276c6a4939f0b8f8e912b8cd51d8e829b.tar.bz2 |
Fix crash when calling HttpServer::GetLocalAddress when there is no server sock.
This happens when the port is already in use.
BUG=none
Review URL: https://chromiumcodereview.appspot.com/22368003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@216580 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/server')
-rw-r--r-- | net/server/http_server.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/server/http_server.cc b/net/server/http_server.cc index 4217aa0..373025c 100644 --- a/net/server/http_server.cc +++ b/net/server/http_server.cc @@ -12,6 +12,7 @@ #include "base/strings/stringprintf.h" #include "base/sys_byteorder.h" #include "build/build_config.h" +#include "net/base/net_errors.h" #include "net/server/http_connection.h" #include "net/server/http_server_request_info.h" #include "net/server/http_server_response_info.h" @@ -24,7 +25,6 @@ HttpServer::HttpServer(const StreamListenSocketFactory& factory, HttpServer::Delegate* delegate) : delegate_(delegate), server_(factory.CreateAndListen(this)) { - DCHECK(server_.get()); } void HttpServer::AcceptWebSocket( @@ -89,6 +89,8 @@ void HttpServer::Close(int connection_id) { } int HttpServer::GetLocalAddress(IPEndPoint* address) { + if (!server_) + return ERR_SOCKET_NOT_CONNECTED; return server_->GetLocalAddress(address); } |