summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/extension_webrequest_api.cc
diff options
context:
space:
mode:
authormpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-11 21:56:20 +0000
committermpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-11 21:56:20 +0000
commitc36c4b917c08cf84a7e5047b2b9c9724f9ec1855 (patch)
tree7fe65516d3a643ca72dc5d9a4b0f841649cc1e61 /chrome/browser/extensions/extension_webrequest_api.cc
parent111ed4259b2771579f5cf7a7f31a885b6047f062 (diff)
downloadchromium_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.cc13
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",