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

Commit 9a9adb5d authored by Brad Fitzpatrick's avatar Brad Fitzpatrick Committed by Android Git Automerger
Browse files

am 5851b866: am 27e00544: am 9907d161: Merge "Fix data corruption when writing to Bluetooth socket"

* commit '5851b866':
  Fix data corruption when writing to Bluetooth socket
parents bc20ac85 5851b866
Loading
Loading
Loading
Loading
+13 −7
Original line number Diff line number Diff line
@@ -448,7 +448,7 @@ static jint writeNative(JNIEnv *env, jobject obj, jbyteArray jb, jint offset,
#ifdef HAVE_BLUETOOTH
    LOGV("%s", __FUNCTION__);

    int ret;
    int ret, total;
    jbyte *b;
    int sz;
    struct asocket *s = get_socketData(env, obj);
@@ -471,15 +471,21 @@ static jint writeNative(JNIEnv *env, jobject obj, jbyteArray jb, jint offset,
        return -1;
    }

    total = 0;
    while (length > 0) {
        ret = asocket_write(s, &b[offset], length, -1);
        if (ret < 0) {
            jniThrowIOException(env, errno);
            env->ReleaseByteArrayElements(jb, b, JNI_ABORT);
            return -1;
        }
        offset += ret;
        total += ret;
        length -= ret;
    }

    env->ReleaseByteArrayElements(jb, b, JNI_ABORT);  // no need to commit
    return (jint)ret;
    return (jint)total;

#endif
    jniThrowIOException(env, ENOSYS);