changeset 84:d07ccc83a09c

Fix PR619: Improper finalization by the plugin can crash the browser
author Deepak Bhole <dbhole@redhat.com>
date Thu, 20 Jan 2011 11:06:41 -0500
parents 71d6595e800c
children bafc58e4df46
files ChangeLog NEWS plugin/icedteanp/java/netscape/javascript/JSObject.java
diffstat 3 files changed, 12 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Tue Jan 18 13:51:34 2011 -0500
+++ b/ChangeLog	Thu Jan 20 11:06:41 2011 -0500
@@ -1,3 +1,9 @@
+2011-01-20  Deepak Bhole <dbhole@redhat.com>
+
+	PR619: Improper finalization by the plugin can crash the browser
+	* plugin/icedteanp/java/netscape/javascript/JSObject.java (finalize):
+	Proceed with finalization only if JSObject is valid.
+
 2011-01-18  Andrew Su  <asu@redhat.com>
 
 	* netx/net/sourceforge/jnlp/controlpanel/AdvancedProxySettingsDialog.java:
--- a/NEWS	Tue Jan 18 13:51:34 2011 -0500
+++ b/NEWS	Thu Jan 20 11:06:41 2011 -0500
@@ -22,6 +22,7 @@
   - PR565: UIDefaults.getUI fails with jgoodies:looks 2.3.1
   - PR593: Increment of invalidated iterator in IcedTeaPluginUtils (patch from barbara.xxx1975@libero.it)
   - PR597: Entities are parsed incorrectly in PARAM tag in applet plugin
+  - PR619: Improper finalization by the plugin can crash the browser
   - Applets are now double-buffered to eliminate flicker in ones that do heavy drawing
   - RH665104: OpenJDK Firefox Java plugin loses a cookie
 * NetX
--- a/plugin/icedteanp/java/netscape/javascript/JSObject.java	Tue Jan 18 13:51:34 2011 -0500
+++ b/plugin/icedteanp/java/netscape/javascript/JSObject.java	Thu Jan 20 11:06:41 2011 -0500
@@ -259,6 +259,11 @@
      * JavaScript object.
      */
     protected void finalize() {
+
+        // Proceed if this is a valid object (0L == default long == invalid)
+        if (internal == 0L)
+            return;
+
         PluginDebug.debug("JSObject.finalize ");
         PluginAppletViewer.JavaScriptFinalize(internal);
     }