From dab115c9b27a14e516ac522338436b607cf2e59f Mon Sep 17 00:00:00 2001 From: Igor Artamonov Date: Wed, 3 Jul 2019 23:02:19 -0400 Subject: [PATCH] problem: OutOfBound array access --- .../emeraldpay/dshackle/upstream/ChainConnect.kt | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/main/kotlin/io/emeraldpay/dshackle/upstream/ChainConnect.kt b/src/main/kotlin/io/emeraldpay/dshackle/upstream/ChainConnect.kt index 91d3915b..0434e72a 100644 --- a/src/main/kotlin/io/emeraldpay/dshackle/upstream/ChainConnect.kt +++ b/src/main/kotlin/io/emeraldpay/dshackle/upstream/ChainConnect.kt @@ -48,10 +48,10 @@ class ChainConnect( } class SingleApi( - val quorumApi: QuorumApi + private val quorumApi: QuorumApi ): Iterator { - var consumed = false + private var consumed = false override fun hasNext(): Boolean { return !consumed && quorumApi.hasNext() @@ -64,12 +64,12 @@ class ChainConnect( } class QuorumApi( - val apis: List, - val quorum: Int, - var pos: Int + private val apis: List, + private val quorum: Int, + private var pos: Int ): Iterator { - var consumed = 0 + private var consumed = 0 override fun hasNext(): Boolean { return consumed < quorum @@ -78,7 +78,7 @@ class ChainConnect( override fun next(): EthereumApi { val start = pos while (pos < start + apis.size) { - val api = apis[pos++] + val api = apis[pos++ % apis.size] if (api.isAvailable()) { consumed++ return api.api