Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5adfb21e authored by Elliott Hughes's avatar Elliott Hughes Committed by Android Git Automerger
Browse files

am a0b320a6: Merge "Remove possible leak when exception occurred."

* commit 'a0b320a6':
  Remove possible leak when exception occurred.
parents 53d86f6e a0b320a6
Loading
Loading
Loading
Loading
+8 −12
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@

#include <cutils/sockets.h>
#include <netinet/tcp.h>
#include <ScopedUtfChars.h>

namespace android {

@@ -72,25 +73,22 @@ socket_connect_local(JNIEnv *env, jobject object,
                        jobject fileDescriptor, jstring name, jint namespaceId)
{
    int ret;
    const char *nameUtf8;
    int fd;

    nameUtf8 = env->GetStringUTFChars(name, NULL);

    fd = jniGetFDFromFileDescriptor(env, fileDescriptor);

    if (env->ExceptionOccurred() != NULL) {
        return;
    }

    ScopedUtfChars nameUtf8(env, name);

    ret = socket_local_client_connect(
                fd,
                nameUtf8,
                nameUtf8.c_str(),
                namespaceId,
                SOCK_STREAM);

    env->ReleaseStringUTFChars(name, nameUtf8);

    if (ret < 0) {
        jniThrowIOException(env, errno);
        return;
@@ -109,11 +107,10 @@ socket_bind_local (JNIEnv *env, jobject object, jobject fileDescriptor,
{
    int ret;
    int fd;
    const char *nameUtf8;


    if (name == NULL) {
        jniThrowNullPointerException(env, NULL);
        return;
    }

    fd = jniGetFDFromFileDescriptor(env, fileDescriptor);
@@ -122,11 +119,9 @@ socket_bind_local (JNIEnv *env, jobject object, jobject fileDescriptor,
        return;
    }

    nameUtf8 = env->GetStringUTFChars(name, NULL);

    ret = socket_local_server_bind(fd, nameUtf8, namespaceId);
    ScopedUtfChars nameUtf8(env, name);

    env->ReleaseStringUTFChars(name, nameUtf8);
    ret = socket_local_server_bind(fd, nameUtf8.c_str(), namespaceId);

    if (ret < 0) {
        jniThrowIOException(env, errno);
@@ -497,6 +492,7 @@ static int socket_process_cmsg(JNIEnv *env, jobject thisJ, struct msghdr * pMsg)
            if (count < 0) {
                jniThrowException(env, "java/io/IOException",
                    "invalid cmsg length");
                return -1;
            }

            fdArray = env->NewObjectArray(count, class_FileDescriptor, NULL);