Reviewers: mdempsky,

Description:
Chrome plugin: don't use an iterator after the underlying entry has been
freed.
Rebuilt Windows DLL and created a release.
(This patch might help on Linux and Mac as well, but for safety I'm not
updating them yet.)


Please review this at http://gwt-code-reviews.appspot.com/1861803/

Affected files:
  M plugins/npapi/LocalObjectTable.h
  M plugins/npapi/prebuilt/gwt-dev-plugin/manifest.json


Index: plugins/npapi/LocalObjectTable.h
===================================================================
--- plugins/npapi/LocalObjectTable.h    (revision 11357)
+++ plugins/npapi/LocalObjectTable.h    (working copy)
@@ -124,9 +124,9 @@
       Debug::log(Debug::Debugging) << "removing expando!" << Debug::flush;
       NPN_RemoveProperty(npp, it->second, gwtId);
     }
-    setFree(id);
+    NPObject* obj = it->second;
+    setFree(id); // erases entry, invalidating iterator
     if (!dontFree) {
-      NPObject* obj = it->second;
       NPN_ReleaseObject(obj);
     }
   }
Index: plugins/npapi/prebuilt/gwt-dev-plugin/manifest.json
===================================================================
--- plugins/npapi/prebuilt/gwt-dev-plugin/manifest.json (revision 11357)
+++ plugins/npapi/prebuilt/gwt-dev-plugin/manifest.json (working copy)
@@ -1,6 +1,6 @@
 {
   "name": "GWT Developer Plugin",
-  "version": "1.0.11349",
+  "version": "1.0.11357",
   "manifest_version": 2,

"description": "A plugin to enable debugging with GWT's Development Mode",


--
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to