changeset 146:06a4e046a700 default tip

PR838: IcedTea plugin crashes with chrome browser when javascript is executed
author Deepak Bhole <dbhole@redhat.com>
date Mon, 09 Jan 2012 18:45:31 -0500
parents 990dc0dd5c48
children
files ChangeLog NEWS plugin/icedteanp/IcedTeaPluginRequestProcessor.cc
diffstat 3 files changed, 15 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Thu Dec 22 16:15:54 2011 -0500
+++ b/ChangeLog	Mon Jan 09 18:45:31 2012 -0500
@@ -1,3 +1,10 @@
+2012-01-09  Deepak Bhole <dbhole@redhat.com>
+
+	PR838: IcedTea plugin crashes with chrome browser when javascript is executed
+	* plugin/icedteanp/IcedTeaPluginRequestProcessor.cc (eval): Added a check
+	to ensure that the result pointer is valid before attempting to create an
+	NPVariant from it.
+
 2011-12-22  Thomas Meyer <thomas@m3y3r.de>
 
 	* plugin/icedteanp/IcedTeaPluginRequestProcessor.cc(sendMember): Use
--- a/NEWS	Thu Dec 22 16:15:54 2011 -0500
+++ b/NEWS	Mon Jan 09 18:45:31 2012 -0500
@@ -11,6 +11,7 @@
 New in release 1.0.7 (2011-XX-XX):
 * Plugin
   - RH586194: Unable to connect to connect with Juniper VPN client
+  - PR838: IcedTea plugin crashes with chrome browser when javascript is executed
 
 New in release 1.0.6 (2011-11-08):
 * Security updates
--- a/plugin/icedteanp/IcedTeaPluginRequestProcessor.cc	Thu Dec 22 16:15:54 2011 -0500
+++ b/plugin/icedteanp/IcedTeaPluginRequestProcessor.cc	Mon Jan 09 18:45:31 2012 -0500
@@ -243,7 +243,13 @@
 
     NPVariant* result_variant = (NPVariant*) IcedTeaPluginUtilities::stringToJSID(thread_data.result);
     std::string result_variant_jniid = std::string();
-    createJavaObjectFromVariant(instance, *result_variant, &result_variant_jniid);
+    if (result_variant)
+    {
+        createJavaObjectFromVariant(instance, *result_variant, &result_variant_jniid);
+    } else
+    {
+        result_variant_jniid = "0";
+    }
 
     IcedTeaPluginUtilities::constructMessagePrefix(0, reference, &response);
     response += " JavaScriptEval ";