Closed
Bug 59675
Opened 25 years ago
Closed 14 years ago
Occurences of uninitialized variables being used before being set (in layout)
Categories
(Core :: Layout, defect)
Core
Layout
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: rich.burridge, Assigned: sgautherie)
References
Details
Attachments
(4 files, 5 obsolete files)
|
3.52 KB,
patch
|
Details | Diff | Splinter Review | |
|
(Bv1) patch nsFrameSetFrame and nsIsIndexFrame (hand edits, not valid patch)
[Checked in: Comment 8]
2.60 KB,
patch
|
Details | Diff | Splinter Review | |
|
2.40 KB,
text/plain
|
Details | |
|
6.24 KB,
patch
|
Details | Diff | Splinter Review |
For more details on this problem, see:
http://bugzilla.mozilla.org/show_bug.cgi?id=59652
This bug is just for the warnings in various source files in the Layout
module:
/layout/base/src/nsDocumentViewer.cpp
nsDocumentViewer.cpp:650: warning: `nsresult rv' might be used uninitialized in
----
/layout/html/base/src/nsBlockFrame.cpp
nsBlockFrame.cpp:1524: warning: `PRTime start' might be used uninitialized in
this function
nsBlockFrame.cpp:1525: warning: `PRInt32 ctc' might be used uninitialized in
this function
nsBlockFrame.cpp:6385: warning: `PRTime start' might be used uninitialized in
this function
nsBlockFrame.cpp:6386: warning: `PRInt32 drawnLines' might be used uninitialized
in this function
----
/layout/html/base/src/nsFrame.cpp
nsFrame.cpp:3306: warning: `class nsIFrame * thisBlock' might be used
uninitialized in this function
nsFrame.cpp:3336: warning: `class nsIFrame * thisBlock' might be used
uninitialized in this function
----
/layout/html/base/src/nsHTMLReflowState.cpp
nsHTMLReflowState.cpp:249: warning: `nsCSSFrameType frameType' might be used
uninitialized in this function
----
/layout/html/base/src/nsImageMap.cpp
nsImageMap.cpp:955: warning: `nsresult rv' might be used uninitialized in this
function
----
/layout/html/base/src/nsPresShell.cpp
nsPresShell.cpp:3805: warning: `class nsIFrame * lastInFlow' might be used
uninitialized in this function
nsPresShell.cpp:5104: warning: `PRTime beforeReflow' might be used uninitialized
in this function
nsPresShell.cpp:5104: warning: `PRTime afterReflow' might be used uninitialized
----
/layout/html/base/src/nsSplittableFrame.cpp
nsSplittableFrame.cpp:94: warning: `class nsSplittableFrame * firstInFlow' might
be used uninitialized in this function
nsSplittableFrame.cpp:106: warning: `class nsSplittableFrame * lastInFlow' might
be used uninitialized in this function
----
/layout/html/base/src/nsTextFrame.cpp
nsTextFrame.cpp:1004: warning: `nscolor foreColor' might be used uninitialized
in this function
nsTextFrame.cpp:1158: warning: `class nsIFrame * lastInFlow' might be used
uninitialized in this function
nsTextFrame.cpp:1511: warning: `nscolor overColor' might be used uninitialized
in this function
nsTextFrame.cpp:1512: warning: `nscolor underColor' might be used uninitialized
nsTextFrame.cpp:1513: warning: `nscolor strikeColor' might be used uninitialized
in this function
nsTextFrame.cpp:3307: warning: `PRBool keepSearching' might be used
uninitialized in this function
----
/layout/html/document/src/nsFrameSetFrame.cpp
nsFrameSetFrame.cpp:977: warning: `PRBool * verBordersVis' might be used
uninitialized in this function
nsFrameSetFrame.cpp:978: warning: `class nsHTMLFramesetBorderFrame **
verBorders' might be used uninitialized in this function
nsFrameSetFrame.cpp:979: warning: `nscolor * verBorderColors' might be used
uninitialized in this function
nsFrameSetFrame.cpp:980: warning: `PRBool * horBordersVis' might be used
uninitialized in this function
nsFrameSetFrame.cpp:981: warning: `class nsHTMLFramesetBorderFrame **
horBorders' might be used uninitialized in this function
nsFrameSetFrame.cpp:982: warning: `nscolor * horBorderColors' might be used
uninitialized in this function
nsFrameSetFrame.cpp:983: warning: `PRInt32 * childTypes' might be used
uninitialized in this function
nsFrameSetFrame.cpp:987: warning: `struct nsBorderColor * childBorderColors'
might be used uninitialized in this function
nsFrameSetFrame.cpp:988: warning: `nscolor borderColor' might be used
uninitialized in this function
----
/layout/html/forms/src/nsIsIndexFrame.cpp
nsIsIndexFrame.cpp:189: warning: `nsresult result' might be used uninitialized
in this function
nsIsIndexFrame.cpp:340: warning: `nsresult result' might be used uninitialized
in this function
----
/layout/html/style/src/nsCSSParser.cpp
nsCSSParser.cpp:2299: warning: `enum nsCSSUnit units' might be used
uninitialized in this function
----
/layout/html/style/src/nsCSSRendering.cpp
nsCSSRendering.cpp:225: warning: `nscoord outsideEdge' might be used
uninitialized in this function
nsCSSRendering.cpp:225: warning: `nscoord insideEdge' might be used
uninitialized in this function
nsCSSRendering.cpp:225: warning: `nscoord outsideTL' might be used uninitialized
in this function
nsCSSRendering.cpp:225: warning: `nscoord insideTL' might be used uninitialized
nsCSSRendering.cpp:225: warning: `nscoord outsideBR' might be used uninitialized
in this function
nsCSSRendering.cpp:226: warning: `nscoord insideBR' might be used uninitialized
----
/layout/html/style/src/nsCSSStyleRule.cpp
nsCSSStyleRule.cpp:1653: warning: `enum nsSystemAttrID sysID' might be used
uninitialized in this function
nsCSSStyleRule.cpp:2786: warning: `enum nsStyleContentType type' might be used
uninitialized in this function
----
/layout/html/style/src/nsStyleUtil.cpp
nsStyleUtil.cpp:276: warning: `PRInt32 * column' might be used uninitialized in
----
/layout/html/table/src/nsCellMap.cpp
nsCellMap.cpp:948: warning: `PRInt32 endColIndex' might be used uninitialized in
this function
----
/layout/html/table/src/nsTableOuterFrame.cpp
nsTableOuterFrame.cpp:1096: warning: `nsresult rv' might be used uninitialized
in this function
----
/layout/html/table/src/nsTableRowFrame.cpp
nsTableRowFrame.cpp:1309: warning: `nsresult rv' might be used uninitialized in
----
/layout/html/table/src/nsTableRowGroupFrame.cpp
nsTableRowGroupFrame.cpp:1775: warning: `class nsIFrame * tempFrame' might be
used uninitialized in this function
----
/layout/html/table/src/nsTableBorderCollapser.cpp
nsTableBorderCollapser.cpp:796: warning: `struct nsStyleSpacing *
winningStyleBorder' might be used uninitialized in this function
----
/layout/xml/document/src/nsXMLContentSink.cpp
nsXMLContentSink.cpp: In method `nsresult
nsXMLContentSink::DidBuildModel(int)':nsXMLContentSink.cpp:261: warning:
`nsresult rv' might be used uninitialized in
----
/layout/xul/base/src/nsBoxToBlockAdaptor.cpp
nsBoxToBlockAdaptor.cpp:503: warning: `nsresult rv' might be used uninitialized
../../../../dist/include/nsAReadableString.h:1085: warning: `int whichString'
might be used uninitialized in this function
----
/layout/xul/base/src/nsBoxFrame.cpp
nsBoxFrame.cpp:1418: warning: `nscoord onePixel' might be used uninitialized in
----
I will at least start with the XML stuff.
Assignee: clayton → heikki
Updated•25 years ago
|
Status: NEW → ASSIGNED
Target Milestone: --- → mozilla0.9
Comment 3•25 years ago
|
||
Appart from "PRTime x = 0;" having to be changed to "PRTime x = LL_ZERO();" (to
compile on the mac) the attached diff looks fine with me, r=jst
Comment 5•25 years ago
|
||
sr=waterson
Updated•25 years ago
|
Assignee: heikki → pollmann
Status: ASSIGNED → NEW
Checked in fixes to docviewer, blockframe, imagemap & xml. Passing on to
pollmann who seems to be in charge of nsFrameSetFrame.cpp at least. Feel free to
fix any other places you feel comfortable with...
Please fix cases where the compiler is actually wrong (i.e. we do not use
variable unitialized even if the compiler warns). Safe warnings make it harder
to find the real warnings...
Comment 7•25 years ago
|
||
Updated•25 years ago
|
Whiteboard: fix in hand
Comment 8•25 years ago
|
||
Checked in fixes to nsFrameSetFrame.cpp and nsIsIndexFrame.cpp
Handing off to Marc for changes to core layout, CC'ing Chris for table changes.
Assignee: pollmann → attinasi
Target Milestone: mozilla0.9 → ---
Updated•24 years ago
|
Target Milestone: --- → mozilla0.9.9
Comment 9•24 years ago
|
||
Currently (http://tinderbox.mozilla.org/SeaMonkey/warn1010706660.6236.html) I
see the following warnings:
layout/base/src/nsBidiPresUtils.cpp:166
`nsresult rv' might be used uninitialized in this function
layout/base/src/nsBidiPresUtils.cpp:222
`PRInt32 contentOffset' might be used uninitialized in this function
layout/base/src/nsBidiPresUtils.cpp:228
`PRBool isTextFrame' might be used uninitialized in this function
layout/base/src/nsBidiPresUtils.cpp:585
`nscoord dWidth' might be used uninitialized in this function
layout/base/src/nsPresContext.cpp:327
`struct nsFont * font' might be used uninitialized in this function
layout/html/base/src/nsBlockFrame.cpp:707
`class nsSpaceManager * spaceManager' might be used uninitialized in this function
layout/html/base/src/nsBlockFrame.cpp:708
`class nsSpaceManager * oldSpaceManager' might be used uninitialized in this
function
layout/html/base/src/nsFrame.cpp:3692
`class nsIFrame * newFrame' might be used uninitialized in this function
layout/html/base/src/nsHTMLReflowState.cpp:308
`nsCSSFrameType frameType' might be used uninitialized in this function
layout/html/base/src/nsPresShell.cpp:6246
`PRTime beforeReflow' might be used uninitialized in this function
`PRTime afterReflow' might be used uninitialized in this function
layout/html/base/src/nsSplittableFrame.cpp:109
`class nsSplittableFrame * firstInFlow' might be used uninitialized in this
function
layout/html/base/src/nsSplittableFrame.cpp:121
`class nsSplittableFrame * lastInFlow' might be used uninitialized in this function
layout/html/base/src/nsTextFrame.cpp:1172
`nscolor foreColor' might be used uninitialized in this function
layout/html/base/src/nsTextFrame.cpp:1351
`class nsIFrame * lastInFlow' might be used uninitialized in this function
layout/html/base/src/nsTextFrame.cpp:1736
`nscolor overColor' might be used uninitialized in this function
layout/html/base/src/nsTextFrame.cpp:1737
`nscolor underColor' might be used uninitialized in this function
layout/html/base/src/nsTextFrame.cpp:1738
`nscolor strikeColor' might be used uninitialized in this function
layout/html/base/src/nsTextFrame.cpp:1742
`nscolor overrideColor' might be used uninitialized in this function
layout/html/base/src/nsTextFrame.cpp:3082
`const char * text' might be used uninitialized in this function
layout/html/base/src/nsTextFrame.cpp:4064
`PRBool keepSearching' might be used uninitialized in this function
layout/html/style/src/nsCSSRendering.cpp:1753
`int shrinkage' might be used uninitialized in this function
`int startRadius' might be used uninitialized in this function`int endRadius'
might be used uninitialized in this function
layout/html/style/src/nsCSSRendering.cpp:257
`int outsideEdge' might be used uninitialized in this function
`int insideEdge' might be used uninitialized in this function`int outsideTL'
might be used uninitialized in this function`int insideTL' might be used
uninitialized in this function`int outsideBR' might be used uninitialized in
this function
layout/html/style/src/nsCSSRendering.cpp:258
`int insideBR' might be used uninitialized in this function
layout/html/table/src/BasicTableLayoutStrategy.cpp:830
`nscoord divisor' might be used uninitialized in this function
layout/html/table/src/BasicTableLayoutStrategy.cpp:831
`nscoord numerator' might be used uninitialized in this function
layout/html/table/src/nsCellMap.cpp:996
`PRInt32 endColIndex' might be used uninitialized in this function
layout/html/table/src/nsTableFrame.cpp:5091
`void * value' might be used uninitialized in this function
layout/html/table/src/nsTableFrame.cpp:5092
`void (* dtorFunc)(nsIPresContext *, nsIFrame *, nsIAtom *, void *)' might be
used uninitialized in this function
layout/xul/base/src/nsBoxFrame.cpp:1647
`nscoord onePixel' might be used uninitialized in this function
layout/xul/base/src/nsBoxObject.cpp:68
`class nsISupports * foundInterface' might be used uninitialized in this function
layout/xul/base/src/nsBoxToBlockAdaptor.cpp:582
`nsresult rv' might be used uninitialized in this function
layout/xul/base/src/nsTextBoxFrame.cpp:331
`nscolor overColor' might be used uninitialized in this function
layout/xul/base/src/nsTextBoxFrame.cpp:332
`nscolor underColor' might be used uninitialized in this function
layout/xul/base/src/nsTextBoxFrame.cpp:333
`nscolor strikeColor' might be used uninitialized in this function
layout/xul/base/src/outliner/src/nsOutlinerContentView.cpp:190
`class nsISupports * foundInterface' might be used uninitialized in this function
layout/xul/base/src/outliner/src/nsOutlinerSelection.cpp:271
`class nsISupports * foundInterface' might be used uninitialized in this function
Updated•24 years ago
|
Target Milestone: mozilla0.9.9 → mozilla1.1
Comment 10•24 years ago
|
||
These are the warnings listed in
http://tinderbox.mozilla.org/SeaMonkey/warn1012854360.1135.html (Mon, 04 Feb
2002 15:26 EST)
I am very surprized this was postponed until after 1.0 - these warning should
be relatively easy to fix and fixing them is quite likely to make Mozilla more
stable...
Updated•24 years ago
|
Attachment #19566 -
Attachment is obsolete: true
Updated•24 years ago
|
Attachment #19569 -
Attachment is obsolete: true
Updated•24 years ago
|
Attachment #28670 -
Attachment is obsolete: true
Updated•24 years ago
|
Whiteboard: fix in hand
Updated•24 years ago
|
Keywords: mozilla1.0
Comment 11•24 years ago
|
||
Currently (http://tinderbox.mozilla.org/SeaMonkey/warn1015442340.18286.html -
Wed, 06 Mar 2002 14:19 EST) there are 44 "xxx might be use uninitialized"
warnings in layout:
6 in layout/base/src:
nsBidi.cpp - 1
nsBidiPresUtils.cpp - 4
nsPresContext.cpp - 1
15 in layout/html/base/src :
nsBlockFrame.cpp - 2
nsFrame.cpp - 1
nsHTMLReflowState.cpp - 1
nsPresShell.cpp - 1
nsSplittableFrame.cpp - 2
nsTextFrame.cpp - 8
3 in layout/html/style/src:
nsCSSRendering.cpp - 3
5 in layout/html/table/src:
BasicTableLayoutStrategy.cpp - 2
nsCellMap.cpp - 3
8 in layout/xul/base/src:
nsBoxFrame.cpp - 1
nsBoxObject.cpp - 1
nsBoxToBlockAdaptor.cpp - 1
nsTextBoxFrame.cpp - 3
nsOutlinerContentView.cpp - 1
nsOutlinerSelection.cpp - 1
Attachment #67797 -
Attachment is obsolete: true
Comment 12•24 years ago
|
||
Today's check-in for bug 126473 fixed 3 warnings in layout/xul, there are now 41
of them left in layout.
Summary: Occurances of uninitialized variables being used before being set. → Occurances of uninitialized variables being used before being set (in layout)
Comment 13•24 years ago
|
||
Today's checkin to bug 137094 fixed the two
layout/html/base/src/nsBlockFrame.cpp warnings.
Current list of files in layout with "may be used uninitialized" warnings:
layout/base/src/nsBidi.cpp
layout/base/src/nsBidiPresUtils.cpp
layout/base/src/nsPresContext.cpp
layout/html/base/src/nsFrame.cpp
layout/html/base/src/nsHTMLReflowState.cpp
layout/html/base/src/nsPresShell.cpp
layout/html/base/src/nsSplittableFrame.cpp
layout/html/base/src/nsTextFrame.cpp
layout/html/style/src/nsCSSRendering.cpp
layout/html/table/src/BasicTableLayoutStrategy.cpp
layout/html/table/src/nsCellMap.cpp
layout/xul/base/src/nsBoxFrame.cpp
layout/xul/base/src/nsBoxToBlockAdaptor.cpp
layout/xul/base/src/nsTextBoxFrame.cpp
Updated•23 years ago
|
Summary: Occurances of uninitialized variables being used before being set (in layout) → Occurences of uninitialized variables being used before being set (in layout)
Comment 14•23 years ago
|
||
->Misc Code
Assignee: attinasi → misc
Component: Layout → Layout: Misc Code
QA Contact: petersen → nobody
Comment 15•23 years ago
|
||
How about an up-to-date list here?
Priority: P3 → --
Target Milestone: mozilla1.1alpha → ---
Comment 16•23 years ago
|
||
The current list:
/layout/base/src/nsPresContext.cpp
/layout/html/base/src/nsFrame.cpp
/layout/html/base/src/nsHTMLReflowState.cpp
/layout/html/base/src/nsPresShell.cpp
/layout/html/base/src/nsTextFrame.cpp
/layout/html/style/src/nsCSSRendering.cpp
/layout/xul/base/src/nsTextBoxFrame.cpp
Comment 17•23 years ago
|
||
Count by file:
layout/base/src/nsPresContext.cpp - 1
layout/html/base/src/nsFrame.cpp - 3
layout/html/base/src/nsHTMLReflowState.cpp - 1
layout/html/base/src/nsPresShell.cpp - 1
layout/html/base/src/nsTextFrame.cpp - 8
layout/html/style/src/nsCSSRendering.cpp - 9
layout/xul/base/src/nsTextBoxFrame.cpp - 3
Attachment #72865 -
Attachment is obsolete: true
| Assignee | ||
Comment 18•22 years ago
|
||
(for the record)
Bug 230397 patch Bv1b belonged to this bug.
| Assignee | ||
Updated•22 years ago
|
Attachment #19566 -
Attachment description: Fix docviewer, blockframe, imagemap, xml → (Av1) Fix docviewer, blockframe, imagemap, xml
| Assignee | ||
Updated•22 years ago
|
Attachment #19569 -
Attachment description: Previous patch with LL_ZERO → (Av1b) Previous patch with LL_ZERO
[Checked in: Comment 6]
| Assignee | ||
Updated•22 years ago
|
Attachment #28670 -
Attachment description: patch nsFrameSetFrame and nsIsIndexFrame (hand edits, not valid patch) → (Bv1) patch nsFrameSetFrame and nsIsIndexFrame (hand edits, not valid patch)
[Checked in: Comment 8]
| Assignee | ||
Comment 19•22 years ago
|
||
This patch comes from bug 132141 (which was resolved as duplicate...):
The compiler is confused by all the |if()| :-|
Assignee: core.layout.misc-code → gautheri
Status: NEW → ASSIGNED
| Assignee | ||
Comment 20•22 years ago
|
||
Comment on attachment 146149 [details] [diff] [review]
(Cv1) <nsTextBoxFrame.cpp>
I have no compiler: Could you compile/test/review this patch ? Thanks.
Attachment #146149 -
Flags: review?(jag)
| Assignee | ||
Updated•22 years ago
|
Severity: normal → trivial
Keywords: mozilla1.0
Comment 21•22 years ago
|
||
Comment on attachment 146149 [details] [diff] [review]
(Cv1) <nsTextBoxFrame.cpp>
Another way to tackle this is to merge these two pieces of code and do the
drawing where currently the color is assigned. That way you can completely get
rid of overColor, underColor and strikeColor. hasDecorations seems to be
superfluous too.
| Assignee | ||
Updated•22 years ago
|
Attachment #146149 -
Attachment is obsolete: true
Attachment #146149 -
Flags: review?(jag)
| Assignee | ||
Comment 22•22 years ago
|
||
Cv1, with comment 21 suggestion(s).
| Assignee | ||
Comment 23•22 years ago
|
||
Cv1b, with |vis| reuse.
Attachment #146972 -
Attachment is obsolete: true
| Assignee | ||
Comment 24•22 years ago
|
||
Comment on attachment 146974 [details] [diff] [review]
(Cv1c) <nsTextBoxFrame.cpp>
I wonder if line 434 could be fully removed:
{{
433 if (buffer) {
434 const nsStyleVisibility* vis = GetStyleVisibility();
435 nsBidiDirection direction =
}}
as there is line 331
{{
330 // Align our text within the overall rect by checking our text-align
property.
331 const nsStyleVisibility* vis = GetStyleVisibility();
332 const nsStyleText* textStyle = GetStyleText();
}}
or if it does need to be called again.
Attachment #146974 -
Flags: review?(jag)
| Assignee | ||
Comment 25•22 years ago
|
||
Comment on attachment 146974 [details] [diff] [review]
(Cv1c) <nsTextBoxFrame.cpp>
I wonder if line 434 could be fully removed:
{{
433 if (buffer) {
434 const nsStyleVisibility* vis = GetStyleVisibility();
435 nsBidiDirection direction =
}}
as there is line 331
{{
330 // Align our text within the overall rect by checking our text-align
property.
331 const nsStyleVisibility* vis = GetStyleVisibility();
332 const nsStyleText* textStyle = GetStyleText();
}}
or if it does need to be called again.
I have no compiler: Could you compile/test/review this patch ? Thanks.
| Assignee | ||
Updated•18 years ago
|
Attachment #19569 -
Attachment is obsolete: false
| Assignee | ||
Updated•18 years ago
|
Attachment #28670 -
Attachment is obsolete: false
| Assignee | ||
Updated•18 years ago
|
QA Contact: nobody → layout.misc-code
Comment 26•14 years ago
|
||
Surprisingly, there is no warning at all in the layout/ code (using gcc4.6.1). Hence closing this bug.
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Resolution: --- → WORKSFORME
Updated•7 years ago
|
Product: Core → Core Graveyard
Updated•7 years ago
|
Component: Layout: Misc Code → Layout
Product: Core Graveyard → Core
You need to log in
before you can comment on or make changes to this bug.
Description
•