Closed Bug 566606 Opened 15 years ago Closed 15 years ago

nsHTMLCanvasFrame::GetCanvasSize() does conditional jump based on uninitialized value

Categories

(Core :: Layout: Images, Video, and HTML Frames, defect)

defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 566603

People

(Reporter: bjacob, Assigned: bjacob)

References

Details

Attachments

(1 file)

See attached patch. This is a fix for a "conditional jump based on uninitialized value" error reported by valgrind as follows: Canvas 3D: creating PBuffer... Canvas 3D: can't get a native PBuffer, trying OSMesa... Canvas 3D: ready ==8679== Thread 1: ==8679== Conditional jump or move depends on uninitialised value(s) ==8679== at 0x59F3981: nsHTMLCanvasFrame::GetCanvasSize() (nsHTMLCanvasFrame.cpp:123) ==8679== by 0x59F3B37: nsHTMLCanvasFrame::ComputeSize(nsIRenderingContext*, nsSize, int, nsSize, nsSize, nsSize, int) (nsHTMLCanvasFrame.cpp:164) ==8679== by 0x59FDEB6: nsHTMLReflowState::InitConstraints(nsPresContext*, int, int, nsMargin const*, nsMargin const*) (nsHTMLReflowState.cpp:1847) ==8679== by 0x59FA162: nsHTMLReflowState::Init(nsPresContext*, int, int, nsMargin const*, nsMargin const*) (nsHTMLReflowState.cpp:283) ==8679== by 0x59F9DF1: nsHTMLReflowState::nsHTMLReflowState(nsPresContext*, nsHTMLReflowState const&, nsIFrame*, nsSize const&, int, int, int) (nsHTMLReflowState.cpp:176) ==8679== by 0x5A134C9: nsLineLayout::ReflowFrame(nsIFrame*, unsigned int&, nsHTMLReflowMetrics*, int&) (nsLineLayout.cpp:772) ==8679== by 0x599E986: nsBlockFrame::ReflowInlineFrame(nsBlockReflowState&, nsLineLayout&, nsLineList_iterator, nsIFrame*, LineReflowStatus*) (nsBlockFrame.cpp:3716) ==8679== by 0x599DEAD: nsBlockFrame::DoReflowInlineFrames(nsBlockReflowState&, nsLineLayout&, nsLineList_iterator, nsFlowAreaRect&, int&, nsFloatManager::SavedState*, int*, LineReflowStatus*, int) (nsBlockFrame.cpp:3511) ==8679== by 0x599D93B: nsBlockFrame::ReflowInlineFrames(nsBlockReflowState&, nsLineList_iterator, int*) (nsBlockFrame.cpp:3365) ==8679== by 0x599AD20: nsBlockFrame::ReflowLine(nsBlockReflowState&, nsLineList_iterator, int*) (nsBlockFrame.cpp:2461) ==8679== by 0x5998AC1: nsBlockFrame::ReflowDirtyLines(nsBlockReflowState&) (nsBlockFrame.cpp:1907) ==8679== by 0x5995C61: nsBlockFrame::Reflow(nsPresContext*, nsHTMLReflowMetrics&, nsHTMLReflowState const&, unsigned int&) (nsBlockFrame.cpp:1009) See bug 525538
Blocks: 525538
Attachment #445965 - Attachment is patch: true
Attachment #445965 - Attachment mime type: application/octet-stream → text/plain
Assignee: nobody → bjacob
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → DUPLICATE
Yes, duplicate, thanks.
I think I prefer the patch I came up with (and filed a whole 20 minutes earlier), since it removes more code.
David: sure! Being new here I just went for the smallest possible patch. But your patch is better!
Product: Core → Core Graveyard
Component: Layout: HTML Frames → Layout: Images
Product: Core Graveyard → Core
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: