diff options
author | robertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-18 08:21:09 +0000 |
---|---|---|
committer | robertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-18 08:21:09 +0000 |
commit | 8331358015ea0c569f4c7d7ffd49ad013b1bbeea (patch) | |
tree | ba23fbef7f403d9a0215ac062d331b5eab489d36 /chrome_frame/urlmon_url_request.cc | |
parent | c3900af282a956b8cdcf58173218faebef5fee69 (diff) | |
download | chromium_src-8331358015ea0c569f4c7d7ffd49ad013b1bbeea.zip chromium_src-8331358015ea0c569f4c7d7ffd49ad013b1bbeea.tar.gz chromium_src-8331358015ea0c569f4c7d7ffd49ad013b1bbeea.tar.bz2 |
Handle NULL response_headers passed to our IHTTPNegotiate::OnResponse() implementation.
BUG=114816
TEST=Chrome Frame doesn't crash when cpturlpassthru.dll is installed.
Review URL: http://codereview.chromium.org/9395049
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122691 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/urlmon_url_request.cc')
-rw-r--r-- | chrome_frame/urlmon_url_request.cc | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/chrome_frame/urlmon_url_request.cc b/chrome_frame/urlmon_url_request.cc index f0f0e27..61b9636 100644 --- a/chrome_frame/urlmon_url_request.cc +++ b/chrome_frame/urlmon_url_request.cc @@ -647,17 +647,20 @@ STDMETHODIMP UrlmonUrlRequest::OnResponse(DWORD dwResponseCode, const wchar_t* response_headers, const wchar_t* request_headers, wchar_t** additional_headers) { DCHECK_EQ(thread_, base::PlatformThread::CurrentId()); - DVLOG(1) << __FUNCTION__ << me() << "headers: \n" << response_headers; + DVLOG(1) << __FUNCTION__ << me() << "headers: \n" + << (response_headers == NULL ? L"EMPTY" : response_headers); if (!delegate_) { DLOG(WARNING) << "Invalid delegate"; return S_OK; } - std::string raw_headers = WideToUTF8(response_headers); - delegate_->AddPrivacyDataForUrl(url(), "", 0); + std::string raw_headers; + if (response_headers) + raw_headers = WideToUTF8(response_headers); + // Security check for frame busting headers. We don't honor the headers // as-such, but instead simply kill requests which we've been asked to // look for if they specify a value for "X-Frame-Options" other than |