google / google/smali

Parser error reporting causes AIOOB Exception.

Open
#98 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.