summaryrefslogtreecommitdiffstats
path: root/ppapi/proxy/plugin_var_tracker.cc
diff options
context:
space:
mode:
authorteravest@chromium.org <teravest@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-24 21:58:53 +0000
committerteravest@chromium.org <teravest@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-24 21:58:53 +0000
commite2cdee589580cec98651951c11cfe178dbdc206d (patch)
tree8279298c3e9cd4654ae59064c8f2a0ee2961d9e0 /ppapi/proxy/plugin_var_tracker.cc
parent9f07b0424413bff3c6b60a7e554ffc976a48a53e (diff)
downloadchromium_src-e2cdee589580cec98651951c11cfe178dbdc206d.zip
chromium_src-e2cdee589580cec98651951c11cfe178dbdc206d.tar.gz
chromium_src-e2cdee589580cec98651951c11cfe178dbdc206d.tar.bz2
Pepper: Move live_vars_ DCHECK to CHECK.
This is to help debug an invalid memory access issue. Using a CHECK here is no worse than a DCHECK, as no attempt is currently made to gracefully fall back to any safe behavior on release builds. BUG=276347 Review URL: https://chromiumcodereview.appspot.com/24256005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@225078 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/proxy/plugin_var_tracker.cc')
-rw-r--r--ppapi/proxy/plugin_var_tracker.cc13
1 files changed, 9 insertions, 4 deletions
diff --git a/ppapi/proxy/plugin_var_tracker.cc b/ppapi/proxy/plugin_var_tracker.cc
index d2a4d74..d4ab09d 100644
--- a/ppapi/proxy/plugin_var_tracker.cc
+++ b/ppapi/proxy/plugin_var_tracker.cc
@@ -270,9 +270,11 @@ int32 PluginVarTracker::AddVarInternal(Var* var, AddVarRefMode mode) {
ProxyObjectVar* proxy_object = var->AsProxyObjectVar();
if (proxy_object) {
HostVar host_var(proxy_object->dispatcher(), proxy_object->host_var_id());
- DCHECK(host_var_to_plugin_var_.find(host_var) ==
- host_var_to_plugin_var_.end()); // Adding an object twice, use
- // FindOrMakePluginVarFromHostVar.
+ // TODO(teravest): Change to DCHECK when http://crbug.com/276347 is
+ // resolved.
+ CHECK(host_var_to_plugin_var_.find(host_var) ==
+ host_var_to_plugin_var_.end()); // Adding an object twice, use
+ // FindOrMakePluginVarFromHostVar.
host_var_to_plugin_var_[host_var] = new_id;
}
return new_id;
@@ -394,7 +396,10 @@ scoped_refptr<ProxyObjectVar> PluginVarTracker::FindOrMakePluginVarFromHostVar(
// Have this host var, look up the object.
VarMap::iterator ret = live_vars_.find(found->second);
- DCHECK(ret != live_vars_.end());
+
+ // We CHECK here because we currently don't fall back sanely.
+ // This may be involved in a NULL dereference. http://crbug.com/276347
+ CHECK(ret != live_vars_.end());
// All objects should be proxy objects.
DCHECK(ret->second.var->AsProxyObjectVar());