From 7f307dfe8ee85cf62ef409bb64e8c1edb4fac4fb Mon Sep 17 00:00:00 2001 From: Bas Leijdekkers Date: Fri, 27 Jun 2014 15:34:22 +0200 Subject: [PATCH] EA-57372 & IDEA-126616 (Structural Search: throwable at com.intellij.structuralsearch.plugin.ui.SearchDialog$2.run) --- .../impl/matcher/compiler/PatternCompiler.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/plugins/structuralsearch/source/com/intellij/structuralsearch/impl/matcher/compiler/PatternCompiler.java b/plugins/structuralsearch/source/com/intellij/structuralsearch/impl/matcher/compiler/PatternCompiler.java index 1869f5f97ba4..8675b0a686b1 100644 --- a/plugins/structuralsearch/source/com/intellij/structuralsearch/impl/matcher/compiler/PatternCompiler.java +++ b/plugins/structuralsearch/source/com/intellij/structuralsearch/impl/matcher/compiler/PatternCompiler.java @@ -325,7 +325,11 @@ public class PatternCompiler { @Override public String getPrefix(int varIndex) { - return myPrefixes[varIndex]; + try { + return myPrefixes[varIndex]; + } catch (ArrayIndexOutOfBoundsException e) { + return null; + } } } @@ -351,6 +355,9 @@ public class PatternCompiler { final String name = template.getSegmentName(i); final String prefix = prefixProvider.getPrefix(i); + if (prefix == null) { + throw new MalformedPatternException(); + } buf.append(text.substring(prevOffset,offset)); buf.append(prefix);