RFR(8u): JDK-8136570: Avoid setting environment variables related to /usr/dt
Martin Buchholz
martinrb at google.com
Mon Nov 7 00:46:42 UTC 2016
I support this backport. It fixes a crash!
On Sun, Nov 6, 2016 at 12:27 PM, Tiago Daitx <tiago.daitx at canonical.com>
wrote:
> 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