fix: unbounded array accesses in channelscreen
Signed-off-by: Infi <infi@infi.sh>
This commit is contained in:
parent
45eb60a658
commit
d71650225b
|
|
@ -694,6 +694,9 @@ fun ChannelScreen(
|
||||||
items(
|
items(
|
||||||
viewModel.items.size,
|
viewModel.items.size,
|
||||||
key = { index ->
|
key = { index ->
|
||||||
|
if (index < 0 || index >= viewModel.items.size) {
|
||||||
|
return@items index
|
||||||
|
}
|
||||||
when (val item = viewModel.items[index]) {
|
when (val item = viewModel.items[index]) {
|
||||||
is ChannelScreenItem.RegularMessage -> item.message.id!!
|
is ChannelScreenItem.RegularMessage -> item.message.id!!
|
||||||
is ChannelScreenItem.ProspectiveMessage -> item.message.id!!
|
is ChannelScreenItem.ProspectiveMessage -> item.message.id!!
|
||||||
|
|
@ -717,6 +720,10 @@ fun ChannelScreen(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
) { index ->
|
) { index ->
|
||||||
|
// out of bounds check
|
||||||
|
if (index < 0 || index >= viewModel.items.size) {
|
||||||
|
return@items
|
||||||
|
}
|
||||||
when (val item = viewModel.items[index]) {
|
when (val item = viewModel.items[index]) {
|
||||||
is ChannelScreenItem.RegularMessage -> {
|
is ChannelScreenItem.RegularMessage -> {
|
||||||
RegularMessage(
|
RegularMessage(
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue