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

Commit c99a3299 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Release ByteArrayElements in WritePackets native call" into main

parents 60826ae9 346cdeb3
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 */);
    }
    }
}
}