summaryrefslogtreecommitdiff
path: root/java/openjdk6/files/icedtea/openjdk/8021355-splashscreen_regression.patch
diff options
context:
space:
mode:
authorJung-uk Kim <jkim@FreeBSD.org>2013-12-04 23:20:35 +0000
committerJung-uk Kim <jkim@FreeBSD.org>2013-12-04 23:20:35 +0000
commitfffab58da85dfb88fe6dc70ab603b2d29b41cc1b (patch)
tree8241b8a874c4cce2b9c0f9fba0552cd92b0c8d2d /java/openjdk6/files/icedtea/openjdk/8021355-splashscreen_regression.patch
parentmultimedia/ffmpeg0: temporary workaround for opencv issue (diff)
Add multiple security patches and improvements from IcedTea6.
http://icedtea.classpath.org/hg/icedtea6/rev/e98b0ef70b26 Obtained from: IcedTea Project
Diffstat (limited to 'java/openjdk6/files/icedtea/openjdk/8021355-splashscreen_regression.patch')
-rw-r--r--java/openjdk6/files/icedtea/openjdk/8021355-splashscreen_regression.patch53
1 files changed, 53 insertions, 0 deletions
diff --git a/java/openjdk6/files/icedtea/openjdk/8021355-splashscreen_regression.patch b/java/openjdk6/files/icedtea/openjdk/8021355-splashscreen_regression.patch
new file mode 100644
index 000000000000..c5c8d4a08aa2
--- /dev/null
+++ b/java/openjdk6/files/icedtea/openjdk/8021355-splashscreen_regression.patch
@@ -0,0 +1,53 @@
+# HG changeset patch
+# User ksrini
+# Date 1383014349 0
+# Tue Oct 29 02:39:09 2013 +0000
+# Node ID a5d00a180798f25254bf6f15b7dc31a0d5df60c2
+# Parent 5896fe42b0a429fb5be7abee630b98fa2ec00df3
+8021355: REGRESSION: Five closed/java/awt/SplashScreen tests fail since 7u45 b01 on Linux, Solaris
+Reviewed-by: dholmes, anthony, ahgross, erikj, omajid
+
+diff -r 5896fe42b0a4 -r a5d00a180798 src/solaris/bin/java_md.c
+--- jdk/src/solaris/bin/java_md.c Wed Aug 07 16:51:59 2013 +0400
++++ jdk/src/solaris/bin/java_md.c Tue Oct 29 02:39:09 2013 +0000
+@@ -46,6 +46,10 @@
+ #define JVM_DLL "libjvm.so"
+ #define JAVA_DLL "libjava.so"
+
++#define JRE_ERROR1 "Error: Could not find Java SE Runtime Environment."
++#define JRE_ERROR11 "Error: Path length exceeds maximum length (PATH_MAX)"
++#define JRE_ERROR13 "Error: String processing operation failed"
++
+ /*
+ * If a processor / os combination has the ability to run binaries of
+ * two data models and cohabitation of jre/jdk bits with both data
+@@ -1700,7 +1704,28 @@
+
+ void* SplashProcAddress(const char* name) {
+ if (!hSplashLib) {
+- hSplashLib = dlopen(SPLASHSCREEN_SO, RTLD_LAZY | RTLD_GLOBAL);
++ int ret;
++ char jrePath[MAXPATHLEN];
++ char splashPath[MAXPATHLEN];
++
++ if (!GetJREPath(jrePath, sizeof(jrePath), GetArch(), JNI_FALSE)) {
++ ReportErrorMessage(JRE_ERROR1, JNI_TRUE);
++ return NULL;
++ }
++ ret = snprintf(splashPath, sizeof(splashPath), "%s/lib/%s/%s",
++ jrePath, GetArch(), SPLASHSCREEN_SO);
++
++ if (ret >= (int) sizeof(splashPath)) {
++ ReportErrorMessage(JRE_ERROR11, JNI_TRUE);
++ return NULL;
++ }
++ if (ret < 0) {
++ ReportErrorMessage(JRE_ERROR13, JNI_TRUE);
++ return NULL;
++ }
++ hSplashLib = dlopen(splashPath, RTLD_LAZY | RTLD_GLOBAL);
++ if (_launcher_debug)
++ printf("Info: loaded %s\n", splashPath);
+ }
+ if (hSplashLib) {
+ void* sym = dlsym(hSplashLib, name);