Add a test for use-after-unmap
Test: this
Bug: 64264008
Change-Id: I5b4e85b8eeec874c06c75e2acded29b042952aae
diff --git a/tests/tests/os/src/android/os/cts/SharedMemoryTest.java b/tests/tests/os/src/android/os/cts/SharedMemoryTest.java
index c40cdc8..6c66feb 100644
--- a/tests/tests/os/src/android/os/cts/SharedMemoryTest.java
+++ b/tests/tests/os/src/android/os/cts/SharedMemoryTest.java
@@ -174,6 +174,22 @@
}
@Test
+ public void testUseAfterUnmap() throws RemoteException, ErrnoException {
+ SharedMemory sharedMemory = SharedMemory.create(null, 1);
+ ByteBuffer buffer = sharedMemory.mapReadWrite();
+ byte expected = 5;
+ buffer.put(0, expected);
+ assertEquals(expected, buffer.get(0));
+ SharedMemory.unmap(buffer);
+ boolean failed = false;
+ try {
+ buffer.get(0);
+ failed = true;
+ } catch (Throwable t) { }
+ assertFalse(failed);
+ }
+
+ @Test
public void testGetFd() throws ErrnoException {
SharedMemory sharedMemory = SharedMemory.create("hello", 1024);
assertNotEquals(-1, sharedMemory.getFd());