summaryrefslogtreecommitdiffstats
path: root/chrome_frame/urlmon_url_request.cc
diff options
context:
space:
mode:
authorrobertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-18 08:21:09 +0000
committerrobertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-18 08:21:09 +0000
commit8331358015ea0c569f4c7d7ffd49ad013b1bbeea (patch)
treeba23fbef7f403d9a0215ac062d331b5eab489d36 /chrome_frame/urlmon_url_request.cc
parentc3900af282a956b8cdcf58173218faebef5fee69 (diff)
downloadchromium_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.cc9
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