Merge changes from topics "am-80b4dac5-dec4-435e-80da-9e61e57797f9", "am-d330d473-ae1e-4326-aebb-577000cc3d45" into nyc-mr2-dev
* changes:
[RESTRICT AUTOMERGE]: CTS test fix for Android Security CVE-2017-0630
Revert "[RESTRICT AUTOMERGE]Revert "RESTRICT AUTOMERGE : CTS test for Android Security b/72460579 b/34277115""
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/Poc17_05.java b/hostsidetests/securitybulletin/src/android/security/cts/Poc17_05.java
index efddaaa..0e1a975 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/Poc17_05.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/Poc17_05.java
@@ -17,6 +17,8 @@
package android.security.cts;
import android.platform.test.annotations.SecurityTest;
+import java.util.Arrays;
+import java.util.concurrent.Callable;
@SecurityTest
public class Poc17_05 extends SecurityTestCase {
@@ -46,4 +48,32 @@
"[\\s\\n\\S]*>>> /system/bin/" +
"mediaserver <<<", logcatOut);
}
+
+ /**
+ * b/34277115
+ */
+ @SecurityTest(minPatchLevel = "2017-05")
+ public void testPocCVE_2017_0630() throws Exception {
+ if (containsDriver(getDevice(), "/sys/kernel/debug/tracing/printk_formats")) {
+ String printkFormats = AdbUtils.runCommandLine(
+ "cat /sys/kernel/debug/tracing/printk_formats", getDevice());
+ String[] pointerStrings = printkFormats.split("\n");
+ assertNotKernelPointer(new Callable<String>() {
+ int index = 0;
+ @Override
+ public String call() {
+ for (; index < pointerStrings.length; index++) {
+ String line = pointerStrings[index];
+ String pattern = "0x";
+ int startIndex = line.indexOf(pattern);
+ if (startIndex == -1) {
+ continue;
+ }
+ return line.substring(startIndex + pattern.length());
+ }
+ return null;
+ }
+ }, null);
+ }
+ }
}