diff options
author | Andreas Gampe <agampe@google.com> | 2015-05-26 13:35:39 -0700 |
---|---|---|
committer | Andreas Gampe <agampe@google.com> | 2015-05-27 08:43:53 -0700 |
commit | 3b74e275838729c5023cd80116f1b3b81306ee19 (patch) | |
tree | 1d343440fe1bcfbd9f660e20616197ab525db66d /test/800-smali/smali | |
parent | 54d65738eecc1fa79ed528ff2f6b9b4f7a4743be (diff) | |
download | art-3b74e275838729c5023cd80116f1b3b81306ee19.zip art-3b74e275838729c5023cd80116f1b3b81306ee19.tar.gz art-3b74e275838729c5023cd80116f1b3b81306ee19.tar.bz2 |
ART: Fix wrong hard-failure handling in verifier
Correctly return null for the method when a hard failure is
encountered. Also improve logging for order failures. Add a
regression test.
Bug: 20224106
Change-Id: I6e08202617147378b204af169308b67fc69f92c6
Diffstat (limited to 'test/800-smali/smali')
-rw-r--r-- | test/800-smali/smali/b_20224106.smali | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/test/800-smali/smali/b_20224106.smali b/test/800-smali/smali/b_20224106.smali new file mode 100644 index 0000000..78009db --- /dev/null +++ b/test/800-smali/smali/b_20224106.smali @@ -0,0 +1,16 @@ +.class public LB20224106; + +# Test that a hard + soft verifier failure in invoke-interface does not lead to +# an order abort (the last failure must be hard). + +.super Ljava/lang/Object; + +.method public static run(LB20224106;Ljava/lang/Object;)V + .registers 4 + # Two failure points here: + # 1) There is a parameter type mismatch. The formal type is integral (int), but the actual + # type is reference. + # 2) The receiver is not an interface or Object + invoke-interface {v2, v3}, Ljava/net/DatagramSocket;->checkPort(I)V + return-void +.end method |