Closed Bug 490710 Opened 15 years ago Closed 15 years ago

abcasm: callstatic emits 2 different errors for invalid method_info indices

Categories

(Tamarin Graveyard :: Tools, defect)

defect
Not set
minor

Tracking

(Not tracked)

VERIFIED WORKSFORME
Future

People

(Reporter: cpeyer, Assigned: tharwood)

Details

Specifiying a positive invalid method_info index results in an assertion:

function main() {
    getlocal0
    pushscope
    findproperty String
    callstatic 100 0
    returnvoid
}

0 running abcasm/test.abs
verify global$init()
stack:
scope: ~
locals: global
0:getlocal0
stack: global
scope: ~
locals: global
1:pushscope
stack:
scope: global
locals: global
2:findproperty {public,}::String
stack: global
scope: global
locals: global
4:Assertion failed: "((index < len))" ("/Users/build/buildbot/tamarin-redux/mac-intel-10_5/tamarin-redux/core/avmplusList.h":330)

Specifiying a negative invalid method_info index results in a correct verifier error:

function main() {
    getlocal0
    pushscope
    findproperty String
    callstatic -1 0
    returnvoid
}

0 running abcasm/test.abs
verify global$init()
stack:
scope: ~
locals: global
0:getlocal0
stack: global
scope: ~
locals: global
1:pushscope
stack:
scope: global
locals: global
2:findproperty {public,}::String
VerifyError: Error #1107: The ABC data is corrupt, attempt to read out of bounds.
Target Milestone: --- → Future
I can repro, but a release build shows the 1107 error in both cases.
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → WORKSFORME
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.