From 89bd3b8767b47051dd6cc42ea9deb898e3e48b66 Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Wed, 13 Nov 2019 20:37:22 +0900 Subject: [PATCH] EA-215872: Check text range validity before 'getText(range)' --- .../kotlin/idea/parameterInfo/custom/KotlinCodeHintsModel.kt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/idea/src/org/jetbrains/kotlin/idea/parameterInfo/custom/KotlinCodeHintsModel.kt b/idea/src/org/jetbrains/kotlin/idea/parameterInfo/custom/KotlinCodeHintsModel.kt index baae5d5e6f1..dbbc1e03dad 100644 --- a/idea/src/org/jetbrains/kotlin/idea/parameterInfo/custom/KotlinCodeHintsModel.kt +++ b/idea/src/org/jetbrains/kotlin/idea/parameterInfo/custom/KotlinCodeHintsModel.kt @@ -15,6 +15,7 @@ import com.intellij.openapi.editor.event.EditorFactoryListener import com.intellij.openapi.project.Project import com.intellij.psi.PsiElement import com.intellij.util.containers.ContainerUtil +import org.jetbrains.kotlin.idea.core.util.end import org.jetbrains.kotlin.idea.core.util.range import org.jetbrains.kotlin.idea.util.application.runReadAction import org.jetbrains.kotlin.psi.psiUtil.endOffset @@ -47,6 +48,9 @@ class KotlinCodeHintsModel(val project: Project) : EditorFactoryListener { if (textRange == null || !(textRange.startOffset <= offset && offset <= textRange.endOffset)) { return@firstOrNull false } + if (textRange.end > document.textLength) { + return@firstOrNull false + } val document = marker.document val hasNewLine = document.getText(textRange).contains('\n')