Closed Bug 432077 Opened 18 years ago Closed 17 years ago

Crash [@ DecompileExpression] with trap, |with|, import

Categories

(Core :: JavaScript Engine, defect)

x86
macOS
defect
Not set
critical

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: jruderman, Unassigned)

References

Details

(Keywords: crash, testcase)

Crash Data

Attachments

(1 obsolete file)

function f(x) { with({}) with({}) { import x.y; } } trap(f, 0, ""); f({}); Crash [@ DecompileExpression] With one less "with", it gives a screwed-up error message instead of crashing: "ReferenceError: import x.y;???x is not defined" This happens both without and with the patch in bug 431465 comment 24.
There's definitely a UMR happening here (the ??? part of the decompilation), even if I fix the null-dereference bug. I'll attach a patch which fixes that part shortly (I think the patch is still needed, even in light of Igor's work in bug 430293).
Attached patch fixes NULL deref (obsolete) — Splinter Review
This does not fix the whole bug... perhaps combined with Igor's patch, it will, I'll try that next.
Assignee: general → crowder
Status: NEW → ASSIGNED
Comment on attachment 319430 [details] [diff] [review] fixes NULL deref This bug is fixed by the Igor's patch from bug 430293 comment #8. My patch isn't needed.
Attachment #319430 - Attachment is obsolete: true
Assignee: crowder → general
Status: ASSIGNED → NEW
Depends on: 430293
|import| is no more. WFM.
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → WORKSFORME
shouldn't this be reopened and targeted to 1.9.0?
We should probably backport the import-removal.
Really? We have a pretty bad recent record on content-affecting backports. I would rather leave it for 3.1, so that we don't break people's sites inadvertently with a security update.
Aren't there a host of fuzzer-found (and other) |import| related bugs? It seems that our import extension isn't used much (if at all), and that it increased attack-surface overall. Do you know specific sites that use it?
No, I don't know of specific sites. I didn't know of specific sites or extensions that used eval(o, s) either. I am not arguing against the long-term removal of |import|, I'm arguing against taking the patch "because we have it", because the cost of continuing to break things with security updates is very high for us, in both short- (QA/build/etc.) and long-term (user inclination to promptly update).
Crash Signature: [@ DecompileExpression]
Group: core-security → core-security-release
Group: core-security-release
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: