Suspicious code in kdevelop-3.3.2

Christoph Bartoschek bartoschek at gmx.de
Sun Apr 9 03:45:20 UTC 2006


------------------------------------------------------------------
Misc problems:
------------------------------------------------------------------

- languages/cpp/debugger/gdboutputwidget.cpp:102

The string "(gdb) " has 6 characters and therefore the third argument
should be 6 and not 5. Otherwise shorten the string.

- parts/documentation/protocols/chm/chmfile.cpp:47
- languages/cpp/subclassingdlg.cpp:300 (similar)
- languages/kjssupport/subclassingdlg.cpp:319 (similar)

Use delete [] buf and not delete buf. Or better: use std::vector<char>.

- parts/documentation/protocols/chm/decompress.cpp:186

When the loop at line 184 reaches i == 50, then in line 186
extra_bits[i+1] <==> extra_bits[51] is set. But the range of array
extra_bits is from 0 to 50.

- parts/filelist/projectviewpart.cpp:172

If the if condition in line 153 is false, then line is used
uninitialized in lines 172 and 174. col has a similar problem

- parts/doxygen/config.cpp:2483

i controls the loop at line 2470 and 2483.

------------------------------------
Problems involving the NULL pointer:
------------------------------------

- languages/cpp/cppcodecompletion.cpp:1464

If ast is NULL as indicated by line 1426, then line 1464 crashes.

- languages/cpp/cppnewclassdlg.cpp:1535

If no condition is true from lines 1525, 1527 and 1529, then line 1535
crashes.

- languages/cpp/createpcsdialog.cpp:260

If m_settings is NULL as indicated by line 258, then line 260 crashes.

- editors/qeditor/markerwidget.cpp:167

If p is NULL as indicated by line 141, then line 167 crashes.

- editors/qeditor/qeditor_view.cpp:394

If edit is NULL as indicated by line 383, then line 394 crashes.

- kdevdesigner/designer/resource.cpp:618

If formwindows is NULL as indicated by line 608, then line 618 will crash.

- kdevdesigner/designer/resource.cpp:840

If obj is NULL as indicated by line 837, the call to
WidgetFactory::classNameOf will crash or at least line 843.

- kdevdesigner/designer/resource.cpp:1927

If the if condition at line 1784 is false and the while loop at line
1849 is not entered, then w is never set and crashes in line 1926

- kdevdesigner/designer/metadatabase.cpp:453

If the conditions in lines 449 and 451 are not true, then ff is not set
and line 453 crashes.

- kdevdesigner/designer/mainwindow.cpp:1306

If fw is NULL as indicated by line 1280, then line 1306 crashes.

- kdevdesigner/designer/hierarchyview.cpp:888

If itemFunct is NULL as indicated by line 857, then line 888 will crash.

- kdevdesigner/uilib/qwidgetfactory.cpp:952

If parent is NULL as indicated by line 916, then line 952 will crash.

- kdevdesigner/uilib/qwidgetfactory.cpp:1098

In line 909 widget is set to NULL. If the condition in line 915 is false
and the case in line 1097 is selected, then line 1098 crashes.

- kdevdesigner/uilib/qwidgetfactory.cpp:1222
- kdevdesigner/uilib/qwidgetfactory.cpp:1328 (similar)

If the switch in line 1209 first selects line 1213, then objects is
still NULL and line 1222 crashes.

- kdevdesigner/uilib/qwidgetfactory.cpp:394

If widgetFactory->toplevel is NULL as indicated by line 350 and the for
loop is entered in line 392, then line 394 crashes.

- src/newui/buttonbar.cpp:78

If the switch at line 66 does not select any case, then line 78 crashes.

- lib/cppparser/parser.cpp:53

The loop is executed at most once. Either it returns or it breakes.


-----------------------------------------------------------------
Cases from switch statements that fall through in some cases but 
do not have a fall through comment as in most such cases.
------------------------------------------------------------------

- editors/qeditor/qeditor.cpp:225
- editors/qeditor/qeditor.cpp:254
- buildtools/qmake/trollprojectwidget.cpp:1594
- buildtools/qmake/trollprojectwidget.cpp:1673
- kdevdesigner/designer/formfile.cpp:333
- kdevdesigner/designer/formwindow.cpp:737
- kdevdesigner/designer/hierarchyview.cpp:807
- kdevdesigner/designer/hierarchyview.cpp:817 (indendation)
- lib/widgets/qcomboview.cpp:982
- lib/widgets/propeditor/childproperty.cpp:131
- lib/widgets/propeditor/childproperty.cpp:122
- lib/widgets/propeditor/childproperty.cpp:117

-----------------------------------------------------------------
Lines where boolean expressions are used in non-boolean contexts:

I suspect that at least the lines marked with !!! are bugs
-----------------------------------------------------------------

- parts/filelist/projectviewpart.cpp:377 !!! (at least strange style)
- parts/filelist/projectviewpart.cpp:474 !!! (at least strange style)
- kdevdesigner/designer/mainwindow.cpp:2311
- parts/filecreate/filecreate_part.cpp:454
- src/partcontroller.cpp:563
- lib/astyle/ASFormatter.cpp:1322




More information about the KDevelop-devel mailing list