view patches/8004344-toolkiterrorhandler.patch @ 2588:03aaabc8b71c

Add new fixes locally (backports from u17b02 & 2.4, PR1303 fix) so as to keep with 2.2.7 forest tag. 2013-03-11 Andrew John Hughes <gnu.andrew@member.fsf.org> * Makefile.am: (ICEDTEA_PATCHES): Add patches. * NEWS: Updated. * patches/8002344-krb5loginmodule.patch, * patches/8004344-toolkiterrorhandler.patch: Backported from 2.4. * patches/8006179-lookup_using_findvirtual.patch, * patches/8006882-sun.proxy.patch: Taken from upstream jdk7u17 b02. * patches/pr1303-ifdef_fix.patch: PR1303 issue (#ifdef vs. #if) caught by Bernhard Rosenkr?nzer.
author Andrew John Hughes <gnu_andrew@member.fsf.org>
date Mon, 11 Mar 2013 11:39:51 +0000
parents
children
line wrap: on
line source

# HG changeset patch
# User aph
# Date 1354629728 0
# Node ID 1d4bf44c8e4e6875f45862871b2a82ae43dea7fa
# Parent  59cd568088cc6f0618315d99e53f0716afbf4ff2
8004344: Fix a crash in ToolkitErrorHandler() in XlibWrapper.c
Summary: Code does not check for JNU_GetEnv returning NULL.
Reviewed-by: anthony

diff --git a/src/solaris/native/sun/xawt/XlibWrapper.c b/src/solaris/native/sun/xawt/XlibWrapper.c
--- openjdk/jdk/src/solaris/native/sun/xawt/XlibWrapper.c
+++ openjdk/jdk/src/solaris/native/sun/xawt/XlibWrapper.c
@@ -1260,13 +1260,15 @@
 
 JavaVM* jvm = NULL;
 static int ToolkitErrorHandler(Display * dpy, XErrorEvent * event) {
+    JNIEnv * env;
     if (jvm != NULL) {
-        JNIEnv * env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
-        return JNU_CallStaticMethodByName(env, NULL, "sun/awt/X11/XToolkit", "globalErrorHandler", "(JJ)I",
-                                          ptr_to_jlong(dpy), ptr_to_jlong(event)).i;
-    } else {
-        return 0;
+        env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
+        if (env) {
+            return JNU_CallStaticMethodByName(env, NULL, "sun/awt/X11/XToolkit", "globalErrorHandler", "(JJ)I",
+                                              ptr_to_jlong(dpy), ptr_to_jlong(event)).i;
+        }
     }
+    return 0;
 }
 
 /*