From bc2208a2a2dfdf26e953dd8f131b3f57b4b60eae Mon Sep 17 00:00:00 2001 From: Josh Gao Date: Wed, 31 Oct 2018 12:26:40 -0700 Subject: [PATCH] Avoid calling ParcelFileDescriptor.fromSocket on new Sockets. Previously, we were calling ParcelFileDescriptor.fromSocket on a newly initialized Socket, which doesn't actually create a file descriptor until the Socket is bound or connected. Bind the Socket to a random port to force the file descriptor to be allocated. Test: treehugger Change-Id: Id92a3e1316881d1c5382485aa2d6a41fc37e9651 --- .../android/server/IpSecServiceParameterizedTest.java | 9 +++++++-- tests/net/java/com/android/server/IpSecServiceTest.java | 4 +++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/tests/net/java/com/android/server/IpSecServiceParameterizedTest.java b/tests/net/java/com/android/server/IpSecServiceParameterizedTest.java index 9b919abfa4..38e9563dc5 100644 --- a/tests/net/java/com/android/server/IpSecServiceParameterizedTest.java +++ b/tests/net/java/com/android/server/IpSecServiceParameterizedTest.java @@ -525,7 +525,10 @@ public class IpSecServiceParameterizedTest { IpSecTransformResponse createTransformResp = mIpSecService.createTransform(ipSecConfig, new Binder(), "blessedPackage"); - ParcelFileDescriptor pfd = ParcelFileDescriptor.fromSocket(new Socket()); + + Socket socket = new Socket(); + socket.bind(null); + ParcelFileDescriptor pfd = ParcelFileDescriptor.fromSocket(socket); int resourceId = createTransformResp.resourceId; mIpSecService.applyTransportModeTransform(pfd, IpSecManager.DIRECTION_OUT, resourceId); @@ -542,7 +545,9 @@ public class IpSecServiceParameterizedTest { @Test public void testRemoveTransportModeTransform() throws Exception { - ParcelFileDescriptor pfd = ParcelFileDescriptor.fromSocket(new Socket()); + Socket socket = new Socket(); + socket.bind(null); + ParcelFileDescriptor pfd = ParcelFileDescriptor.fromSocket(socket); mIpSecService.removeTransportModeTransforms(pfd); verify(mMockNetd).ipSecRemoveTransportModeTransform(pfd.getFileDescriptor()); diff --git a/tests/net/java/com/android/server/IpSecServiceTest.java b/tests/net/java/com/android/server/IpSecServiceTest.java index 2c94a601fb..8124f0aabc 100644 --- a/tests/net/java/com/android/server/IpSecServiceTest.java +++ b/tests/net/java/com/android/server/IpSecServiceTest.java @@ -422,7 +422,9 @@ public class IpSecServiceTest { @Test public void testRemoveTransportModeTransform() throws Exception { - ParcelFileDescriptor pfd = ParcelFileDescriptor.fromSocket(new Socket()); + Socket socket = new Socket(); + socket.bind(null); + ParcelFileDescriptor pfd = ParcelFileDescriptor.fromSocket(socket); mIpSecService.removeTransportModeTransforms(pfd); verify(mMockNetd).ipSecRemoveTransportModeTransform(pfd.getFileDescriptor());