Some remarks on kdebase revision 595286

Christoph Bartoschek bartoschek at gmx.de
Sat Oct 14 00:09:27 BST 2006


- kdebase/workspace/kwin/lib/kcommondecoration.h:262
- kdebase/konqueror/konq_tabs.h:87 (similar)

int and QWidget * have the same name. Some compilers do not like this.

- konqueror/settings/filetypes/filetypedetails.cpp:293

If tlitem is NULL as indicated by earlier checks, this line crashes.

- konqueror/sidebar/trees/dirtree_module/dirtree_item.cpp:91

A nice combo of & and &&. 

- konqueror/konq_combo.cc:819

Line 808 indicates that completionbox could be NULL here.

- khelpcenter/khc_indexbuilder.cpp:200

The return value of QIODevice::putChar is a bool. How can this be < 0?

- khelpcenter/plugintraverser.cpp:61

Lines 56 and 61 are inconsistent in their && and & usage.

- khotkeys/shared/voicesignature.cpp:127


Maybe not possible: If sound.size() == 0 and start = stop -1 then 
log2size is 65535 here and outside of the allowed shift range.

- khotkeys/shared/input.cpp:216

x_mod and keysym are never assigned. But they are used here.

- khotkeys/kcontrol/condition_list_widget.cpp:287

Line 272/273 suggests that parent2_P could be NULL here.

- workspace/kdm/kfrontend/kdm_config.c:1299

If the while loop in line 1188 is never entered acList, then acList is 
uninitialized here.

- workspace/kdm/kfrontend/genkdmconf.c:461

Is this memory also freed?

- workspace/kdm/backend/ctrl.c:240

Line 195 indicates that ctrl.path could be NULL here. memcmp does not like
that.

- workspace/kcontrol/kfontinst/kio/KioFonts.cpp:1943
- workspace/kcontrol/kfontinst/kio/KioFonts.cpp:1991
- runtime/kioslave/nntp/nntp.cpp:405

abs looses precision here. std::abs() or labs() should be better.

- workspace/kcontrol/kfontinst/kcmfontinst/KCmFontInst.cpp:538

Line 511 indicates that list can be NULL. If control reaches this line it
crashes.

- workspace/kcontrol/icons/icons.cpp:449

Maybe an assert(false) for the default case. Otherwise line 456 has an out of
bounds access.

- workspace/kcontrol/kcontrol/modules.cpp:219

Maybe _embedFrame should also be set to NULL as the other pointers in the 
following lines.

- workspace/kcontrol/input/logitechmouse.cpp:56

m_usbDeviceHandle is a Pointer and cannot be < than 0. I expect "== 0" here.

- workspace/kcontrol/randr/randr.cpp:549
- workspace/kcontrol/randr/randr.cpp:550

== binds more than &. Do you really mean 
currentRotation() & (ReflectMask == ReflectX)   ?

- workspace/ksysguard/ksysguardd/Linux/stat.c:238

Line 237 allocates some memory and line 238 overwrites the pointer with 0?
And the NULL pointer is then used in sprintf?

- workspace/ksysguard/ksysguardd/Linux/logfile.c:63

What happens with fp after the fopen?

- workspace/kicker/applets/systemtray/systemtrayapplet.cpp:580

== binds more than ^. Maybe some parentheses here?

- 
runtime/kioslave/nfs/nfs_prot_xdr.c:102,277,787,557,766,871,500,392,479,458,
- 730,536,712,682,667,652,637,428,413,751,443,87,521,76,74,700,380,50,368,62
- 
runtime/kioslave/nfs/mount_xdr.c:196,194,62,176,119,149,107,164,95,50,83,137

buf is used to initialize itself?




More information about the kde-core-devel mailing list