8004344: Fix a crash in ToolkitErrorHandler() in XlibWrapper.c
authoraph
Tue Dec 04 14:02:08 2012 +0000 (6 months ago)
changeset 5558176036bca53e
parent 55570072a14db232
child 5559388b32b60fbb
8004344: Fix a crash in ToolkitErrorHandler() in XlibWrapper.c
Summary: Code does not check for JNU_GetEnv returning NULL.
Reviewed-by: anthony
src/solaris/native/sun/xawt/XlibWrapper.c
--- a/src/solaris/native/sun/xawt/XlibWrapper.c Tue Dec 18 16:56:41 2012 -0800
+++ b/src/solaris/native/sun/xawt/XlibWrapper.c Tue Dec 04 14:02:08 2012 +0000
@@ -1260,13 +1260,15 @@ JNIEXPORT jboolean JNICALL Java_sun_awt_
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;
}
/*