diff options
author | teravest@chromium.org <teravest@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-09-24 21:58:53 +0000 |
---|---|---|
committer | teravest@chromium.org <teravest@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-09-24 21:58:53 +0000 |
commit | e2cdee589580cec98651951c11cfe178dbdc206d (patch) | |
tree | 8279298c3e9cd4654ae59064c8f2a0ee2961d9e0 /ppapi/proxy/plugin_var_tracker.cc | |
parent | 9f07b0424413bff3c6b60a7e554ffc976a48a53e (diff) | |
download | chromium_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.cc | 13 |
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()); |