From ecbc6118d84dd714e95751ebc27fb4f253964bf8 Mon Sep 17 00:00:00 2001 From: Dmitry Batkovich Date: Wed, 30 Aug 2017 11:34:58 +0300 Subject: [PATCH] AnnotateOverriddenMethodsPredicate: fix AIOOBE --- .../ipp/annotation/AnnotateOverriddenMethodsPredicate.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/plugins/IntentionPowerPak/src/com/siyeh/ipp/annotation/AnnotateOverriddenMethodsPredicate.java b/plugins/IntentionPowerPak/src/com/siyeh/ipp/annotation/AnnotateOverriddenMethodsPredicate.java index 0fea7b92f3cb..38236a29d845 100644 --- a/plugins/IntentionPowerPak/src/com/siyeh/ipp/annotation/AnnotateOverriddenMethodsPredicate.java +++ b/plugins/IntentionPowerPak/src/com/siyeh/ipp/annotation/AnnotateOverriddenMethodsPredicate.java @@ -16,6 +16,7 @@ package com.siyeh.ipp.annotation; import com.intellij.codeInsight.AnnotationUtil; +import com.intellij.lang.jvm.JvmParameter; import com.intellij.openapi.util.text.StringUtil; import com.intellij.psi.*; import com.siyeh.ig.JavaOverridingMethodUtil; @@ -73,7 +74,11 @@ class AnnotateOverriddenMethodsPredicate implements PsiElementPredicate { return !JavaOverridingMethodUtil.containsAnnotationWithName(m, annotationShortName); } else { - PsiModifierListOwner parameter = (PsiModifierListOwner)m.getParameters()[parameterIndex]; + JvmParameter[] parameters = m.getParameters(); + if (parameters.length <= parameterIndex) { + return false; + } + PsiModifierListOwner parameter = (PsiModifierListOwner)parameters[parameterIndex]; return !JavaOverridingMethodUtil.containsAnnotationWithName(parameter, annotationShortName); } };