From f9902a1f64a1ea967e3213ab2856b11fac23c03d Mon Sep 17 00:00:00 2001 From: Mathieu Arnold Date: Sat, 4 Jan 2014 14:33:12 +0000 Subject: Revert lang/openjdk6 to b28. With hat: portmgr-lurker --- .../files/icedtea/openjdk/8020293-jvm_crash.patch | 40 ++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 java/openjdk6/files/icedtea/openjdk/8020293-jvm_crash.patch (limited to 'java/openjdk6/files/icedtea/openjdk/8020293-jvm_crash.patch') diff --git a/java/openjdk6/files/icedtea/openjdk/8020293-jvm_crash.patch b/java/openjdk6/files/icedtea/openjdk/8020293-jvm_crash.patch new file mode 100644 index 000000000000..920bce81adbe --- /dev/null +++ b/java/openjdk6/files/icedtea/openjdk/8020293-jvm_crash.patch @@ -0,0 +1,40 @@ +# HG changeset patch +# User jchen +# Date 1374527199 25200 +# Mon Jul 22 14:06:39 2013 -0700 +# Node ID 2adb9f71f6c0723acf40877f059d276557b71034 +# Parent 150e0c3e95ce6869f8e7b42c6d8683817433e124 +8020293: JVM crash +Reviewed-by: prr, jgodinez + +diff -r 150e0c3e95ce -r 2adb9f71f6c0 src/share/classes/sun/font/GlyphLayout.java +--- jdk/src/share/classes/sun/font/GlyphLayout.java Mon Oct 28 20:56:09 2013 +0000 ++++ jdk/src/share/classes/sun/font/GlyphLayout.java Mon Jul 22 14:06:39 2013 -0700 +@@ -468,9 +468,10 @@ + _gvdata.grow(); + } + } +- if (_gvdata._count < 0) { +- break; +- } ++ } ++ // Break out of the outer for loop if layout fails. ++ if (_gvdata._count < 0) { ++ break; + } + } + +diff -r 150e0c3e95ce -r 2adb9f71f6c0 src/share/native/sun/font/layout/SunLayoutEngine.cpp +--- jdk/src/share/native/sun/font/layout/SunLayoutEngine.cpp Mon Oct 28 20:56:09 2013 +0000 ++++ jdk/src/share/native/sun/font/layout/SunLayoutEngine.cpp Mon Jul 22 14:06:39 2013 -0700 +@@ -104,6 +104,10 @@ + + int putGV(JNIEnv* env, jint gmask, jint baseIndex, jobject gvdata, const LayoutEngine* engine, int glyphCount) { + int count = env->GetIntField(gvdata, gvdCountFID); ++ if (count < 0) { ++ JNU_ThrowInternalError(env, "count negative"); ++ return 0; ++ } + + jarray glyphArray = (jarray)env->GetObjectField(gvdata, gvdGlyphsFID); + if (IS_NULL(glyphArray)) { -- cgit v1.2.3