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

Commit 346cdeb3 authored by Pablo Gamito's avatar Pablo Gamito
Browse files

Release ByteArrayElements in WritePackets native call

Change-Id: I65d1099ad553ebaa1551299ea1e5f21457a2c11e
parent 44d230c4
Loading
Loading
Loading
Loading
+3 −1
Original line number Original line Diff line number Diff line
@@ -201,7 +201,7 @@ void PerfettoDataSource::WritePackets(JNIEnv* env, jobjectArray packets) {
    for (int i = 0; i < packets_count; i++) {
    for (int i = 0; i < packets_count; i++) {
        jbyteArray packet_proto_buffer = (jbyteArray)env->GetObjectArrayElement(packets, i);
        jbyteArray packet_proto_buffer = (jbyteArray)env->GetObjectArrayElement(packets, i);


        jbyte* raw_proto_buffer = env->GetByteArrayElements(packet_proto_buffer, 0);
        jbyte* raw_proto_buffer = env->GetByteArrayElements(packet_proto_buffer, nullptr);
        int buffer_size = env->GetArrayLength(packet_proto_buffer);
        int buffer_size = env->GetArrayLength(packet_proto_buffer);


        struct PerfettoDsRootTracePacket trace_packet;
        struct PerfettoDsRootTracePacket trace_packet;
@@ -209,6 +209,8 @@ void PerfettoDataSource::WritePackets(JNIEnv* env, jobjectArray packets) {
        PerfettoPbMsgAppendBytes(&trace_packet.msg.msg, (const uint8_t*)raw_proto_buffer,
        PerfettoPbMsgAppendBytes(&trace_packet.msg.msg, (const uint8_t*)raw_proto_buffer,
                                 buffer_size);
                                 buffer_size);
        PerfettoDsTracerPacketEnd(&gIterator, &trace_packet);
        PerfettoDsTracerPacketEnd(&gIterator, &trace_packet);

        env->ReleaseByteArrayElements(packet_proto_buffer, raw_proto_buffer, 0 /* default mode */);
    }
    }
}
}