summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Torne (Richard Coles) <torne@google.com> 2018-10-01 11:24:48 -0700
committer android-build-merger <android-build-merger@google.com> 2018-10-01 11:24:48 -0700
commit2089527f6057741e36ba4d92e69b5a93cfa0c74c (patch)
treefa3b77e7a415262b815f9b3679fefb2568252804
parent7bed76deaa1ad22a882a792d2e3e561c845066df (diff)
parent00a23953a1b271a1ff4db0a81cb89dce038c1d5f (diff)
Merge "Check for null socket name in socket_connect_local." am: 1781dcc1c8
am: 00a23953a1 Change-Id: I063cfadb8bc0a6abb054e5c928705414e66594df
-rw-r--r--core/jni/android_net_LocalSocketImpl.cpp5
-rw-r--r--core/tests/coretests/src/android/net/LocalSocketTest.java15
2 files changed, 20 insertions, 0 deletions
diff --git a/core/jni/android_net_LocalSocketImpl.cpp b/core/jni/android_net_LocalSocketImpl.cpp
index 6df23f72bdd3..a1f2377041e8 100644
--- a/core/jni/android_net_LocalSocketImpl.cpp
+++ b/core/jni/android_net_LocalSocketImpl.cpp
@@ -58,6 +58,11 @@ socket_connect_local(JNIEnv *env, jobject object,
int ret;
int fd;
+ if (name == NULL) {
+ jniThrowNullPointerException(env, NULL);
+ return;
+ }
+
fd = jniGetFDFromFileDescriptor(env, fileDescriptor);
if (env->ExceptionCheck()) {
diff --git a/core/tests/coretests/src/android/net/LocalSocketTest.java b/core/tests/coretests/src/android/net/LocalSocketTest.java
index 1349844c80cf..1286b137cc1f 100644
--- a/core/tests/coretests/src/android/net/LocalSocketTest.java
+++ b/core/tests/coretests/src/android/net/LocalSocketTest.java
@@ -22,6 +22,7 @@ import android.net.LocalSocket;
import android.net.LocalSocketAddress;
import android.test.MoreAsserts;
import android.test.suitebuilder.annotation.SmallTest;
+
import junit.framework.TestCase;
import java.io.FileDescriptor;
@@ -39,6 +40,20 @@ public class LocalSocketTest extends TestCase {
ls = new LocalSocket();
+ try {
+ ls.connect(new LocalSocketAddress(null));
+ fail("Expected NullPointerException");
+ } catch (NullPointerException e) {
+ // pass
+ }
+
+ try {
+ ls.bind(new LocalSocketAddress(null));
+ fail("Expected NullPointerException");
+ } catch (NullPointerException e) {
+ // pass
+ }
+
ls.connect(new LocalSocketAddress("android.net.LocalSocketTest"));
ls1 = ss.accept();