From fffa8113e0a7b646d2aff44de5a2cf84290e8951 Mon Sep 17 00:00:00 2001 From: Manoj Boopathi Raj Date: Thu, 26 Oct 2017 11:49:02 -0700 Subject: [PATCH] Fixed NullPointerException in IpSecService-Netd binder layer Replaced null with empty byte array in createTransportModeTransform for null auth.getKey, crypt.getKey() and authCrypt.getKey() Test: Ran CTS test Bug: 68052730 Change-Id: I5110b1297b4bfbb5766e8ecfd3d64f8110b52945 --- .../core/java/com/android/server/IpSecService.java | 6 +++--- .../server/IpSecServiceParameterizedTest.java | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/services/core/java/com/android/server/IpSecService.java b/services/core/java/com/android/server/IpSecService.java index a139ac4f3f681..1154fbe60973b 100644 --- a/services/core/java/com/android/server/IpSecService.java +++ b/services/core/java/com/android/server/IpSecService.java @@ -944,13 +944,13 @@ public class IpSecService extends IIpSecService.Stub { (c.getNetwork() != null) ? c.getNetwork().getNetworkHandle() : 0, spi, (auth != null) ? auth.getName() : "", - (auth != null) ? auth.getKey() : null, + (auth != null) ? auth.getKey() : new byte[] {}, (auth != null) ? auth.getTruncationLengthBits() : 0, (crypt != null) ? crypt.getName() : "", - (crypt != null) ? crypt.getKey() : null, + (crypt != null) ? crypt.getKey() : new byte[] {}, (crypt != null) ? crypt.getTruncationLengthBits() : 0, (authCrypt != null) ? authCrypt.getName() : "", - (authCrypt != null) ? authCrypt.getKey() : null, + (authCrypt != null) ? authCrypt.getKey() : new byte[] {}, (authCrypt != null) ? authCrypt.getTruncationLengthBits() : 0, encapType, encapLocalPort, diff --git a/tests/net/java/com/android/server/IpSecServiceParameterizedTest.java b/tests/net/java/com/android/server/IpSecServiceParameterizedTest.java index b4b809480ffb7..9e97d84ba6808 100644 --- a/tests/net/java/com/android/server/IpSecServiceParameterizedTest.java +++ b/tests/net/java/com/android/server/IpSecServiceParameterizedTest.java @@ -206,7 +206,7 @@ public class IpSecServiceParameterizedTest { eq(CRYPT_KEY), anyInt(), eq(""), - isNull(), + eq(new byte[] {}), eq(0), anyInt(), anyInt(), @@ -227,7 +227,7 @@ public class IpSecServiceParameterizedTest { eq(CRYPT_KEY), anyInt(), eq(""), - isNull(), + eq(new byte[] {}), eq(0), anyInt(), anyInt(), @@ -256,10 +256,10 @@ public class IpSecServiceParameterizedTest { anyLong(), eq(TEST_SPI_OUT), eq(""), - isNull(), + eq(new byte[] {}), eq(0), eq(""), - isNull(), + eq(new byte[] {}), eq(0), eq(IpSecAlgorithm.AUTH_CRYPT_AES_GCM), eq(CRYPT_KEY), @@ -277,10 +277,10 @@ public class IpSecServiceParameterizedTest { anyLong(), eq(TEST_SPI_IN), eq(""), - isNull(), + eq(new byte[] {}), eq(0), eq(""), - isNull(), + eq(new byte[] {}), eq(0), eq(IpSecAlgorithm.AUTH_CRYPT_AES_GCM), eq(CRYPT_KEY),