Loading core/jni/android_net_LocalSocketImpl.cpp +8 −12 Original line number Original line Diff line number Diff line Loading @@ -35,6 +35,7 @@ #include <cutils/sockets.h> #include <cutils/sockets.h> #include <netinet/tcp.h> #include <netinet/tcp.h> #include <ScopedUtfChars.h> namespace android { namespace android { Loading Loading @@ -72,25 +73,22 @@ socket_connect_local(JNIEnv *env, jobject object, jobject fileDescriptor, jstring name, jint namespaceId) jobject fileDescriptor, jstring name, jint namespaceId) { { int ret; int ret; const char *nameUtf8; int fd; int fd; nameUtf8 = env->GetStringUTFChars(name, NULL); fd = jniGetFDFromFileDescriptor(env, fileDescriptor); fd = jniGetFDFromFileDescriptor(env, fileDescriptor); if (env->ExceptionOccurred() != NULL) { if (env->ExceptionOccurred() != NULL) { return; return; } } ScopedUtfChars nameUtf8(env, name); ret = socket_local_client_connect( ret = socket_local_client_connect( fd, fd, nameUtf8, nameUtf8.c_str(), namespaceId, namespaceId, SOCK_STREAM); SOCK_STREAM); env->ReleaseStringUTFChars(name, nameUtf8); if (ret < 0) { if (ret < 0) { jniThrowIOException(env, errno); jniThrowIOException(env, errno); return; return; Loading @@ -109,11 +107,10 @@ socket_bind_local (JNIEnv *env, jobject object, jobject fileDescriptor, { { int ret; int ret; int fd; int fd; const char *nameUtf8; if (name == NULL) { if (name == NULL) { jniThrowNullPointerException(env, NULL); jniThrowNullPointerException(env, NULL); return; } } fd = jniGetFDFromFileDescriptor(env, fileDescriptor); fd = jniGetFDFromFileDescriptor(env, fileDescriptor); Loading @@ -122,11 +119,9 @@ socket_bind_local (JNIEnv *env, jobject object, jobject fileDescriptor, return; return; } } nameUtf8 = env->GetStringUTFChars(name, NULL); ScopedUtfChars nameUtf8(env, name); ret = socket_local_server_bind(fd, nameUtf8, namespaceId); env->ReleaseStringUTFChars(name, nameUtf8); ret = socket_local_server_bind(fd, nameUtf8.c_str(), namespaceId); if (ret < 0) { if (ret < 0) { jniThrowIOException(env, errno); jniThrowIOException(env, errno); Loading Loading @@ -497,6 +492,7 @@ static int socket_process_cmsg(JNIEnv *env, jobject thisJ, struct msghdr * pMsg) if (count < 0) { if (count < 0) { jniThrowException(env, "java/io/IOException", jniThrowException(env, "java/io/IOException", "invalid cmsg length"); "invalid cmsg length"); return -1; } } fdArray = env->NewObjectArray(count, class_FileDescriptor, NULL); fdArray = env->NewObjectArray(count, class_FileDescriptor, NULL); Loading Loading
core/jni/android_net_LocalSocketImpl.cpp +8 −12 Original line number Original line Diff line number Diff line Loading @@ -35,6 +35,7 @@ #include <cutils/sockets.h> #include <cutils/sockets.h> #include <netinet/tcp.h> #include <netinet/tcp.h> #include <ScopedUtfChars.h> namespace android { namespace android { Loading Loading @@ -72,25 +73,22 @@ socket_connect_local(JNIEnv *env, jobject object, jobject fileDescriptor, jstring name, jint namespaceId) jobject fileDescriptor, jstring name, jint namespaceId) { { int ret; int ret; const char *nameUtf8; int fd; int fd; nameUtf8 = env->GetStringUTFChars(name, NULL); fd = jniGetFDFromFileDescriptor(env, fileDescriptor); fd = jniGetFDFromFileDescriptor(env, fileDescriptor); if (env->ExceptionOccurred() != NULL) { if (env->ExceptionOccurred() != NULL) { return; return; } } ScopedUtfChars nameUtf8(env, name); ret = socket_local_client_connect( ret = socket_local_client_connect( fd, fd, nameUtf8, nameUtf8.c_str(), namespaceId, namespaceId, SOCK_STREAM); SOCK_STREAM); env->ReleaseStringUTFChars(name, nameUtf8); if (ret < 0) { if (ret < 0) { jniThrowIOException(env, errno); jniThrowIOException(env, errno); return; return; Loading @@ -109,11 +107,10 @@ socket_bind_local (JNIEnv *env, jobject object, jobject fileDescriptor, { { int ret; int ret; int fd; int fd; const char *nameUtf8; if (name == NULL) { if (name == NULL) { jniThrowNullPointerException(env, NULL); jniThrowNullPointerException(env, NULL); return; } } fd = jniGetFDFromFileDescriptor(env, fileDescriptor); fd = jniGetFDFromFileDescriptor(env, fileDescriptor); Loading @@ -122,11 +119,9 @@ socket_bind_local (JNIEnv *env, jobject object, jobject fileDescriptor, return; return; } } nameUtf8 = env->GetStringUTFChars(name, NULL); ScopedUtfChars nameUtf8(env, name); ret = socket_local_server_bind(fd, nameUtf8, namespaceId); env->ReleaseStringUTFChars(name, nameUtf8); ret = socket_local_server_bind(fd, nameUtf8.c_str(), namespaceId); if (ret < 0) { if (ret < 0) { jniThrowIOException(env, errno); jniThrowIOException(env, errno); Loading Loading @@ -497,6 +492,7 @@ static int socket_process_cmsg(JNIEnv *env, jobject thisJ, struct msghdr * pMsg) if (count < 0) { if (count < 0) { jniThrowException(env, "java/io/IOException", jniThrowException(env, "java/io/IOException", "invalid cmsg length"); "invalid cmsg length"); return -1; } } fdArray = env->NewObjectArray(count, class_FileDescriptor, NULL); fdArray = env->NewObjectArray(count, class_FileDescriptor, NULL); Loading