changeset 281:360bd0a75304

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 77640d74d21c
children 0e782b6b2cbb
files ChangeLog NEWS plugin/icedteanp/IcedTeaPluginRequestProcessor.cc
diffstat 3 files changed, 15 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Fri Apr 29 16:58:05 2011 -0400
+++ 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-04-28  Denis Lila  <dlila@redhat.com>
 
 	* netx/net/sourceforge/jnlp/NetxPanel.java:
--- a/NEWS	Fri Apr 29 16:58:05 2011 -0400
+++ b/NEWS	Mon Jan 09 18:45:31 2012 -0500
@@ -11,6 +11,7 @@
 New in release 1.1.5 (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.1.4 (2011-11-08):
 * Security updates:
--- a/plugin/icedteanp/IcedTeaPluginRequestProcessor.cc	Fri Apr 29 16:58:05 2011 -0400
+++ 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 ";