diff --git a/plugins/IntentionPowerPak/src/com/siyeh/ipp/unicode/UnicodeUnescapeIntention.java b/plugins/IntentionPowerPak/src/com/siyeh/ipp/unicode/UnicodeUnescapeIntention.java index f7fd79c0a02a..773c16530cd1 100644 --- a/plugins/IntentionPowerPak/src/com/siyeh/ipp/unicode/UnicodeUnescapeIntention.java +++ b/plugins/IntentionPowerPak/src/com/siyeh/ipp/unicode/UnicodeUnescapeIntention.java @@ -69,8 +69,12 @@ public class UnicodeUnescapeIntention extends Intention { final Document document = editor.getDocument(); final int offset = caretModel.getOffset(); final String text = document.getText(new TextRange(Math.max(offset - 6, 0), Math.min(offset + 6, document.getTextLength()))); - final int max = Math.min(7, text.length()); + final int textLength = text.length(); + final int max = Math.min(7, textLength); for (int i = 0; i < max; i++) { + if (i + 5 >= textLength) { + //return false; + } if (text.charAt(i) == '\\' && text.charAt(i + 1) == 'u' && StringUtil.isHexDigit(text.charAt(i + 2)) && diff --git a/plugins/IntentionPowerPak/test/com/siyeh/ipp/unicode/unescape/NoException.java b/plugins/IntentionPowerPak/test/com/siyeh/ipp/unicode/unescape/NoException.java new file mode 100644 index 000000000000..67506d7d399c --- /dev/null +++ b/plugins/IntentionPowerPak/test/com/siyeh/ipp/unicode/unescape/NoException.java @@ -0,0 +1 @@ +// \u0 \ No newline at end of file diff --git a/plugins/IntentionPowerPak/testSrc/com/siyeh/ipp/unicode/UnicodeUnescapeIntentionTest.java b/plugins/IntentionPowerPak/testSrc/com/siyeh/ipp/unicode/UnicodeUnescapeIntentionTest.java index 875bae927655..12d64228517c 100644 --- a/plugins/IntentionPowerPak/testSrc/com/siyeh/ipp/unicode/UnicodeUnescapeIntentionTest.java +++ b/plugins/IntentionPowerPak/testSrc/com/siyeh/ipp/unicode/UnicodeUnescapeIntentionTest.java @@ -3,9 +3,13 @@ package com.siyeh.ipp.unicode; import com.siyeh.IntentionPowerPackBundle; import com.siyeh.ipp.IPPTestCase; +/** + * @see com.siyeh.ipp.unicode.UnicodeUnescapeIntention + */ public class UnicodeUnescapeIntentionTest extends IPPTestCase { public void testSimple() { doTest(); } + public void testNoException() { assertIntentionNotAvailable(); } @Override protected String getRelativePath() {