Closed Bug 386254 Opened 15 years ago Closed 15 years ago

Crash [@ nsTextControlFrame::SetValue] on branch with testcase2 from bug 373586


(Core :: Layout, defect)

1.8 Branch
Windows XP
Not set





(Reporter: martijn.martijn, Assigned: smaug)




(5 keywords, Whiteboard: [sg:moderate?] requires chrome? uses deleted object)

Crash Data


(1 file)

See url, you need to download the testcase to your computer to get the crash, because of enhanced privileges.

This is a follow-up from bug 373586.

From comment 23 in that bug:
This crashes current branch builds when clicking on the button. You need to run
the testcase from chrome.
I get a [@ nsTextControlFrame::SetValue] (talkback ID: TB32917810X).
It doesn't crash on trunk, I think it's because of this patch.
I think this is currently nr. 29 of the hit list of crashes on branch:

Smaug, maybe this can be fixed by just a null-check?
Version: Trunk → 1.8 Branch
I don't think so. I added a weakframe test and it showed that the frame got 
deleted. Probably something similar what bug 373586 did for ::SetValue is needed.
Assignee: nobody → Olli.Pettay
Component: Editor → Layout
Attached patch possible patchSplinter Review
Making the ::SetValue to have similar checks as what are currently on 
trunk. However with the patch using the testcase, the painting of the
page doesn't work correctly after pressing the button. (Painting
works ok when loading a new page.) The same painting problem happens
on trunk too, so I could just file a new (Non-SSensitive) bug for that.
The patch is needed anyway, though.
Attachment #270554 - Flags: review?(roc)
Depends on: 386561
Attachment #270554 - Flags: approval1.8.1.5?
Attachment #270554 - Flags: approval1.8.0.13?
waiting to give branch approval until this shakes out a bit on trunk and we figure out fixes for the painting regression.
Keywords: topcrash
Is there a way to trigger this situation without requiring chrome or UniversalXPConnect privileges? It's clearly using a deleted editor object, but if you need privileged code to get there then it's not an exploit.

Is the top-crash in this routine likely the same thing? If so then maybe there is a non-chrome way to exploit this. A lot of the talkbacks for this location die on the same "mEditor->SetFlags(savedFlags);" line I die on (and the rest say line "848" which isn't anywhere near this routine and which I'd chalk up to a glitch if it weren't so common and consistent a location). I guess the talkbacks pointing to the same object dereference makes me worry.

Whether we want to risk the regressions for the branch hinges on the answer to the above.

How bad is the painting regression? (shouldn't the bug have the regression keyword?).
Flags: wanted1.8.1.x+
Flags: wanted1.8.0.x+
Whiteboard: [sg:moderate?] requires chrome? uses deleted object
Comment on attachment 270554 [details] [diff] [review]
possible patch

approved for and, a=dveditz for release-drivers
Attachment #270554 - Flags: approval1.8.1.5?
Attachment #270554 - Flags: approval1.8.1.5+
Attachment #270554 - Flags: approval1.8.0.13?
Attachment #270554 - Flags: approval1.8.0.13+
Closed: 15 years ago
Resolution: --- → FIXED
Verified fixed, using:
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv: Gecko/20070709

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv: Gecko/20070710

The testcase doesn't crash anymore after clicking on the button.
Group: security
Flags: in-testsuite?
Duplicate of this bug: 383120
Crash Signature: [@ nsTextControlFrame::SetValue]
You need to log in before you can comment on or make changes to this bug.