diff options
author | mpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-11 21:56:20 +0000 |
---|---|---|
committer | mpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-11 21:56:20 +0000 |
commit | c36c4b917c08cf84a7e5047b2b9c9724f9ec1855 (patch) | |
tree | 7fe65516d3a643ca72dc5d9a4b0f841649cc1e61 /chrome/browser/extensions/extension_webrequest_api.cc | |
parent | 111ed4259b2771579f5cf7a7f31a885b6047f062 (diff) | |
download | chromium_src-c36c4b917c08cf84a7e5047b2b9c9724f9ec1855.zip chromium_src-c36c4b917c08cf84a7e5047b2b9c9724f9ec1855.tar.gz chromium_src-c36c4b917c08cf84a7e5047b2b9c9724f9ec1855.tar.bz2 |
Fix a crash in the extension webrequest API caused by a NULL dereference.
BUG=no
TEST=no
Review URL: http://codereview.chromium.org/7002019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85055 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/extension_webrequest_api.cc')
-rw-r--r-- | chrome/browser/extensions/extension_webrequest_api.cc | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/chrome/browser/extensions/extension_webrequest_api.cc b/chrome/browser/extensions/extension_webrequest_api.cc index c80be5d..df62282 100644 --- a/chrome/browser/extensions/extension_webrequest_api.cc +++ b/chrome/browser/extensions/extension_webrequest_api.cc @@ -983,18 +983,17 @@ bool WebRequestEventHandled::RunImpl() { } if (value->HasKey("cancel")) { + // Don't allow cancel mixed with other keys. + if (value->HasKey("redirectUrl") || value->HasKey("requestHeaders")) { + error_ = keys::kInvalidBlockingResponse; + return false; + } + bool cancel = false; EXTENSION_FUNCTION_VALIDATE(value->GetBoolean("cancel", &cancel)); response->cancel = cancel; } - // Don't allow cancel mixed with other keys. - if (response->cancel && - (value->HasKey("redirectUrl") || value->HasKey("requestHeaders"))) { - error_ = keys::kInvalidBlockingResponse; - return false; - } - if (value->HasKey("redirectUrl")) { std::string new_url_str; EXTENSION_FUNCTION_VALIDATE(value->GetString("redirectUrl", |