RFR(8u): JDK-8136570: Avoid setting environment variables related to /usr/dt

Tiago Daitx tiago.daitx at canonical.com
Sun Nov 6 20:27:33 UTC 2016


Hi,

Please review the backported changes for JDK-8136570 to 8u in the
inline patch bellow.

JDK-8136570 <https://bugs.openjdk.java.net/browse/JDK-8136570>: Stop
changing user environment variables related to /usr/dt
JDK 9 changeset: http://hg.openjdk.java.net/jdk9/jdk9/jdk/rev/acf424f856ce
JDK 9 Review Thread:
http://mail.openjdk.java.net/pipermail/core-libs-dev/2015-September/035271.html

Original patch applies cleanly with a small offset on hunk #2, thus I
modified it to match 8u line numbers.

Note: I'm a Participant, not a Contributor but I assume the backport
is trival enough to not require a signed OCA.


Patch bellow:

# HG changeset patch
# User martin
# Date 1442425751 25200
# Node ID acf424f856ce5abf98ee59b9d28249eeba840428
# Parent  bb6e5a409fefefce5b748ceacfa581698c710567
8136570: Stop changing user environment variables related to /usr/dt
4953367: MAWT: Java should be more careful manipulating NLSPATH,
XFILESEARCHPATH env variables
Summary: Stop changing user environment variables: NLSPATH XFILESEARCHPATH
Reviewed-by: prr

diff -r bb6e5a409fef -r acf424f856ce
src/solaris/native/java/lang/java_props_md.c
--- a/src/solaris/native/java/lang/java_props_md.c Thu Sep 17 17:33:00
2015 +0200
+++ b/src/solaris/native/java/lang/java_props_md.c Wed Sep 16 10:49:11
2015 -0700
@@ -91,46 +91,6 @@
     return 0;
 }

-/* This function sets an environment variable using envstring.
- * The format of envstring is "name=value".
- * If the name has already existed, it will append value to the name.
- */
-static void
-setPathEnvironment(char *envstring)
-{
-    char name[20], *value, *current;
-
-    value = strchr(envstring, '='); /* locate name and value separator */
-
-    if (! value)
-        return; /* not a valid environment setting */
-
-    /* copy first part as environment name */
-    strncpy(name, envstring, value - envstring);
-    name[value-envstring] = '\0';
-
-    value++; /* set value point to value of the envstring */
-
-    current = getenv(name);
-    if (current) {
-        if (! strstr(current, value)) {
-            /* value is not found in current environment, append it */
-            char *temp = malloc(strlen(envstring) + strlen(current) + 2);
-        strcpy(temp, name);
-        strcat(temp, "=");
-        strcat(temp, current);
-        strcat(temp, ":");
-        strcat(temp, value);
-        putenv(temp);
-        }
-        /* else the value has already been set, do nothing */
-    }
-    else {
-        /* environment variable is not found */
-        putenv(envstring);
-    }
-}
-
 #ifndef P_tmpdir
 #define P_tmpdir "/var/tmp"
 #endif
@@ -612,16 +572,6 @@
     sprops.path_separator = ":";
     sprops.line_separator = "\n";

-#if !defined(_ALLBSD_SOURCE)
-    /* Append CDE message and resource search path to NLSPATH and
-     * XFILESEARCHPATH, in order to pick localized message for
-     * FileSelectionDialog window (Bug 4173641).
-     */
-    setPathEnvironment("NLSPATH=/usr/dt/lib/nls/msg/%L/%N.cat");
-    setPathEnvironment("XFILESEARCHPATH=/usr/dt/app-defaults/%L/Dt");
-#endif
-
-
 #ifdef MACOSX
     setProxyProperties(&sprops);
 #endif



Regards,

-- 
Tiago Stürmer Daitx
Software Engineer
tiago.daitx at canonical.com

PGP Key: 4096R/F5B213BE (hkp://keyserver.ubuntu.com)
Fingerprint = 45D0 FE5A 8109 1E91 866E  8CA4 1931 8D5E F5B2 13BE


More information about the jdk8u-dev mailing list