Parser error reporting causes AIOOB Exception.
- Dominant language
- Java
- Stars
- 400
- Forks
- 67
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 1
Description
When assembling an invalid smali file (added a random character to the last .end method -> .end methodX):
```java
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 218
at com.android.tools.smali.smali.smaliParser.getTokenErrorDisplay(smaliParser.java:401)
at org.antlr.runtime.BaseRecognizer.getErrorMessage(BaseRecognizer.java:253)
at com.android.tools.smali.smali.smaliParser.getErrorMessage(smaliParser.java:360)
at org.antlr.runtime.BaseRecognizer.displayRecognitionError(BaseRecognizer.java:193)
at org.antlr.runtime.BaseRecognizer.reportError(BaseRecognizer.java:186)
at com.android.tools.smali.smali.smaliParser.method(smaliParser.java:1756)
at com.android.tools.smali.smali.smaliParser.smali_file(smaliParser.java:624)
```
Due to the error token type being -1 (`tokenNames[t.getType()]`).
Contributor guide
Assessment
This issue has not been assessed yet.