CTS fix test for Android Security CVE-2016-2499
Bug: 72507587
Test: run cts -m CtsSecurityTestCases -t android.security.cts.MediaRecorderInfoLeakTest#test_cve_2016_2499
Change-Id: I535b1dff9ef902c856a297a9112cb7ff332894d5
Merged-In: I535b1dff9ef902c856a297a9112cb7ff332894d5
diff --git a/tests/tests/security/src/android/security/cts/MediaRecorderInfoLeakTest.java b/tests/tests/security/src/android/security/cts/MediaRecorderInfoLeakTest.java
index ee30695..0277338 100644
--- a/tests/tests/security/src/android/security/cts/MediaRecorderInfoLeakTest.java
+++ b/tests/tests/security/src/android/security/cts/MediaRecorderInfoLeakTest.java
@@ -31,24 +31,26 @@
@SecurityTest(minPatchLevel = "2016-06")
public void test_cve_2016_2499() throws Exception {
MediaRecorder mediaRecorder = null;
+ long end = System.currentTimeMillis() + 600_000; // 10 minutes from now
try {
- for (int i = 0; i < 1000; i++) {
- mediaRecorder = new MediaRecorder();
- mediaRecorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT);
- mediaRecorder.setVideoSource(MediaRecorder.VideoSource.SURFACE);
- mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
- mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
- mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H263);
- mediaRecorder.setVideoFrameRate(30);
- mediaRecorder.setVideoSize(352, 288);
- mediaRecorder.setOutputFile(
- new File(getContext().getFilesDir(), "record.output").getPath());
- mediaRecorder.prepare();
- int test = mediaRecorder.getMaxAmplitude();
- mediaRecorder.release();
- if(test != 0){
- fail("MediaRecorderInfoLeakTest failed");
- }
+ while(System.currentTimeMillis() < end) {
+ mediaRecorder = new MediaRecorder();
+ mediaRecorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT);
+ mediaRecorder.setVideoSource(MediaRecorder.VideoSource.SURFACE);
+ mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
+ mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
+ mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H263);
+ mediaRecorder.setVideoFrameRate(30);
+ mediaRecorder.setVideoSize(352, 288);
+ mediaRecorder.setOutputFile(
+ new File(getContext().getFilesDir(), "record.output").getPath());
+ mediaRecorder.prepare();
+ int test = mediaRecorder.getMaxAmplitude();
+ mediaRecorder.reset();
+ mediaRecorder.release();
+ if(test != 0){
+ fail("MediaRecorderInfoLeakTest failed");
+ }
}
} catch (Exception e) {
fail("Media Recorder Exception" + e.getMessage());
@@ -57,5 +59,5 @@
mediaRecorder.release();
}
}
- }
+ }
}