From 843e62ad290ee0a707be9322ee943921da3ea420 Mon Sep 17 00:00:00 2001 From: oSumAtrIX Date: Thu, 29 Sep 2022 21:27:56 +0200 Subject: [PATCH] fix: use instruction index instead of strings list index for `StringMatch` --- .../patcher/fingerprint/method/impl/MethodFingerprint.kt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/kotlin/app/revanced/patcher/fingerprint/method/impl/MethodFingerprint.kt b/src/main/kotlin/app/revanced/patcher/fingerprint/method/impl/MethodFingerprint.kt index 2049511..f95d978 100644 --- a/src/main/kotlin/app/revanced/patcher/fingerprint/method/impl/MethodFingerprint.kt +++ b/src/main/kotlin/app/revanced/patcher/fingerprint/method/impl/MethodFingerprint.kt @@ -102,17 +102,17 @@ abstract class MethodFingerprint( val stringsList = methodFingerprint.strings.toMutableList() - implementation.instructions.forEach { instruction -> - if (instruction.opcode.ordinal != Opcode.CONST_STRING.ordinal) return@forEach + implementation.instructions.forEachIndexed { instructionIndex, instruction -> + if (instruction.opcode.ordinal != Opcode.CONST_STRING.ordinal) return@forEachIndexed val string = ((instruction as ReferenceInstruction).reference as StringReference).string val index = stringsList.indexOfFirst { it == string } - if (index == -1) return@forEach + if (index == -1) return@forEachIndexed add( StringMatch( string, - index + instructionIndex ) ) stringsList.removeAt(index)