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

Commit 82652387 authored by Jakub Tyszkowski's avatar Jakub Tyszkowski
Browse files

broadcast: Fix filling broadcast code in JNI

Since the broadcast code can be shorter than 16 octets,
it should be padded with zeros.

Bug: 234708679
Fixes: 234708679
Test: manually tested
Change-Id: Ie36c68fdd044e8824cc186c1c72a91acb6efb869
parent 7d9b2546
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -1133,9 +1133,11 @@ static void CreateBroadcastNative(JNIEnv* env, jobject object,
  std::shared_lock<std::shared_timed_mutex> lock(sBroadcasterInterfaceMutex);
  if (!sLeAudioBroadcasterInterface) return;

  std::array<uint8_t, 16> code_array;
  if (broadcast_code)
    env->GetByteArrayRegion(broadcast_code, 0, 16, (jbyte*)code_array.data());
  std::array<uint8_t, 16> code_array{};
  if (broadcast_code) {
    jsize size = env->GetArrayLength(broadcast_code);
    env->GetByteArrayRegion(broadcast_code, 0, size, (jbyte*)code_array.data());
  }

  jbyte* meta = env->GetByteArrayElements(metadata, nullptr);
  sLeAudioBroadcasterInterface->CreateBroadcast(