fix: unbounded array accesses in channelscreen

Signed-off-by: Infi <infi@infi.sh>
This commit is contained in:
Infi 2025-08-02 20:49:20 +02:00
parent 45eb60a658
commit d71650225b
1 changed files with 7 additions and 0 deletions

View File

@ -694,6 +694,9 @@ fun ChannelScreen(
items(
viewModel.items.size,
key = { index ->
if (index < 0 || index >= viewModel.items.size) {
return@items index
}
when (val item = viewModel.items[index]) {
is ChannelScreenItem.RegularMessage -> item.message.id!!
is ChannelScreenItem.ProspectiveMessage -> item.message.id!!
@ -717,6 +720,10 @@ fun ChannelScreen(
}
}
) { index ->
// out of bounds check
if (index < 0 || index >= viewModel.items.size) {
return@items
}
when (val item = viewModel.items[index]) {
is ChannelScreenItem.RegularMessage -> {
RegularMessage(