From abd0683c077868849e2f85baddd6f3b96fdcfee1 Mon Sep 17 00:00:00 2001 From: Phil Race Date: Tue, 18 Mar 2014 15:48:03 -0700 Subject: [PATCH] 8034095: [parfait] JNI exception pending in src/jdk/src/macosx/native/sun/awt/QuartzRenderer.m Reviewed-by: serb, jgodinez --- jdk/src/macosx/native/sun/awt/QuartzRenderer.m | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/jdk/src/macosx/native/sun/awt/QuartzRenderer.m b/jdk/src/macosx/native/sun/awt/QuartzRenderer.m index d87582caf5b..27f31c206f3 100644 --- a/jdk/src/macosx/native/sun/awt/QuartzRenderer.m +++ b/jdk/src/macosx/native/sun/awt/QuartzRenderer.m @@ -438,6 +438,9 @@ QUARTZ_RENDERER_INLINE SDRenderType doPolyUsingCG(JNIEnv *env, CGContextRef cgRe { SDRenderType renderType = SD_Nothing; + if (xpointsarray == NULL || ypointsarray == NULL) { + return SD_Nothing; + } if (npoints > 1) { if (fill == YES) @@ -452,7 +455,14 @@ QUARTZ_RENDERER_INLINE SDRenderType doPolyUsingCG(JNIEnv *env, CGContextRef cgRe jint i; jint* xpoints = (jint*)(*env)->GetPrimitiveArrayCritical(env, xpointsarray, NULL); + if (xpoints == NULL) { + return SD_Nothing; + } jint* ypoints = (jint*)(*env)->GetPrimitiveArrayCritical(env, ypointsarray, NULL); + if (ypoints == NULL) { + (*env)->ReleasePrimitiveArrayCritical(env, xpointsarray, xpoints, 0); + return SD_Nothing; + } CGContextMoveToPoint(cgRef, xpoints[0]+offsetX, ypoints[0]+offsetY);