Closed
Bug 627295
Opened 14 years ago
Closed 11 years ago
UMR [@ nsSVGGlyphFrame::PaintSVG] [@ _cairo_gstate_stroke]
Categories
(Core :: SVG, defect)
Tracking
()
RESOLVED
FIXED
mozilla28
People
(Reporter: jruderman, Assigned: jwatt)
References
Details
(Keywords: sec-low, testcase, valgrind, Whiteboard: [adv-main28+])
Attachments
(1 file)
6.79 KB,
text/plain
|
Details |
gfx/tests/crashtests/385228-1.svg triggers a UMR (use of uninitialized memory).
Uninitialized memory caused by the stack allocation of nsSVGGlyphFrame::PaintSVG is used in _cairo_gstate_stroke.
Flags: in-testsuite+
Comment 1•14 years ago
|
||
cairo-gstate.c:1069 on my trunk build is:
if (gstate->stroke_style.line_width <= 0.0)
Now nsSVGGlyphFrame::PaintSVG calls SetupCairoStroke(gfx) followed by gfx->Stroke() which ends up at the line above.
nsSVGGeometryFrame::SetupCairoStroke(gfx) calls nsSVGGeometryFrame::SetupCairoStroke which calls SetupCairoStrokeGeometry which calls aContext->SetLineWidth(width) (unless the width is <=0 which it appears not to be in this case according to my debugging).
aContext->SetLineWidth(width) eventually ends up in _cairo_gstate_set_line_width which is:
gstate->stroke_style.line_width = width;
So I don't understand where the UMR is coming from.
Does something different to the above sequence of events happen on Linux?
Comment 2•14 years ago
|
||
See bug 658499 too.
Comment 3•11 years ago
|
||
bug 889736 removed nsSVGGlyphFrame
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Updated•11 years ago
|
Assignee: nobody → jwatt
status-firefox28:
--- → fixed
Depends on: 889736
Target Milestone: --- → mozilla28
Comment 4•11 years ago
|
||
Did this only affect Firefox 28?
Comment 5•11 years ago
|
||
Given it was filed three years ago I'd say "no".
Bug 889736 isn't something we'd back-port and we don't need a band-aide patch for this low severity bug. A UMR of a stack-allocated variable /can/ be exploited, but you'd usually want it to be something like a length variable or a pointer and not a drawing dimension.
status-b2g18:
--- → wontfix
status-b2g-v1.2:
--- → wontfix
status-b2g-v1.3:
--- → fixed
status-firefox27:
--- → wontfix
status-firefox29:
--- → fixed
status-firefox-esr24:
--- → wontfix
Whiteboard: [sg:low?]
Updated•11 years ago
|
Whiteboard: [adv-main28+]
Updated•11 years ago
|
status-b2g-v1.3T:
--- → fixed
status-b2g-v1.4:
--- → unaffected
Updated•10 years ago
|
Group: core-security
You need to log in
before you can comment on or make changes to this bug.
Description
•