From 25ee67a64405cd3f66593f9ea4ec7fc45654924d Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Fri, 5 Jan 2018 17:49:58 +0100 Subject: [PATCH] Catch SecurityException when reading system property in BitEncoding This does not fix KT-15167 though because the exception from KT-20575 is thrown shortly afterwards #KT-15167 --- .../metadata/jvm/deserialization/BitEncoding.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/core/metadata.jvm/src/org/jetbrains/kotlin/metadata/jvm/deserialization/BitEncoding.java b/core/metadata.jvm/src/org/jetbrains/kotlin/metadata/jvm/deserialization/BitEncoding.java index fded01af761..4fbd991094f 100644 --- a/core/metadata.jvm/src/org/jetbrains/kotlin/metadata/jvm/deserialization/BitEncoding.java +++ b/core/metadata.jvm/src/org/jetbrains/kotlin/metadata/jvm/deserialization/BitEncoding.java @@ -13,7 +13,19 @@ import java.util.List; import static org.jetbrains.kotlin.metadata.jvm.deserialization.UtfEncodingKt.MAX_UTF8_INFO_LENGTH; public class BitEncoding { - private static final boolean FORCE_8TO7_ENCODING = "true".equals(System.getProperty("kotlin.jvm.serialization.use8to7")); + private static final boolean FORCE_8TO7_ENCODING; + + static { + String use8to7; + try { + use8to7 = System.getProperty("kotlin.jvm.serialization.use8to7"); + } + catch (SecurityException e) { + use8to7 = null; + } + + FORCE_8TO7_ENCODING = "true".equals(use8to7); + } private static final char _8TO7_MODE_MARKER = (char) -1;