Closed Bug 471361 Opened 17 years ago Closed 17 years ago

Verifier rejects callproperty with multiname-late name

Categories

(Tamarin Graveyard :: Virtual Machine, defect)

x86
macOS
defect
Not set
normal

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: lhansen, Assigned: jodyer)

References

Details

Attachments

(1 file)

It looks like the verifier path for the callproperty instruction incorrectly does not take into account the stack movement resulting from using a late multiname (the namespaceset is in the name; the identifier is computed at run time). Specifically, the result of checkPropertyMultiname is discarded and not used inside emitCallproperty. Attaching a patch I believe is correct, for your consideration.
Attached patch Likely fix — — Splinter Review
What will this do to existing SWF/ABC files? Do we need to insert a version check?
(In reply to comment #2) > What will this do to existing SWF/ABC files? Do we need to insert a version > check? I don't think so. The JIT appears to have the same bug; when I fix the verifier, the jitted code crashes (interpreted code does not).
Blocks: 474014
Attachment #354639 - Attachment is patch: true
Attachment #354639 - Flags: review?(edwsmith)
Attachment #354639 - Flags: review?(edwsmith) → review+
redux changeset: 1312:c5584a2a7bb8
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
(BTW, JIT crash no longer reproducible.)
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: