diff options
author | vandebo@chromium.org <vandebo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-07 19:39:37 +0000 |
---|---|---|
committer | vandebo@chromium.org <vandebo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-07 19:39:37 +0000 |
commit | ab6d1223c9e957d9f179327cd6016ac1780d23fe (patch) | |
tree | 88553acd3f41256e9f95dffd5349056c433cb5a6 /net/base | |
parent | 872b83154e9d717cbd268d25c228d19ecfbfa976 (diff) | |
download | chromium_src-ab6d1223c9e957d9f179327cd6016ac1780d23fe.zip chromium_src-ab6d1223c9e957d9f179327cd6016ac1780d23fe.tar.gz chromium_src-ab6d1223c9e957d9f179327cd6016ac1780d23fe.tar.bz2 |
Don't call freeaddrinfo(NULL) to avoid crash on FreeBSD.
Apparently freeaddrinfo(NULL) is undefined (or at least FreeBSD reads the
appropriate RFCs that way) and FreeBSD crashes in this case.
BUG=FreeBSD crash
TEST=no crash after change on FreeBSD.
Review URL: http://codereview.chromium.org/3360012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58735 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/base')
-rw-r--r-- | net/base/host_resolver_proc.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/net/base/host_resolver_proc.cc b/net/base/host_resolver_proc.cc index 86304dc..d235ce9 100644 --- a/net/base/host_resolver_proc.cc +++ b/net/base/host_resolver_proc.cc @@ -223,8 +223,10 @@ int SystemHostResolverProc(const std::string& host, } } if (should_retry) { - freeaddrinfo(ai); - ai = NULL; + if (ai != NULL) { + freeaddrinfo(ai); + ai = NULL; + } err = getaddrinfo(host.c_str(), NULL, &hints, &ai); } |