summaryrefslogtreecommitdiff
path: root/libart
diff options
context:
space:
mode:
authorAndrei Onea <andreionea@google.com>2020-01-09 16:57:42 +0000
committerAndrei Onea <andreionea@google.com>2020-01-15 18:00:44 +0000
commit6e4cec49db8ba106ca8a24d9f78fafb63ac194bf (patch)
treef3e4e84c2c526ec168c3ef42fd1082fcd340fd6a /libart
parentab1c6c4c7a7dd103bf58288bf3f50652985fdc32 (diff)
Add change id for hidden api check hardening
This removes a workaround that allows bypassing hidden api checks. Bug: 142365358 Test: art/test/testrunner/testrunner.py --target --64 -t674-hiddenapi Test: art/test/testrunner/run_build_test_target.py -j110 art-asan Change-Id: Icfd0cd8b7ae5ae7534bdc475a815a4598e5da347
Diffstat (limited to 'libart')
-rw-r--r--libart/src/main/java/dalvik/system/VMRuntime.java14
1 files changed, 14 insertions, 0 deletions
diff --git a/libart/src/main/java/dalvik/system/VMRuntime.java b/libart/src/main/java/dalvik/system/VMRuntime.java
index 0f2f75dc60..a97d7fc48a 100644
--- a/libart/src/main/java/dalvik/system/VMRuntime.java
+++ b/libart/src/main/java/dalvik/system/VMRuntime.java
@@ -16,8 +16,12 @@
package dalvik.system;
+import android.compat.annotation.ChangeId;
+import android.compat.annotation.EnabledAfter;
import android.compat.annotation.UnsupportedAppUsage;
+import dalvik.annotation.compat.VersionCodes;
+
import java.lang.ref.FinalizerReference;
import java.util.HashMap;
import java.util.Map;
@@ -59,6 +63,16 @@ public final class VMRuntime {
}
/**
+ * Remove meta-reflection workaround for hidden api usage for apps targeting R+. This allowed
+ * apps to obtain references to blacklisted fields and methods through an extra layer of
+ * reflection.
+ */
+ @ChangeId
+ @EnabledAfter(targetSdkVersion = VersionCodes.Q)
+ private static final long
+ PREVENT_META_REFLECTION_BLACKLIST_ACCESS = 142365358; // This is a bug id.
+
+ /**
* Interface for logging hidden API usage events.
*/
@libcore.api.CorePlatformApi