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

Commit 5851b866 authored by Brad Fitzpatrick's avatar Brad Fitzpatrick Committed by Android Git Automerger
Browse files

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

* commit '27e00544':
  Fix data corruption when writing to Bluetooth socket
parents e511fb33 27e00544
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);