From fcdf74ed94409c16c759795a60d06471ae6a46d1 Mon Sep 17 00:00:00 2001 From: andrekir Date: Mon, 16 Sep 2024 18:19:42 -0300 Subject: [PATCH] fix: divide-by-zero in `channelNum` calculation --- .../main/java/com/geeksville/mesh/model/ChannelOption.kt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/geeksville/mesh/model/ChannelOption.kt b/app/src/main/java/com/geeksville/mesh/model/ChannelOption.kt index dc5f3b58e..eb59cfff1 100644 --- a/app/src/main/java/com/geeksville/mesh/model/ChannelOption.kt +++ b/app/src/main/java/com/geeksville/mesh/model/ChannelOption.kt @@ -46,9 +46,10 @@ val LoRaConfig.numChannels: Int get() { return 0 } -internal fun LoRaConfig.channelNum(primaryName: String): Int { - return if (channelNum != 0) channelNum - else (hash(primaryName) % numChannels.toUInt()).toInt() + 1 +internal fun LoRaConfig.channelNum(primaryName: String): Int = when { + channelNum != 0 -> channelNum + numChannels == 0 -> 0 + else -> (hash(primaryName) % numChannels.toUInt()).toInt() + 1 } internal fun LoRaConfig.radioFreq(channelNum: Int): Float {