diff options
| author | 2018-10-01 11:24:48 -0700 | |
|---|---|---|
| committer | 2018-10-01 11:24:48 -0700 | |
| commit | 2089527f6057741e36ba4d92e69b5a93cfa0c74c (patch) | |
| tree | fa3b77e7a415262b815f9b3679fefb2568252804 | |
| parent | 7bed76deaa1ad22a882a792d2e3e561c845066df (diff) | |
| parent | 00a23953a1b271a1ff4db0a81cb89dce038c1d5f (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.cpp | 5 | ||||
| -rw-r--r-- | core/tests/coretests/src/android/net/LocalSocketTest.java | 15 |
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(); |