summaryrefslogtreecommitdiffstats
path: root/net/base
diff options
context:
space:
mode:
authorvandebo@chromium.org <vandebo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-07 19:39:37 +0000
committervandebo@chromium.org <vandebo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-07 19:39:37 +0000
commitab6d1223c9e957d9f179327cd6016ac1780d23fe (patch)
tree88553acd3f41256e9f95dffd5349056c433cb5a6 /net/base
parent872b83154e9d717cbd268d25c228d19ecfbfa976 (diff)
downloadchromium_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.cc6
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);
}