diff options
author | Jung-uk Kim <jkim@FreeBSD.org> | 2013-12-04 23:20:35 +0000 |
---|---|---|
committer | Jung-uk Kim <jkim@FreeBSD.org> | 2013-12-04 23:20:35 +0000 |
commit | fffab58da85dfb88fe6dc70ab603b2d29b41cc1b (patch) | |
tree | 8241b8a874c4cce2b9c0f9fba0552cd92b0c8d2d /java/openjdk6/files/icedtea/openjdk/8021355-splashscreen_regression.patch | |
parent | multimedia/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.patch | 53 |
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); |