Closed Bug 650633 Opened 15 years ago Closed 12 years ago

"Assertion failure: obj" with InstallTrigger, typed array [@ js_IsArrayBuffer] [@ js::ArrayBuffer::prop_getByteLength]

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
critical

Tracking

()

RESOLVED FIXED

People

(Reporter: jruderman, Unassigned)

Details

(Keywords: assertion, testcase, Whiteboard: [sg:dos])

Attachments

(3 files)

Debug: Assertion failure: obj, at js/src/jstypedarray.cpp:1609 Opt: Crash (bp-40bdcfdb-65e0-484e-85a7-d622c2110417) Security-sensitive for now because the testcase involves InstallTrigger. That usually means something is going wrong involving a security boundary.
Assignee: nobody → jwalden+bmo
Not a security problem, just a case where the property getter is passed an object that doesn't have an ArrayBuffer on its prototype chain (InstallTrigger is a proxy because it's from another compartment), and the prototype-chain walk doesn't check for getting to a null [[Prototype]]. This patch fixes the crash, but it doesn't quite make behavior correct. You'd think, for the testcase here, that evaluating InstallTrigger.byteLength would compute 0, but instead it computes |undefined|. That doesn't happen using Int8Array or Array or something else with a JSPropertyOp-getter/setter property, and I *think* it's due to ArrayBuffer not having a getProperty hook, while all the typed arrays, and Array, do. But I'm not certain. If you see an easy way to fix that, I'd be interested to hear it, but for now fixing the crash seems a worthy step even if it's not the entire way.
Attachment #532053 - Flags: review?(gal)
This is a guaranteed dereference of NULL, no security hazard.
Assignee: jwalden+bmo → general
Group: core-security
Component: XPConnect → JavaScript Engine
OS: Mac OS X → All
QA Contact: xpconnect → general
Hardware: x86_64 → All
Whiteboard: [sg:dos]
Attachment #532053 - Flags: review?(gal)
WFM on trunk.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: