Closed Bug 328249 Opened 17 years ago Closed 17 years ago

E4X crash due to infinite recursion in js_IsXMLName

Categories

(Core :: JavaScript Engine, defect, P1)

defect

Tracking

()

VERIFIED FIXED
mozilla1.9alpha1

People

(Reporter: jruderman, Assigned: mrbkap)

References

Details

(4 keywords, Whiteboard: [patch][rft-dl])

Attachments

(2 files)

 
Attached file testcase
Blake generously offered to dive between this bullet and the president, in slow-mo yelling "guuuuuuhnnnnnnnnnnnn!", or was that "eeeeeeeeeeeeeefoooooooorrrrrrrrrrrrrxxxxxxxxxxxxxxxxxxxxxxxx!"?

/be
Assignee: general → mrbkap
*** Bug 328254 has been marked as a duplicate of this bug. ***
Our cycle detection wasn't handling lists, causing us to miss the "easy" case described here. Lists of length 1 are special in that you can do stuff on them that acts like you're doing it to its only element, therefore CheckCycle needs to deal.

Note that we catch the case where kids->length > 1 before we ever get near the CheckCycle code.
Status: NEW → ASSIGNED
OS: MacOS X → All
Priority: -- → P1
Hardware: Macintosh → All
Whiteboard: [patch]
Target Milestone: --- → mozilla1.9alpha
Attached patch Fix Splinter Review
Attachment #212961 - Flags: review?(brendan)
Comment on attachment 212961 [details] [diff] [review]
Fix 

I was a collaborator on this fix, but sure, r=me.

BTW, E4X sucks.

/be
Attachment #212961 - Flags: review?(brendan)
Attachment #212961 - Flags: review+
Attachment #212961 - Flags: approval1.8.0.2?
Attachment #212961 - Flags: approval-branch-1.8.1+
Fix checked into trunk.
Status: ASSIGNED → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
Flags: blocking1.8.0.2?
Status: RESOLVED → VERIFIED
Flags: blocking1.8.0.2? → blocking1.8.0.2+
Comment on attachment 212961 [details] [diff] [review]
Fix 

approved for 1.8.9 branch, a=dveditz for drivers
Attachment #212961 - Flags: approval1.8.0.2? → approval1.8.0.2+
> 1.8.9 branch

1.8.0, I mean

Fix checked into the 1.8 branches.
Checking in regress-328249.js;
/cvsroot/mozilla/js/tests/e4x/Regress/regress-328249.js,v  <--  regress-328249.js
initial revision: 1.1
done

I don't see a crash in today's ff trunk on winxp, but a current debug shell does appear to crash. I'll know more when I do a full test run.
Flags: testcase+
Depends on: 328769
Marking [rft-dl] (ready for testing in Firefox 1.5.0.2 release candidates) since in-testsuite+ indicates a test case exists in the js test library.
Whiteboard: [patch] → [patch][rft-dl]
v ff 1.8.0.1/1.8/1.9 20060302 win/linux/mac
You need to log in before you can comment on or make changes to this bug.