diff options
author | tsepez@chromium.org <tsepez@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-25 20:20:19 +0000 |
---|---|---|
committer | tsepez@chromium.org <tsepez@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-25 20:20:19 +0000 |
commit | aa9764463a1607cf13d6589e4fa9752920367179 (patch) | |
tree | 3758a20f7f0e4b04fb676533cec8cda9ce76d74f /ppapi | |
parent | b450e9092544c11b225690a1e459ffe7e955cec4 (diff) | |
download | chromium_src-aa9764463a1607cf13d6589e4fa9752920367179.zip chromium_src-aa9764463a1607cf13d6589e4fa9752920367179.tar.gz chromium_src-aa9764463a1607cf13d6589e4fa9752920367179.tar.bz2 |
NOTREACHED() in VarTracker::ReleaseVar() can be reached. Remove it.
Because PPB_Var_Deprecated_Proxy::OnMsgReleaseObject() can
defer a ReleaseVar() call past the time an instance is destroyed, and because
as part of instance destruction HostVarTracker::ForceReleaseNPObject() forcibly
zeroes a variable's ref_count and deletes it, the deferred ReleaseVar() call
will hit this path frequently and blow up the debugger.
Review URL: https://chromiumcodereview.appspot.com/10227009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@133968 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi')
-rw-r--r-- | ppapi/shared_impl/var_tracker.cc | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/ppapi/shared_impl/var_tracker.cc b/ppapi/shared_impl/var_tracker.cc index a564fed..8214a30 100644 --- a/ppapi/shared_impl/var_tracker.cc +++ b/ppapi/shared_impl/var_tracker.cc @@ -94,10 +94,8 @@ bool VarTracker::ReleaseVar(int32 var_id) { DLOG_IF(ERROR, !CheckIdType(var_id, PP_ID_TYPE_VAR)) << var_id << " is not a PP_Var ID."; VarMap::iterator found = live_vars_.find(var_id); - if (found == live_vars_.end()) { - NOTREACHED() << "Unref-ing an invalid var"; + if (found == live_vars_.end()) return false; - } VarInfo& info = found->second; if (info.ref_count == 0) { |