diff --git a/akka-actor/src/main/scala-2.11/akka/util/ByteIterator.scala b/akka-actor/src/main/scala-2.11/akka/util/ByteIterator.scala index f877dfec65..e329baeb60 100644 --- a/akka-actor/src/main/scala-2.11/akka/util/ByteIterator.scala +++ b/akka-actor/src/main/scala-2.11/akka/util/ByteIterator.scala @@ -460,7 +460,11 @@ abstract class ByteIterator extends BufferedIterator[Byte] { override def indexWhere(p: Byte => Boolean): Int = indexWhere(p, 0) def indexWhere(p: Byte => Boolean, from: Int): Int = { - var index = from + var index = 0 + while (index < from) { + next() + index += 1 + } var found = false while (!found && hasNext) if (p(next())) { found = true @@ -471,7 +475,7 @@ abstract class ByteIterator extends BufferedIterator[Byte] { } def indexOf(elem: Byte): Int = indexOf(elem, 0) - def indexOf(elem: Byte, from: Int): Int = indexWhere(_ == elem, 0) + def indexOf(elem: Byte, from: Int): Int = indexWhere(_ == elem, from) override def indexOf[B >: Byte](elem: B): Int = indexOf[B](elem, 0) def indexOf[B >: Byte](elem: B, from: Int): Int = indexWhere(_ == elem, from) diff --git a/akka-actor/src/main/scala-2.13+/akka/util/ByteIterator.scala b/akka-actor/src/main/scala-2.13+/akka/util/ByteIterator.scala index 80e74366e5..48e149b823 100644 --- a/akka-actor/src/main/scala-2.13+/akka/util/ByteIterator.scala +++ b/akka-actor/src/main/scala-2.13+/akka/util/ByteIterator.scala @@ -466,7 +466,11 @@ abstract class ByteIterator extends BufferedIterator[Byte] { } override def indexWhere(p: Byte => Boolean, from: Int = 0): Int = { - var index = from + var index = 0 + while (index < from) { + next() + index += 1 + } var found = false while (!found && hasNext) if (p(next())) { found = true