Index: chrome/browser/extensions/api/extension_action/extension_action_api.cc |
diff --git a/chrome/browser/extensions/api/extension_action/extension_action_api.cc b/chrome/browser/extensions/api/extension_action/extension_action_api.cc |
index 1af27cb18542297342f1d8844727de3d8da819b1..bb53890101893cfb1f3b402498e2d8fa8e01ab35 100644 |
--- a/chrome/browser/extensions/api/extension_action/extension_action_api.cc |
+++ b/chrome/browser/extensions/api/extension_action/extension_action_api.cc |
@@ -506,6 +506,11 @@ bool ExtensionActionSetIconFunction::RunExtensionAction() { |
EXTENSION_FUNCTION_VALIDATE( |
ExtensionAction::ParseIconFromCanvasDictionary(*canvas_set, &icon)); |
+ if (icon.isNull()) { |
+ error_ = "Icon invalid."; |
+ return false; |
+ } |
+ |
extension_action_->SetIcon(tab_id_, gfx::Image(icon)); |
} else if (details_->GetInteger("iconIndex", &icon_index)) { |
// Obsolete argument: ignore it. |