| Date: | 12/18/21 18:19:49 |
|---|---|
| PVS-Studio Version: | 7.16.55368.3308 |
| Total Warnings (GA): | 1064 |
| Total Warnings (OP): | 341 |
| Total Warnings (64): | 61 |
| Fails/Info: | 1 |
| Group | Projects | Location | Level | Code | CWE | Message |
|---|---|---|---|---|---|---|
| High | Renew | Your license will expire in 3 days. Click 'Renew' to learn more or contact us at support@viva64.com. This is an information message. You can continue using the analyzer with your current license. | ||||
| 64-bit errors | CoolPrj |
coolgrid.h:495 | Medium | V302 | Member operator[] of 'TColumn' class has a 32-bit type argument. Use memsize-type here. | |
| 64-bit errors | CoolPrj |
cooledit.cpp:4563 | High | V220 | Suspicious sequence of types castings: memsize -> 32-bit integer -> memsize. The value being cast: 'strlen(pos)'. | |
| 64-bit errors | CoolPrj |
cooledit.cpp:4793 | High | V220 | Suspicious sequence of types castings: memsize -> 32-bit integer -> memsize. The value being cast: '(cur - pat) + 16'. | |
| 64-bit errors | OCFNext |
autodefs.h:820 | Medium | V302 | Member operator[] of 'TAutoStack' class has a 32-bit type argument. Use memsize-type here. | |
| 64-bit errors | OCFNext |
autodefs.h:1250 | Medium | V302 | Member operator[] of 'TAutoProxyArgs' class has a 32-bit type argument. Use memsize-type here. | |
| 64-bit errors | OCFNext |
ocapp.h:79 | Medium | V302 | Member operator[] of 'TOcNameList' class has a 32-bit type argument. Use memsize-type here. | |
| 64-bit errors | OCFNext |
occtrl.h:58 | Medium | V302 | Member operator[] of 'TEventList' class has a 32-bit type argument. Use memsize-type here. | |
| 64-bit errors | OCFNext |
ocview.h:107 | Medium | V302 | Member operator[] of 'TOcFormatList' class has a 32-bit type argument. Use memsize-type here. | |
| 64-bit errors | OCFNext |
oleutil.h:311 | High | V205 | Explicit conversion of pointer type to 32-bit integer type: (int)(& ((TUnknown *) 0)->I) | |
| 64-bit errors | OCFNext |
oleutil.h:242 | Medium | V302 | Member operator[] of 'TBaseClassId' class has a 32-bit type argument. Use memsize-type here. | |
| 64-bit errors | OCFNext |
autosrv.cpp:358 | High | V205 | Explicit conversion of pointer type to 32-bit integer type: (HREFTYPE) cls | |
| 64-bit errors | OCFNext |
autosrv.cpp:406 | High | V205 | Explicit conversion of pointer type to 32-bit integer type: (HREFTYPE) cls | |
| 64-bit errors | OCFNext |
ocapp.cpp:261 | High | V205 | Explicit conversion of pointer type to 32-bit integer type: reinterpret_cast< BCID > (link) | |
| 64-bit errors | OCFNext |
ocapp.cpp:939 | High | V205 | Explicit conversion of pointer type to 32-bit integer type: reinterpret_cast< BCID > (link) | |
| 64-bit errors | OCFNext |
stgdoc.cpp:1190 | High | V220 | Suspicious sequence of types castings: memsize -> 32-bit integer -> memsize. The value being cast: '(curp - srcp)'. | |
| 64-bit errors | OCFNext |
stgdoc.cpp:1191 | High | V220 | Suspicious sequence of types castings: memsize -> 32-bit integer -> memsize. The value being cast: '(curp - srcp)'. | |
| 64-bit errors | OCFNext |
stgdoc.cpp:1201 | High | V220 | Suspicious sequence of types castings: memsize -> 32-bit integer -> memsize. The value being cast: '(curp - srcp)'. | |
| 64-bit errors | OCFNext |
typelib.cpp:673 | High | V205 | Explicit conversion of pointer type to 32-bit integer type: (HREFTYPE) cls | |
| 64-bit errors | OWLExt |
multiwin.h:50 | Medium | V302 | Member operator[] of 'TMultiFrame' class has a 32-bit type argument. Use memsize-type here. | |
| 64-bit errors | OWLExt |
tabwin.h:58 | Medium | V302 | Member operator[] of 'TTabWindow' class has a 32-bit type argument. Use memsize-type here. | |
| 64-bit errors | OWLNext |
celarray.h:68 | Medium | V302 | Member operator[] of 'TCelArray' class has a 32-bit type argument. Use memsize-type here. | |
| 64-bit errors | OWLNext |
commctrl.h:723 | High | V220 | Suspicious sequence of types castings: memsize -> 32-bit integer -> memsize. The value being cast: '(nmhdr.idFrom)'. | |
| 64-bit errors | OWLNext |
contain.h:78 | Medium | V302 | Member operator[] of 'TCollection' class has a 32-bit type argument. Use memsize-type here. | |
| 64-bit errors | OWLNext |
gadgetwi.h:80 | Medium | V302 | Member operator[] of 'TGadgetList' class has a 32-bit type argument. Use memsize-type here. | |
| 64-bit errors | OWLNext |
imagelst.h:94 | Medium | V302 | Member operator[] of 'TImageList' class has a 32-bit type argument. Use memsize-type here. | |
| 64-bit errors | OWLNext |
pointer.h:125 | Medium | V302 | Member operator[] of 'TAPointer' class has a 32-bit type argument. Use memsize-type here. | |
| 64-bit errors | OWLNext |
pointer.h:310 | Medium | V302 | Member operator[] of 'TAEnvelope' class has a 32-bit type argument. Use memsize-type here. | |
| 64-bit errors | OWLNext |
memory.h:309 | Medium | V302 | Member operator[] of 'TTmpBuffer' class has a 32-bit type argument. Use memsize-type here. | |
| 64-bit errors | OWLNext |
registry.h:415 | Medium | V302 | Member operator[] of 'TRegKeyIterator' class has a 32-bit type argument. Use memsize-type here. | |
| 64-bit errors | OWLNext |
registry.h:441 | Medium | V302 | Member operator[] of 'TRegValueIterator' class has a 32-bit type argument. Use memsize-type here. | |
| 64-bit errors | OWLNext |
registry.h:752 | Medium | V302 | Member operator[] of 'TRegTemplateList' class has a 32-bit type argument. Use memsize-type here. | |
| 64-bit errors | OWLNext |
registry.h:801 | Medium | V302 | Member operator[] of 'TRegParamList' class has a 32-bit type argument. Use memsize-type here. | |
| 64-bit errors | OWLNext |
shellitm.h:604 | Medium | V302 | Member operator[] of 'TShellItemIterator' class has a 32-bit type argument. Use memsize-type here. | |
| 64-bit errors | OWLNext |
template.h:666 | Medium | V302 | Member operator[] of 'TMObjectArray' class has a 32-bit type argument. Use memsize-type here. | |
| 64-bit errors | OWLNext |
template.h:667 | Medium | V302 | Member operator[] of 'TMObjectArray' class has a 32-bit type argument. Use memsize-type here. | |
| 64-bit errors | OWLNext |
template.h:789 | Medium | V302 | Member operator[] of 'TTypedArray' class has a 32-bit type argument. Use memsize-type here. | |
| 64-bit errors | OWLNext |
template.h:790 | Medium | V302 | Member operator[] of 'TTypedArray' class has a 32-bit type argument. Use memsize-type here. | |
| 64-bit errors | OWLNext |
thread.h:252 | Medium | V302 | Member operator[] of 'TSemaphoreSet' class has a 32-bit type argument. Use memsize-type here. | |
| 64-bit errors | OWLNext |
dib.cpp:287 | High | V220 | Suspicious sequence of types castings: memsize -> 32-bit integer -> memsize. The value being cast: '((char *) Bits - (char *) Info)'. | |
| 64-bit errors | OWLNext |
docking.cpp:1092 | Medium | V127 | An overflow of the 32-bit 'diff' variable is possible inside a long cycle which utilizes a memsize-type loop counter. | |
| 64-bit errors | OWLNext |
docking.cpp:1101 | Medium | V127 | An overflow of the 32-bit 'decoItem.Top' variable is possible inside a long cycle which utilizes a memsize-type loop counter. | |
| 64-bit errors | OWLNext |
docking.cpp:1102 | Medium | V127 | An overflow of the 32-bit 'decoItem.Bottom' variable is possible inside a long cycle which utilizes a memsize-type loop counter. | |
| 64-bit errors | OWLNext |
docking.cpp:1362 | Medium | V127 | An overflow of the 32-bit 'decoList[i].Top' variable is possible inside a long cycle which utilizes a memsize-type loop counter. | |
| 64-bit errors | OWLNext |
docking.cpp:1363 | Medium | V127 | An overflow of the 32-bit 'decoList[i].Bottom' variable is possible inside a long cycle which utilizes a memsize-type loop counter. | |
| 64-bit errors | OWLNext |
dumpstack.cpp:254 | High | V205 | Explicit conversion of pointer type to 32-bit integer type: (DWORD) memoryBasicInfo.AllocationBase | |
| 64-bit errors | OWLNext |
dumpstack.cpp:257 | High | V205 | Explicit conversion of pointer type to 32-bit integer type: (DWORD) memoryBasicInfo.AllocationBase | |
| 64-bit errors | OWLNext |
filedoc.cpp:680 | High | V220 | Suspicious sequence of types castings: memsize -> 32-bit integer -> memsize. The value being cast: '(curp - srcp)'. | |
| 64-bit errors | OWLNext |
filedoc.cpp:681 | High | V220 | Suspicious sequence of types castings: memsize -> 32-bit integer -> memsize. The value being cast: '(curp - srcp)'. | |
| 64-bit errors | OWLNext |
filedoc.cpp:691 | High | V220 | Suspicious sequence of types castings: memsize -> 32-bit integer -> memsize. The value being cast: '(curp - srcp)'. | |
| 64-bit errors | OWLNext |
filename.cpp:122 | High | V220 | Suspicious sequence of types castings: memsize -> 32-bit integer -> memsize. The value being cast: '(ds - serverName)'. | |
| 64-bit errors | OWLNext |
filename.cpp:142 | High | V220 | Suspicious sequence of types castings: memsize -> 32-bit integer -> memsize. The value being cast: '(deviceNameEnd - deviceName)'. | |
| 64-bit errors | OWLNext |
filename.cpp:164 | High | V220 | Suspicious sequence of types castings: memsize -> 32-bit integer -> memsize. The value being cast: '(pathEnd - path)'. | |
| 64-bit errors | OWLNext |
filename.cpp:192 | High | V220 | Suspicious sequence of types castings: memsize -> 32-bit integer -> memsize. The value being cast: '(fileEnd - file)'. | |
| 64-bit errors | OWLNext |
filename.cpp:307 | High | V220 | Suspicious sequence of types castings: memsize -> 32-bit integer -> memsize. The value being cast: '(nextp - freeform)'. | |
| 64-bit errors | OWLNext |
filename.cpp:311 | High | V220 | Suspicious sequence of types castings: memsize -> 32-bit integer -> memsize. The value being cast: '(nextp - freeform)'. | |
| 64-bit errors | OWLNext |
filename.cpp:320 | High | V220 | Suspicious sequence of types castings: memsize -> 32-bit integer -> memsize. The value being cast: '(nextp - freeform)'. | |
| 64-bit errors | OWLNext |
filename.cpp:336 | High | V220 | Suspicious sequence of types castings: memsize -> 32-bit integer -> memsize. The value being cast: '(freeformEnd - nextp)'. | |
| 64-bit errors | OWLNext |
filename.cpp:342 | High | V220 | Suspicious sequence of types castings: memsize -> 32-bit integer -> memsize. The value being cast: '(freeformEnd - (dirp + 1))'. | |
| 64-bit errors | OWLNext |
filename.cpp:353 | High | V220 | Suspicious sequence of types castings: memsize -> 32-bit integer -> memsize. The value being cast: '(freeformEnd - freeform)'. | |
| 64-bit errors | OWLNext |
regexp.cpp:247 | High | V220 | Suspicious sequence of types castings: memsize -> 32-bit integer -> memsize. The value being cast: '(cur - pat) + 16'. | |
| 64-bit errors | OWLNext |
statusba.cpp:38 | Medium | V302 | Member operator[] of 'TModeStrings' class has a 32-bit type argument. Use memsize-type here. | |
| General Analysis | CoolPrj |
cooledit.h:51 | Low | V1003 | The macro 'LF_BOOKMARKID' is a dangerous expression. The parameter 'id' must be surrounded by parentheses. | |
| General Analysis | CoolPrj |
cooledit.h:103 | Low | V690 | The 'TEditPos' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class. | |
| General Analysis | CoolPrj |
cooledit.h:130 | Low | V690 | The 'TEditRange' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class. | |
| General Analysis | CoolPrj |
cooledit.inl:230 | Low | V524 | It is odd that the body of 'GetBkColor' function is fully equivalent to the body of 'GetTxColor' function. | |
| General Analysis | CoolPrj |
coolgrid.h:61 | Low | V690 | The 'TCellPos' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class. | |
| General Analysis | CoolPrj |
coolgrid.h:88 | Low | V690 | The 'TCellRange' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class. | |
| General Analysis | CoolPrj |
hexedit.h:495 | Low | V524 | It is odd that the body of 'GetBkColor' function is fully equivalent to the body of 'GetTxColor' function. | |
| General Analysis | CoolPrj |
asm.cpp:222 | Low | V525 | CWE-682 | The code contains the collection of similar blocks. Check items 'COLORINDEX_STRING', 'COLORINDEX_STRING', 'COLORINDEX_COMMENT' in lines 222, 227, 232. |
| General Analysis | CoolPrj |
basic.cpp:290 | High | V781 | CWE-20 | The value of the 'nPos' index is checked after it was used. Perhaps there is a mistake in program logic. |
| General Analysis | CoolPrj |
basic.cpp:326 | High | V781 | CWE-20 | The value of the 'I' index is checked after it was used. Perhaps there is a mistake in program logic. |
| General Analysis | CoolPrj |
basic.cpp:329 | Medium | V560 | CWE-571 | A part of conditional expression is always true: I >= 1. |
| General Analysis | CoolPrj |
basic.cpp:346 | Medium | V560 | CWE-571 | A part of conditional expression is always true: I >= 1. |
| General Analysis | CoolPrj |
batch.cpp:347 | High | V781 | CWE-20 | The value of the 'I' index is checked after it was used. Perhaps there is a mistake in program logic. |
| General Analysis | CoolPrj |
batch.cpp:350 | Medium | V560 | CWE-571 | A part of conditional expression is always true: I >= 1. |
| General Analysis | CoolPrj |
batch.cpp:367 | Medium | V560 | CWE-571 | A part of conditional expression is always true: I >= 1. |
| General Analysis | CoolPrj |
clrpropdlg.cpp:221 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'GetSheet()'. |
| General Analysis | CoolPrj |
clrpropdlg.cpp:227 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'GetSheet()'. |
| General Analysis | CoolPrj |
cooledit.cpp:6814 | High | V517 | CWE-570 | The use of 'if (A) {...} else if (A) {...}' pattern was detected. There is a probability of logical error presence. Check lines: 6814, 6816. |
| General Analysis | CoolPrj |
cooledit.cpp:7016 | High | V517 | CWE-570 | The use of 'if (A) {...} else if (A) {...}' pattern was detected. There is a probability of logical error presence. Check lines: 7016, 7018. |
| General Analysis | CoolPrj |
cooledit.cpp:7366 | High | V517 | CWE-570 | The use of 'if (A) {...} else if (A) {...}' pattern was detected. There is a probability of logical error presence. Check lines: 7366, 7368. |
| General Analysis | CoolPrj |
cooledit.cpp:8068 | High | V517 | CWE-570 | The use of 'if (A) {...} else if (A) {...}' pattern was detected. There is a probability of logical error presence. Check lines: 8068, 8070. |
| General Analysis | CoolPrj |
cooledit.cpp:1544 | High | V595 | CWE-476 | The 'Window' pointer was utilized before it was verified against nullptr. Check lines: 1544, 1546. |
| General Analysis | CoolPrj |
cooledit.cpp:524 | High | V611 | CWE-762 | The memory was allocated using 'new T[]' operator but was released using the 'delete' operator. Consider inspecting this code. It's probably better to use 'delete [] SyntaxArray;'. |
| General Analysis | CoolPrj |
cooledit.cpp:4419 | High | V611 | CWE-762 | The memory was allocated using 'new T[]' operator but was released using the 'delete' operator. Consider inspecting this code. It's probably better to use 'delete [] DeltaTable;'. Check lines: 4419, 4391. |
| General Analysis | CoolPrj |
cooledit.cpp:6533 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: UndoSel. |
| General Analysis | CoolPrj |
cooledit.cpp:6656 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: UndoSel. |
| General Analysis | CoolPrj |
cooledit.cpp:4236 | High | V758 | CWE-416 | The 'text' reference becomes invalid when temporary object returned by a function is destroyed. |
| General Analysis | CoolPrj |
cooledit.cpp:2874 | High | V763 | Parameter 'invalidateMargin' is always rewritten in function body before being used. | |
| General Analysis | CoolPrj |
cooledit.cpp:5453 | High | V765 | CWE-682 | A compound assignment expression 'lineLen -= lineLen - searchRange.ecol' is suspicious. Consider inspecting it for a possible error. |
| General Analysis | CoolPrj |
cooledit.cpp:5603 | High | V765 | CWE-682 | A compound assignment expression 'lineLen -= lineLen - searchRange.ecol' is suspicious. Consider inspecting it for a possible error. |
| General Analysis | CoolPrj |
cooledit.cpp:8057 | High | V773 | CWE-401 | The function was exited without releasing the 'undoSel' pointer. A memory leak is possible. |
| General Analysis | CoolPrj |
cooledit.cpp:288 | Medium | V1004 | CWE-476 | The 'node' pointer was used unsafely after it was verified against nullptr. Check lines: 287, 288. |
| General Analysis | CoolPrj |
cooledit.cpp:299 | Medium | V1004 | CWE-476 | The 'node' pointer was used unsafely after it was verified against nullptr. Check lines: 298, 299. |
| General Analysis | CoolPrj |
cooledit.cpp:580 | Medium | V1004 | CWE-628 | The 'str2' pointer was used unsafely after it was verified against nullptr. Check lines: 579, 580. |
| General Analysis | CoolPrj |
cooledit.cpp:582 | Medium | V1004 | CWE-119 | The 'str1' pointer was used unsafely after it was verified against nullptr. Check lines: 579, 582. |
| General Analysis | CoolPrj |
cooledit.cpp:630 | Medium | V1004 | CWE-628 | The 'str2' pointer was used unsafely after it was verified against nullptr. Check lines: 629, 630. |
| General Analysis | CoolPrj |
cooledit.cpp:631 | Medium | V1004 | CWE-119 | The 'str1' pointer was used unsafely after it was verified against nullptr. Check lines: 629, 631. |
| General Analysis | CoolPrj |
cooledit.cpp:1796 | Medium | V1004 | CWE-476 | The 'buffer' pointer was used unsafely after it was verified against nullptr. Check lines: 1790, 1796. |
| General Analysis | CoolPrj |
cooledit.cpp:2924 | Medium | V1004 | CWE-476 | The 'buffer' pointer was used unsafely after it was verified against nullptr. Check lines: 2922, 2924. |
| General Analysis | CoolPrj |
cooledit.cpp:2966 | Medium | V1004 | CWE-476 | The 'buffer' pointer was used unsafely after it was verified against nullptr. Check lines: 2965, 2966. |
| General Analysis | CoolPrj |
cooledit.cpp:6786 | Medium | V1004 | CWE-476 | The 'wnd.Selection' pointer was used unsafely after it was verified against nullptr. Check lines: 6785, 6786. |
| General Analysis | CoolPrj |
cooledit.cpp:6992 | Medium | V1004 | CWE-476 | The 'wnd.Selection' pointer was used unsafely after it was verified against nullptr. Check lines: 6991, 6992. |
| General Analysis | CoolPrj |
cooledit.cpp:1567 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'wnd'. |
| General Analysis | CoolPrj |
cooledit.cpp:7174 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'dynamic_cast< TCoolEdit * > (Parent)'. |
| General Analysis | CoolPrj |
cooledit.cpp:7179 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'dynamic_cast< TCoolEdit * > (Parent)'. |
| General Analysis | CoolPrj |
cooledit.cpp:7186 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'dynamic_cast< TCoolEdit * > (Parent)'. |
| General Analysis | CoolPrj |
cooledit.cpp:7199 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'coolEdit'. |
| General Analysis | CoolPrj |
cooledit.cpp:7212 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'coolEdit'. |
| General Analysis | CoolPrj |
cooledit.cpp:5108 | Medium | V536 | CWE-682 | Be advised that the utilized constant value is represented by an octal form. Oct: '\033', Dec: 27. |
| General Analysis | CoolPrj |
cooledit.cpp:2878 | Medium | V547 | CWE-570 | Expression '!invalidateMargin' is always false. |
| General Analysis | CoolPrj |
cooledit.cpp:2888 | Medium | V547 | CWE-570 | Expression '!invalidateMargin' is always false. |
| General Analysis | CoolPrj |
cooledit.cpp:1927 | Medium | V557 | CWE-125 | Array overrun is possible. The value of 'i' index could reach 18. |
| General Analysis | CoolPrj |
cooledit.cpp:2188 | Medium | V560 | CWE-571 | A part of conditional expression is always true: selBegin >= 0. |
| General Analysis | CoolPrj |
cooledit.cpp:2189 | Medium | V560 | CWE-571 | A part of conditional expression is always true: selEnd >= 0. |
| General Analysis | CoolPrj |
cooledit.cpp:2529 | Medium | V560 | CWE-571 | A part of conditional expression is always true: p.row >= 0. |
| General Analysis | CoolPrj |
cooledit.cpp:2553 | Medium | V560 | CWE-571 | A part of conditional expression is always true: index >= 0. |
| General Analysis | CoolPrj |
cooledit.cpp:1941 | Medium | V605 | CWE-682 | Consider verifying the expression. An unsigned value is compared to the number belonging to the range [-1..18]. |
| General Analysis | CoolPrj |
cooledit.cpp:6024 | Medium | V678 | CWE-688 | An object is used as an argument to its own method. Consider checking the first actual argument of the 'AddDefaultEngines' function. |
| General Analysis | CoolPrj |
cooledit.cpp:6511 | Medium | V690 | The copy constructor is declared as private in the 'TUndoDeleteChar' class, but the default copy assignment operator will still be generated by compiler. It is dangerous to use such a class. | |
| General Analysis | CoolPrj |
cooledit.cpp:6574 | Medium | V690 | The copy constructor is declared as private in the 'TUndoDeleteWord' class, but the default copy assignment operator will still be generated by compiler. It is dangerous to use such a class. | |
| General Analysis | CoolPrj |
cooledit.cpp:6845 | Medium | V690 | The copy constructor is declared as private in the 'TUndoPaste' class, but the default copy assignment operator will still be generated by compiler. It is dangerous to use such a class. | |
| General Analysis | CoolPrj |
cooledit.cpp:7102 | Medium | V690 | The copy constructor is declared as private in the 'TUndoDragDropMove' class, but the default copy assignment operator will still be generated by compiler. It is dangerous to use such a class. | |
| General Analysis | CoolPrj |
cooledit.cpp:7263 | Medium | V773 | CWE-401 | The 'SearchDialog' pointer was not released in destructor. A memory leak is possible. |
| General Analysis | CoolPrj |
cooledit.cpp:2953 | Low | V1004 | CWE-476 | The 'buffer' pointer was used unsafely after it was verified against nullptr. Check lines: 2951, 2953. |
| General Analysis | CoolPrj |
cooledit.cpp:2062 | Low | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'pBuf'. |
| General Analysis | CoolPrj |
cooledit.cpp:2542 | Low | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'text'. |
| General Analysis | CoolPrj |
cooledit.cpp:5370 | Low | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'metaph'. |
| General Analysis | CoolPrj |
cooledit.cpp:5892 | Low | V524 | It is odd that the body of 'EvCommandenableFindback' function is fully equivalent to the body of 'EvCommandenableFindfrw' function. | |
| General Analysis | CoolPrj |
cooledit.cpp:5991 | Low | V524 | It is odd that the body of 'CeReplaceAll' function is fully equivalent to the body of 'CeReplace' function. | |
| General Analysis | CoolPrj |
cooledit.cpp:2087 | Low | V547 | CWE-571 | Expression 'length' is always true. |
| General Analysis | CoolPrj |
cooledit.cpp:1893 | Low | V576 | CWE-628 | Incorrect format. Consider checking the fourth actual argument of the 'sprintf_s' function. The UNSIGNED integer type argument is expected. |
| General Analysis | CoolPrj |
cooledit.cpp:6399 | Low | V690 | The copy constructor is declared as private in the 'TUndoKeyTab' class, but the default copy assignment operator will still be generated by compiler. It is dangerous to use such a class. | |
| General Analysis | CoolPrj |
cooledit.cpp:6758 | Low | V690 | The copy constructor is declared as private in the 'TUndoDeleteSelection' class, but the default copy assignment operator will still be generated by compiler. It is dangerous to use such a class. | |
| General Analysis | CoolPrj |
cooledit.cpp:6964 | Low | V690 | The copy constructor is declared as private in the 'TUndoDragDropMoveExt' class, but the default copy assignment operator will still be generated by compiler. It is dangerous to use such a class. | |
| General Analysis | CoolPrj |
cooledit.cpp:7047 | Low | V690 | The copy constructor is declared as private in the 'TUndoDragDropCopy' class, but the default copy assignment operator will still be generated by compiler. It is dangerous to use such a class. | |
| General Analysis | CoolPrj |
cooledit.cpp:2070 | Low | V793 | CWE-691 | It is odd that the result of the 'pBuf[i + 1].CharPos - pBuf[i].CharPos' statement is a part of the condition. Perhaps, this statement should have been compared with something else. |
| General Analysis | CoolPrj |
cooledit.cpp:2079 | Low | V793 | CWE-691 | It is odd that the result of the 'length - pBuf[blocks - 1].CharPos' statement is a part of the condition. Perhaps, this statement should have been compared with something else. |
| General Analysis | CoolPrj |
coolgrid.cpp:1370 | High | V595 | CWE-476 | The 'Window' pointer was utilized before it was verified against nullptr. Check lines: 1370, 1372. |
| General Analysis | CoolPrj |
coolgrid.cpp:1394 | High | V595 | CWE-476 | The 'Window' pointer was utilized before it was verified against nullptr. Check lines: 1394, 1396. |
| General Analysis | CoolPrj |
coolgrid.cpp:1040 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Id. |
| General Analysis | CoolPrj |
coolgrid.cpp:1457 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: MinDividerIndex. |
| General Analysis | CoolPrj |
coolgrid.cpp:217 | Medium | V1004 | CWE-476 | The 'grid' pointer was used unsafely after it was verified against nullptr. Check lines: 216, 217. |
| General Analysis | CoolPrj |
coolgrid.cpp:292 | Medium | V1004 | CWE-476 | The 'grid' pointer was used unsafely after it was verified against nullptr. Check lines: 291, 292. |
| General Analysis | CoolPrj |
coolgrid.cpp:492 | Medium | V1004 | CWE-476 | The 'grid' pointer was used unsafely after it was verified against nullptr. Check lines: 491, 492. |
| General Analysis | CoolPrj |
coolgrid.cpp:1123 | Medium | V1004 | CWE-476 | The 'cell' pointer was used unsafely after it was verified against nullptr. Check lines: 1122, 1123. |
| General Analysis | CoolPrj |
coolgrid.cpp:1942 | Medium | V1004 | CWE-476 | The 'col' pointer was used unsafely after it was verified against nullptr. Check lines: 1941, 1942. |
| General Analysis | CoolPrj |
coolgrid.cpp:1416 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'wnd'. |
| General Analysis | CoolPrj |
coolgrid.cpp:2181 | Medium | V560 | CWE-570 | A part of conditional expression is always false: key == 0x09. |
| General Analysis | CoolPrj |
coolgrid.cpp:2223 | Medium | V560 | CWE-571 | A part of conditional expression is always true: point.y >= (HeaderHeight - HitDelta). |
| General Analysis | CoolPrj |
coolgrid.cpp:1058 | Medium | V773 | CWE-401 | The 'BoldFont' pointer was not released in destructor. A memory leak is possible. |
| General Analysis | CoolPrj |
coolgrid.cpp:177 | Low | V1027 | CWE-704 | Pointer to an object of the 'TRect' class is cast to unrelated 'TPoint' class. |
| General Analysis | CoolPrj |
coolgrid.cpp:665 | Low | V575 | CWE-628 | The potential null pointer is passed into 'strcpy' function. Inspect the first argument. |
| General Analysis | CoolPrj |
coolgrid.cpp:2104 | Low | V796 | CWE-484 | It is possible that 'break' statement is missing in switch statement. |
| General Analysis | CoolPrj |
coolgrid.cpp:2128 | Low | V796 | CWE-484 | It is possible that 'break' statement is missing in switch statement. |
| General Analysis | CoolPrj |
cplusplus.cpp:264 | High | V781 | CWE-20 | The value of the 'nPos' index is checked after it was used. Perhaps there is a mistake in program logic. |
| General Analysis | CoolPrj |
cplusplus.cpp:294 | High | V781 | CWE-20 | The value of the 'I' index is checked after it was used. Perhaps there is a mistake in program logic. |
| General Analysis | CoolPrj |
cplusplus.cpp:297 | Medium | V560 | CWE-571 | A part of conditional expression is always true: I >= 1. |
| General Analysis | CoolPrj |
cplusplus.cpp:314 | Medium | V560 | CWE-571 | A part of conditional expression is always true: I >= 1. |
| General Analysis | CoolPrj |
dcl.cpp:252 | High | V781 | CWE-20 | The value of the 'I' index is checked after it was used. Perhaps there is a mistake in program logic. |
| General Analysis | CoolPrj |
dcl.cpp:255 | Medium | V560 | CWE-571 | A part of conditional expression is always true: I >= 1. |
| General Analysis | CoolPrj |
dcl.cpp:272 | Medium | V560 | CWE-571 | A part of conditional expression is always true: I >= 1. |
| General Analysis | CoolPrj |
dragdrop.cpp:171 | High | V611 | CWE-762 | The memory was allocated using 'new T[]' operator but was released using the 'delete' operator. Consider inspecting this code. It's probably better to use 'delete [] DataArray;'. |
| General Analysis | CoolPrj |
dragdrop.cpp:121 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: LastTest, TimeLast, HScrollCode, VScrollCode, PendingRepaint, ShowIndicator. |
| General Analysis | CoolPrj |
dragdrop.cpp:1286 | High | V773 | CWE-401 | The function was exited without releasing the 'pNew' pointer. A memory leak is possible. |
| General Analysis | CoolPrj |
dragdrop.cpp:631 | Medium | V1004 | CWE-628 | The 'lpDest' pointer was used unsafely after it was verified against nullptr. Check lines: 630, 631. |
| General Analysis | CoolPrj |
dragdrop.cpp:631 | Medium | V1004 | CWE-628 | The 'lpSource' pointer was used unsafely after it was verified against nullptr. Check lines: 629, 631. |
| General Analysis | CoolPrj |
fortran.cpp:336 | High | V781 | CWE-20 | The value of the 'nPos' index is checked after it was used. Perhaps there is a mistake in program logic. |
| General Analysis | CoolPrj |
fortran.cpp:372 | High | V781 | CWE-20 | The value of the 'I' index is checked after it was used. Perhaps there is a mistake in program logic. |
| General Analysis | CoolPrj |
fortran.cpp:375 | Medium | V560 | CWE-571 | A part of conditional expression is always true: I >= 1. |
| General Analysis | CoolPrj |
fortran.cpp:392 | Medium | V560 | CWE-571 | A part of conditional expression is always true: I >= 1. |
| General Analysis | CoolPrj |
fpattern.cpp:88 | Medium | V1037 | CWE-691 | Two or more case-branches perform the same actions. Check lines: 88, 95 |
| General Analysis | CoolPrj |
hexedit.cpp:143 | High | V611 | CWE-762 | The memory was allocated using 'new T[]' operator but was released using the 'delete' operator. Consider inspecting this code. It's probably better to use 'delete [] SyntaxArray;'. |
| General Analysis | CoolPrj |
hexedit.cpp:834 | High | V763 | Parameter 'invalidateMargin' is always rewritten in function body before being used. | |
| General Analysis | CoolPrj |
hexedit.cpp:935 | Medium | V1004 | CWE-476 | The 'buffer' pointer was used unsafely after it was verified against nullptr. Check lines: 933, 935. |
| General Analysis | CoolPrj |
hexedit.cpp:945 | Medium | V1004 | CWE-476 | The 'buffer' pointer was used unsafely after it was verified against nullptr. Check lines: 943, 945. |
| General Analysis | CoolPrj |
hexedit.cpp:1387 | Medium | V1004 | CWE-476 | The 'buffer' pointer was used unsafely after it was verified against nullptr. Check lines: 1370, 1387. |
| General Analysis | CoolPrj |
hexedit.cpp:838 | Medium | V547 | CWE-570 | Expression '!invalidateMargin' is always false. |
| General Analysis | CoolPrj |
hexedit.cpp:848 | Medium | V547 | CWE-570 | Expression '!invalidateMargin' is always false. |
| General Analysis | CoolPrj |
hexedit.cpp:988 | Medium | V547 | CWE-570 | Expression 'drawWhitespace' is always false. |
| General Analysis | CoolPrj |
hexedit.cpp:1077 | Medium | V547 | CWE-570 | Expression 'drawWhitespace' is always false. |
| General Analysis | CoolPrj |
hexedit.cpp:1188 | Medium | V560 | CWE-571 | A part of conditional expression is always true: p.row >= 0. |
| General Analysis | CoolPrj |
hexedit.cpp:1508 | Medium | V657 | CWE-393 | It's odd that this function always returns one and the same value. |
| General Analysis | CoolPrj |
html.cpp:434 | High | V781 | CWE-20 | The value of the 'I' index is checked after it was used. Perhaps there is a mistake in program logic. |
| General Analysis | CoolPrj |
html.cpp:562 | High | V781 | CWE-20 | The value of the 'I' index is checked after it was used. Perhaps there is a mistake in program logic. |
| General Analysis | CoolPrj |
html.cpp:627 | High | V781 | CWE-20 | The value of the 'I' index is checked after it was used. Perhaps there is a mistake in program logic. |
| General Analysis | CoolPrj |
is.cpp:533 | High | V781 | CWE-20 | The value of the 'nPos' index is checked after it was used. Perhaps there is a mistake in program logic. |
| General Analysis | CoolPrj |
is.cpp:569 | High | V781 | CWE-20 | The value of the 'I' index is checked after it was used. Perhaps there is a mistake in program logic. |
| General Analysis | CoolPrj |
is.cpp:572 | Medium | V560 | CWE-571 | A part of conditional expression is always true: I >= 1. |
| General Analysis | CoolPrj |
is.cpp:589 | Medium | V560 | CWE-571 | A part of conditional expression is always true: I >= 1. |
| General Analysis | CoolPrj |
java.cpp:186 | High | V781 | CWE-20 | The value of the 'nPos' index is checked after it was used. Perhaps there is a mistake in program logic. |
| General Analysis | CoolPrj |
java.cpp:222 | High | V781 | CWE-20 | The value of the 'I' index is checked after it was used. Perhaps there is a mistake in program logic. |
| General Analysis | CoolPrj |
java.cpp:225 | Medium | V560 | CWE-571 | A part of conditional expression is always true: I >= 1. |
| General Analysis | CoolPrj |
java.cpp:242 | Medium | V560 | CWE-571 | A part of conditional expression is always true: I >= 1. |
| General Analysis | CoolPrj |
lisp.cpp:390 | High | V781 | CWE-20 | The value of the 'I' index is checked after it was used. Perhaps there is a mistake in program logic. |
| General Analysis | CoolPrj |
lisp.cpp:393 | Medium | V560 | CWE-571 | A part of conditional expression is always true: I >= 1. |
| General Analysis | CoolPrj |
lisp.cpp:410 | Medium | V560 | CWE-571 | A part of conditional expression is always true: I >= 1. |
| General Analysis | CoolPrj |
pascal.cpp:182 | High | V781 | CWE-20 | The value of the 'nPos' index is checked after it was used. Perhaps there is a mistake in program logic. |
| General Analysis | CoolPrj |
pascal.cpp:218 | High | V781 | CWE-20 | The value of the 'I' index is checked after it was used. Perhaps there is a mistake in program logic. |
| General Analysis | CoolPrj |
pascal.cpp:221 | Medium | V560 | CWE-571 | A part of conditional expression is always true: I >= 1. |
| General Analysis | CoolPrj |
pascal.cpp:238 | Medium | V560 | CWE-571 | A part of conditional expression is always true: I >= 1. |
| General Analysis | CoolPrj |
perl.cpp:348 | High | V781 | CWE-20 | The value of the 'nPos' index is checked after it was used. Perhaps there is a mistake in program logic. |
| General Analysis | CoolPrj |
perl.cpp:384 | High | V781 | CWE-20 | The value of the 'I' index is checked after it was used. Perhaps there is a mistake in program logic. |
| General Analysis | CoolPrj |
perl.cpp:387 | Medium | V560 | CWE-571 | A part of conditional expression is always true: I >= 1. |
| General Analysis | CoolPrj |
perl.cpp:404 | Medium | V560 | CWE-571 | A part of conditional expression is always true: I >= 1. |
| General Analysis | CoolPrj |
python.cpp:271 | High | V781 | CWE-20 | The value of the 'nPos' index is checked after it was used. Perhaps there is a mistake in program logic. |
| General Analysis | CoolPrj |
python.cpp:307 | High | V781 | CWE-20 | The value of the 'I' index is checked after it was used. Perhaps there is a mistake in program logic. |
| General Analysis | CoolPrj |
python.cpp:310 | Medium | V560 | CWE-571 | A part of conditional expression is always true: I >= 1. |
| General Analysis | CoolPrj |
python.cpp:327 | Medium | V560 | CWE-571 | A part of conditional expression is always true: I >= 1. |
| General Analysis | CoolPrj |
regexp.cpp:185 | High | V773 | CWE-401 | The function was exited without releasing the 'N' pointer. A memory leak is possible. |
| General Analysis | CoolPrj |
regexp.cpp:398 | Medium | V560 | CWE-571 | A part of conditional expression is always true: N->fWhat >= 32. |
| General Analysis | CoolPrj |
regexp.cpp:36 | Medium | V668 | CWE-571 | There is no sense in testing the 'node' pointer against null, as the memory was allocated using the 'new' operator. The exception will be generated in the case of memory allocation error. |
| General Analysis | CoolPrj |
regexp.cpp:930 | Medium | V701 | CWE-401 | realloc() possible leak: when realloc() fails in allocating memory, original pointer '* s' is lost. Consider assigning realloc() to a temporary pointer. |
| General Analysis | CoolPrj |
regexp.cpp:452 | Low | V1004 | CWE-476 | The 'Last' pointer was used unsafely after it was verified against nullptr. Check lines: 436, 452. |
| General Analysis | CoolPrj |
regexp.cpp:841 | Low | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'n'. |
| General Analysis | CoolPrj |
rexx.cpp:210 | High | V781 | CWE-20 | The value of the 'nPos' index is checked after it was used. Perhaps there is a mistake in program logic. |
| General Analysis | CoolPrj |
rexx.cpp:246 | High | V781 | CWE-20 | The value of the 'I' index is checked after it was used. Perhaps there is a mistake in program logic. |
| General Analysis | CoolPrj |
rexx.cpp:249 | Medium | V560 | CWE-571 | A part of conditional expression is always true: I >= 1. |
| General Analysis | CoolPrj |
rexx.cpp:266 | Medium | V560 | CWE-571 | A part of conditional expression is always true: I >= 1. |
| General Analysis | CoolPrj |
rsrc.cpp:541 | High | V781 | CWE-20 | The value of the 'I' index is checked after it was used. Perhaps there is a mistake in program logic. |
| General Analysis | CoolPrj |
rsrc.cpp:544 | Medium | V560 | CWE-571 | A part of conditional expression is always true: I >= 1. |
| General Analysis | CoolPrj |
rsrc.cpp:561 | Medium | V560 | CWE-571 | A part of conditional expression is always true: I >= 1. |
| General Analysis | CoolPrj |
sgml.cpp:349 | High | V781 | CWE-20 | The value of the 'I' index is checked after it was used. Perhaps there is a mistake in program logic. |
| General Analysis | CoolPrj |
sgml.cpp:477 | High | V781 | CWE-20 | The value of the 'I' index is checked after it was used. Perhaps there is a mistake in program logic. |
| General Analysis | CoolPrj |
sgml.cpp:542 | High | V781 | CWE-20 | The value of the 'I' index is checked after it was used. Perhaps there is a mistake in program logic. |
| General Analysis | CoolPrj |
sh.cpp:175 | High | V781 | CWE-20 | The value of the 'nPos' index is checked after it was used. Perhaps there is a mistake in program logic. |
| General Analysis | CoolPrj |
sh.cpp:211 | High | V781 | CWE-20 | The value of the 'I' index is checked after it was used. Perhaps there is a mistake in program logic. |
| General Analysis | CoolPrj |
sh.cpp:214 | Medium | V560 | CWE-571 | A part of conditional expression is always true: I >= 1. |
| General Analysis | CoolPrj |
sh.cpp:231 | Medium | V560 | CWE-571 | A part of conditional expression is always true: I >= 1. |
| General Analysis | CoolPrj |
siod.cpp:468 | High | V781 | CWE-20 | The value of the 'I' index is checked after it was used. Perhaps there is a mistake in program logic. |
| General Analysis | CoolPrj |
siod.cpp:471 | Medium | V560 | CWE-571 | A part of conditional expression is always true: I >= 1. |
| General Analysis | CoolPrj |
siod.cpp:488 | Medium | V560 | CWE-571 | A part of conditional expression is always true: I >= 1. |
| General Analysis | CoolPrj |
sql.cpp:170 | High | V781 | CWE-20 | The value of the 'nPos' index is checked after it was used. Perhaps there is a mistake in program logic. |
| General Analysis | CoolPrj |
sql.cpp:206 | High | V781 | CWE-20 | The value of the 'I' index is checked after it was used. Perhaps there is a mistake in program logic. |
| General Analysis | CoolPrj |
sql.cpp:209 | Medium | V560 | CWE-571 | A part of conditional expression is always true: I >= 1. |
| General Analysis | CoolPrj |
sql.cpp:226 | Medium | V560 | CWE-571 | A part of conditional expression is always true: I >= 1. |
| General Analysis | CoolPrj |
tcl.cpp:144 | High | V781 | CWE-20 | The value of the 'nPos' index is checked after it was used. Perhaps there is a mistake in program logic. |
| General Analysis | CoolPrj |
tcl.cpp:180 | High | V781 | CWE-20 | The value of the 'I' index is checked after it was used. Perhaps there is a mistake in program logic. |
| General Analysis | CoolPrj |
tcl.cpp:183 | Medium | V560 | CWE-571 | A part of conditional expression is always true: I >= 1. |
| General Analysis | CoolPrj |
tcl.cpp:200 | Medium | V560 | CWE-571 | A part of conditional expression is always true: I >= 1. |
| General Analysis | CoolPrj |
tex.cpp:989 | High | V781 | CWE-20 | The value of the 'I' index is checked after it was used. Perhaps there is a mistake in program logic. |
| General Analysis | CoolPrj |
tex.cpp:1062 | Medium | V547 | CWE-571 | Expression '!bFunction' is always true. |
| General Analysis | CoolPrj |
tex.cpp:1094 | Medium | V547 | CWE-571 | Expression '!bFunction' is always true. |
| General Analysis | CoolPrj |
tex.cpp:992 | Medium | V560 | CWE-571 | A part of conditional expression is always true: I >= 1. |
| General Analysis | CoolPrj |
tex.cpp:1008 | Medium | V560 | CWE-571 | A part of conditional expression is always true: I >= 1. |
| General Analysis | CoolPrj |
tex.cpp:968 | Low | V1048 | CWE-1164 | The 'bRedefineBlock' variable was assigned the same value. |
| General Analysis | OCFNext |
autodefs.h:1635 | Medium | V1032 | CWE-843 | The pointer 'p' is cast to a more strictly aligned pointer type. |
| General Analysis | OCFNext |
autodefs.h:1186 | Medium | V690 | The 'TAutoIterator' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class. | |
| General Analysis | OCFNext |
autodefs.h:1494 | Low | V1027 | CWE-704 | Pointer to an object of the 'TUnknown' class is cast to unrelated 'IUnknown' class. |
| General Analysis | OCFNext |
autodefs.h:1748 | Low | V1027 | CWE-704 | Pointer to an object of the 'tagVARIANT' class is cast to unrelated 'TAutoVal' class. |
| General Analysis | OCFNext |
automacr.h:156 | Low | V1003 | The macro 'DEFINE_AUTOENUM' is a dangerous expression. The parameter 'type' must be surrounded by parentheses. | |
| General Analysis | OCFNext |
except.h:33 | Low | V690 | The 'TXOle' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class. | |
| General Analysis | OCFNext |
except.h:90 | Low | V690 | The 'TXObjComp' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class. | |
| General Analysis | OCFNext |
ocapp.h:369 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: InitOptions. |
| General Analysis | OCFNext |
ocbocole.h:177 | Low | V1003 | The macro 'MAP_PIX_TO_LOGHIM' is a dangerous expression. The parameters 'pixel', 'pixelsPerInch' must be surrounded by parentheses. | |
| General Analysis | OCFNext |
ocbocole.h:183 | Low | V1003 | The macro 'MAP_LOGHIM_TO_PIX' is a dangerous expression. The parameter 'pixelsPerInch' must be surrounded by parentheses. | |
| General Analysis | OCFNext |
occtrl.h:180 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Val. |
| General Analysis | OCFNext |
occtrl.h:181 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Val. |
| General Analysis | OCFNext |
occtrl.h:182 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Val. |
| General Analysis | OCFNext |
occtrl.h:188 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Val. |
| General Analysis | OCFNext |
occtrl.h:189 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Val. |
| General Analysis | OCFNext |
occtrl.h:190 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Val. |
| General Analysis | OCFNext |
occtrl.h:191 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Val. |
| General Analysis | OCFNext |
occtrl.h:192 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Val. |
| General Analysis | OCFNext |
occtrl.h:244 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Val. |
| General Analysis | OCFNext |
occtrl.h:245 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Val. |
| General Analysis | OCFNext |
occtrl.h:246 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Val. |
| General Analysis | OCFNext |
occtrl.h:247 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Val. |
| General Analysis | OCFNext |
occtrl.h:248 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Val. |
| General Analysis | OCFNext |
occtrl.h:249 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Val. |
| General Analysis | OCFNext |
occtrl.h:250 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Val. |
| General Analysis | OCFNext |
occtrl.h:252 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Val. |
| General Analysis | OCFNext |
occtrl.h:261 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Val. |
| General Analysis | OCFNext |
occtrl.h:338 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Val. |
| General Analysis | OCFNext |
occtrl.h:339 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Val. |
| General Analysis | OCFNext |
occtrl.h:340 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Val. |
| General Analysis | OCFNext |
occtrl.h:341 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Val. |
| General Analysis | OCFNext |
occtrl.h:342 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Val. |
| General Analysis | OCFNext |
occtrl.h:343 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Val. |
| General Analysis | OCFNext |
occtrl.h:344 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Val. |
| General Analysis | OCFNext |
occtrl.h:345 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Val. |
| General Analysis | OCFNext |
occtrl.h:346 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Val. |
| General Analysis | OCFNext |
occtrl.h:355 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Val. |
| General Analysis | OCFNext |
occtrl.h:356 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Val. |
| General Analysis | OCFNext |
occtrl.h:357 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Val. |
| General Analysis | OCFNext |
ocstorag.h:41 | Medium | V690 | The 'TOcStream' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class. | |
| General Analysis | OCFNext |
ocview.h:679 | Medium | V1071 | Consider inspecting the 'ForwardEvent' function. The return value is not always used. Total calls: 13, discarded results: 1. | |
| General Analysis | OCFNext |
ocview.h:734 | Medium | V1071 | Consider inspecting the 'ForwardEvent' function. The return value is not always used. Total calls: 15, discarded results: 1. | |
| General Analysis | OCFNext |
ocview.h:746 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer. |
| General Analysis | OCFNext |
ocview.h:753 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer. |
| General Analysis | OCFNext |
ocview.h:454 | Low | V690 | The 'TOcScaleFactor' class implements the copy assignment operator, but lacks a copy constructor. It is dangerous to use such a class. | |
| General Analysis | OCFNext |
olefacto.h:120 | High | V773 | CWE-401 | The exception was thrown without releasing the 'app' pointer. A memory leak is possible. |
| General Analysis | OCFNext |
olefacto.h:294 | Low | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'app'. |
| General Analysis | OCFNext |
olefacto.h:467 | Low | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'app'. |
| General Analysis | OCFNext |
oleutil.h:208 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Guid. |
| General Analysis | OCFNext |
stgdoc.h:111 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: ThisOpen. |
| General Analysis | OCFNext |
autocli.cpp:176 | High | V547 | CWE-571 | Expression is always true. |
| General Analysis | OCFNext |
autocli.cpp:174 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value 'stat'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autocli.cpp:92 | Low | V1027 | CWE-704 | Pointer to an object of the 'TAutoVal' class is cast to unrelated 'IDispatch' class. |
| General Analysis | OCFNext |
autocli.cpp:260 | Low | V576 | CWE-628 | Incorrect format. Consider checking the fifth actual argument of the 'wsprintfA' function. The SIGNED integer type argument is expected. |
| General Analysis | OCFNext |
autodisp.cpp:174 | Low | V1027 | CWE-704 | Pointer to an object of the 'tagVARIANT' class is cast to unrelated 'TAutoVal' class. |
| General Analysis | OCFNext |
autoiter.cpp:86 | Low | V1027 | CWE-704 | Pointer to an object of the 'tagVARIANT' class is cast to unrelated 'TAutoVal' class. |
| General Analysis | OCFNext |
autoiter.cpp:89 | Low | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'Symbol->GetEnum()'. |
| General Analysis | OCFNext |
autoiter.cpp:101 | Low | V565 | CWE-544 | An empty exception handler. Silent suppression of exceptions can hide the presence of bugs in source code during testing. |
| General Analysis | OCFNext |
autosrv.cpp:97 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Next, Prev. |
| General Analysis | OCFNext |
autosrv.cpp:335 | Medium | V560 | CWE-570 | A part of conditional expression is always false: kind == INVOKE_PROPERTYPUTREF. |
| General Analysis | OCFNext |
autosrv.cpp:246 | Low | V1027 | CWE-704 | Pointer to an object of the 'tagVARIANT' class is cast to unrelated 'TAutoVal' class. |
| General Analysis | OCFNext |
autosrv.cpp:343 | Low | V1027 | CWE-704 | Pointer to an object of the 'tagFUNCDESC' class is cast to unrelated 'tagELEMDESC' class. |
| General Analysis | OCFNext |
autosrv.cpp:352 | Low | V1027 | CWE-704 | Pointer to an object of the 'tagFUNCDESC' class is cast to unrelated 'tagELEMDESC' class. |
| General Analysis | OCFNext |
autosrv.cpp:375 | Low | V1027 | CWE-704 | Pointer to an object of the 'tagFUNCDESC' class is cast to unrelated 'tagELEMDESC' class. |
| General Analysis | OCFNext |
autostck.cpp:77 | High | V614 | CWE-824 | Potentially uninitialized pointer 'val' used. |
| General Analysis | OCFNext |
autostck.cpp:19 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Symbol, ArgSymbolCount, ErrorCode, ErrorMsg. |
| General Analysis | OCFNext |
autostck.cpp:72 | Medium | V1004 | CWE-476 | The 'argSymbol' pointer was used unsafely after it was verified against nullptr. Check lines: 70, 72. |
| General Analysis | OCFNext |
autostck.cpp:24 | Low | V1027 | CWE-704 | Pointer to an object of the 'tagVARIANT' class is cast to unrelated 'TAutoVal' class. |
| General Analysis | OCFNext |
autostck.cpp:61 | Low | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'argSymbol->GetEnum()'. |
| General Analysis | OCFNext |
autosym.cpp:269 | High | V595 | CWE-476 | The 'args.Symbol' pointer was utilized before it was verified against nullptr. Check lines: 269, 278. |
| General Analysis | OCFNext |
autosym.cpp:56 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: CommandCount, FunctionCount, VariableCount. |
| General Analysis | OCFNext |
autosym.cpp:93 | Low | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'cls'. |
| General Analysis | OCFNext |
autosym.cpp:115 | Low | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'sym->GetClass()'. |
| General Analysis | OCFNext |
autosym.cpp:165 | Low | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'cls'. |
| General Analysis | OCFNext |
autosym.cpp:195 | Low | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'cls'. |
| General Analysis | OCFNext |
autosym.cpp:230 | Low | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'cls'. |
| General Analysis | OCFNext |
autosym.cpp:286 | Low | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'args.Symbol->GetEnum()'. |
| General Analysis | OCFNext |
autoval.cpp:406 | High | V614 | CWE-824 | Potentially uninitialized pointer 'v' used. Consider checking the first actual argument of the 'Create' function. |
| General Analysis | OCFNext |
autoval.cpp:442 | High | V614 | CWE-824 | Potentially uninitialized pointer 'v' used. |
| General Analysis | OCFNext |
autoval.cpp:715 | High | V614 | CWE-824 | Potentially uninitialized pointer 'v' used. |
| General Analysis | OCFNext |
autoval.cpp:125 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarUI1FromI2(iVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:126 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarUI1FromI4(lVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:127 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarUI1FromR4(fltVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:128 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarUI1FromR8(dblVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:129 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarUI1FromCy(cyVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:130 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarUI1FromDate(date, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:131 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:132 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:135 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarUI1FromI2(* piVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:136 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarUI1FromI4(* plVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:137 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarUI1FromR4(* pfltVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:138 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarUI1FromR8(* pdblVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:139 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarUI1FromCy(* pcyVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:140 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarUI1FromDate(* pdate, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:141 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:158 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarI2FromI4(lVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:159 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarI2FromR4(fltVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:160 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarI2FromR8(dblVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:161 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarI2FromCy(cyVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:162 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarI2FromDate(date, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:163 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:164 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:169 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarI2FromI4(* plVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:170 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarI2FromR4(* pfltVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:171 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarI2FromR8(* pdblVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:172 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarI2FromCy(* pcyVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:173 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarI2FromDate(* pdate, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:174 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:191 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarI4FromR4(fltVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:192 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarI4FromR8(dblVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:193 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarI4FromCy(cyVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:194 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarI4FromDate(date, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:195 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:196 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:201 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarI4FromR4(* pfltVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:202 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarI4FromR8(* pdblVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:203 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarI4FromCy(* pcyVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:204 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarI4FromDate(* pdate, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:205 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:225 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:226 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:235 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:249 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarR4FromUI1(bVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:250 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarR4FromI2(iVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:251 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarR4FromI4(lVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:253 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarR4FromR8(dblVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:254 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarR4FromCy(cyVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:255 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarR4FromDate(date, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:256 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:257 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:258 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarR4FromBool(boolVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:259 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarR4FromUI1(* pbVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:260 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarR4FromI2(* piVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:261 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarR4FromI4(* plVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:263 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarR4FromR8(* pdblVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:264 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarR4FromCy(* pcyVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:265 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarR4FromDate(* pdate, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:266 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:267 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarR4FromBool(* pbool, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:280 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarR8FromUI1(bVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:281 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarR8FromI2(iVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:282 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarR8FromI4(lVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:283 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarR8FromR4(fltVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:285 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarR8FromCy(cyVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:286 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarR8FromDate(date, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:287 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:288 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:289 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarR8FromBool(boolVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:290 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarR8FromUI1(* pbVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:291 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarR8FromI2(* piVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:292 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarR8FromI4(* plVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:293 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarR8FromR4(* pfltVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:295 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarR8FromCy(* pcyVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:296 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarR8FromDate(* pdate, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:297 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:298 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarR8FromBool(* pbool, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:311 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarDateFromUI1(bVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:312 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarDateFromI2(iVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:313 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarDateFromI4(lVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:314 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarDateFromR4(fltVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:315 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarDateFromR8(dblVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:317 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:318 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:319 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarDateFromBool(boolVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:320 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarDateFromUI1(* pbVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:321 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarDateFromI2(* piVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:322 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarDateFromI4(* plVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:323 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarDateFromR4(* pfltVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:324 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarDateFromR8(* pdblVal, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:326 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:327 | Medium | V545 | CWE-253 | Such conditional expression of 'if' statement is incorrect for the HRESULT type value '::VarDateFromBool(* pbool, & v)'. The SUCCEEDED or FAILED macro should be used instead. |
| General Analysis | OCFNext |
autoval.cpp:339 | Low | V1027 | CWE-704 | Pointer to an object of the 'tagCY' class is cast to unrelated 'TAutoCurrency' class. |
| General Analysis | OCFNext |
autoval.cpp:316 | Low | V1037 | CWE-691 | Two or more case-branches perform the same actions. Check lines: 316, 325 |
| General Analysis | OCFNext |
autoval.cpp:221 | Low | V550 | CWE-682 | An odd precise comparison: fltVal != 0. It's probably better to use a comparison with defined precision: fabs(A - B) > Epsilon. |
| General Analysis | OCFNext |
autoval.cpp:222 | Low | V550 | CWE-682 | An odd precise comparison: dblVal != 0. It's probably better to use a comparison with defined precision: fabs(A - B) > Epsilon. |
| General Analysis | OCFNext |
autoval.cpp:224 | Low | V550 | CWE-682 | An odd precise comparison: date != 0. It's probably better to use a comparison with defined precision: fabs(A - B) > Epsilon. |
| General Analysis | OCFNext |
autoval.cpp:231 | Low | V550 | CWE-682 | An odd precise comparison: * pfltVal != 0. It's probably better to use a comparison with defined precision: fabs(A - B) > Epsilon. |
| General Analysis | OCFNext |
autoval.cpp:232 | Low | V550 | CWE-682 | An odd precise comparison: * pdblVal != 0. It's probably better to use a comparison with defined precision: fabs(A - B) > Epsilon. |
| General Analysis | OCFNext |
autoval.cpp:234 | Low | V550 | CWE-682 | An odd precise comparison: * pdate != 0. It's probably better to use a comparison with defined precision: fabs(A - B) > Epsilon. |
| General Analysis | OCFNext |
ocapp.cpp:820 | High | V530 | CWE-252 | The return value of function 'HRSucceeded' is required to be utilized. |
| General Analysis | OCFNext |
ocapp.cpp:460 | Medium | V1004 | CWE-476 | The 'ocPart' pointer was used unsafely after it was verified against nullptr. Check lines: 450, 460. |
| General Analysis | OCFNext |
ocapp.cpp:782 | Medium | V1004 | CWE-476 | The 'retIface' pointer was used unsafely after it was verified against nullptr. Check lines: 780, 782. |
| General Analysis | OCFNext |
ocapp.cpp:502 | Low | V1004 | CWE-476 | The 'omw' pointer was used unsafely after it was verified against nullptr. Check lines: 492, 502. |
| General Analysis | OCFNext |
ocapp.cpp:1208 | Low | V669 | The 'help' argument is a non-constant reference. The analyzer is unable to determine the position at which this argument is being modified. It is possible that the function contains an error. | |
| General Analysis | OCFNext |
ocapp.cpp:125 | Low | V769 | CWE-119 | The 'resultName' pointer in the 'resultName ++' expression could be nullptr. In such case, resulting value will be senseless and it should not be used. |
| General Analysis | OCFNext |
occtrl.cpp:300 | High | V595 | CWE-476 | The 'BPartI' pointer was utilized before it was verified against nullptr. Check lines: 300, 323. |
| General Analysis | OCFNext |
occtrl.cpp:1015 | High | V614 | CWE-824 | Uninitialized pointer 'value' used. Consider checking the second actual argument of the 'ForwardEvent' function. |
| General Analysis | OCFNext |
occtrl.cpp:1023 | High | V614 | CWE-824 | Uninitialized pointer 'value' used. Consider checking the second actual argument of the 'ForwardEvent' function. |
| General Analysis | OCFNext |
occtrl.cpp:1034 | High | V614 | CWE-824 | Uninitialized pointer 'value' used. Consider checking the second actual argument of the 'ForwardEvent' function. |
| General Analysis | OCFNext |
occtrl.cpp:1067 | High | V614 | CWE-457 | Uninitialized variable 'value' used. Consider checking the second actual argument of the 'ForwardEvent' function. |
| General Analysis | OCFNext |
occtrl.cpp:226 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: CtlId. |
| General Analysis | OCFNext |
occtrl.cpp:240 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: CtlId. |
| General Analysis | OCFNext |
occtrl.cpp:52 | Medium | V1004 | CWE-476 | The 'typeInfo' pointer was used unsafely after it was verified against nullptr. Check lines: 50, 52. |
| General Analysis | OCFNext |
occtrl.cpp:54 | Medium | V1004 | CWE-476 | The 'funcDesc' pointer was used unsafely after it was verified against nullptr. Check lines: 53, 54. |
| General Analysis | OCFNext |
occtrl.cpp:89 | Medium | V1004 | CWE-476 | The 'eventTypeInfo' pointer was used unsafely after it was verified against nullptr. Check lines: 86, 89. |
| General Analysis | OCFNext |
occtrl.cpp:1181 | Medium | V1032 | CWE-843 | The pointer 'args' is cast to a more strictly aligned pointer type. |
| General Analysis | OCFNext |
occtrl.cpp:505 | Medium | V547 | CWE-571 | Expression 'appDesc' is always true. |
| General Analysis | OCFNext |
occtrl.cpp:716 | Medium | V547 | CWE-571 | Expression 'appDesc' is always true. |
| General Analysis | OCFNext |
occtrl.cpp:344 | Low | V1004 | CWE-476 | The 'activeView' pointer was used unsafely after it was verified against nullptr. Check lines: 314, 344. |
| General Analysis | OCFNext |
occtrl.cpp:958 | Low | V601 | CWE-704 | The 'false' value is implicitly cast to the integer type. Inspect the second argument. |
| General Analysis | OCFNext |
occtrl.cpp:972 | Low | V601 | CWE-704 | The 'true' value is implicitly cast to the integer type. Inspect the second argument. |
| General Analysis | OCFNext |
occtrl.cpp:979 | Low | V601 | CWE-704 | The 'false' value is implicitly cast to the integer type. Inspect the second argument. |
| General Analysis | OCFNext |
occtrl.cpp:986 | Low | V601 | CWE-704 | The 'false' value is implicitly cast to the integer type. Inspect the second argument. |
| General Analysis | OCFNext |
occtrl.cpp:993 | Low | V601 | CWE-704 | The 'false' value is implicitly cast to the integer type. Inspect the second argument. |
| General Analysis | OCFNext |
occtrl.cpp:1000 | Low | V601 | CWE-704 | The 'false' value is implicitly cast to the integer type. Inspect the second argument. |
| General Analysis | OCFNext |
occtrl.cpp:1007 | Low | V601 | CWE-704 | The 'false' value is implicitly cast to the integer type. Inspect the second argument. |
| General Analysis | OCFNext |
ocdata.cpp:158 | Medium | V1004 | CWE-476 | The 'fmt' pointer was used unsafely after it was verified against nullptr. Check lines: 156, 158. |
| General Analysis | OCFNext |
ocdoc.cpp:28 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: OrgStorage. |
| General Analysis | OCFNext |
ocdoc.cpp:138 | Medium | V1004 | CWE-476 | The 'newName' pointer was used unsafely after it was verified against nullptr. Check lines: 135, 138. |
| General Analysis | OCFNext |
ocdoc.cpp:66 | Medium | V1048 | CWE-1164 | The 'Storage' variable was assigned the same value. |
| General Analysis | OCFNext |
ocdoc.cpp:282 | Low | V565 | CWE-544 | An empty exception handler. Silent suppression of exceptions can hide the presence of bugs in source code during testing. |
| General Analysis | OCFNext |
oclink.cpp:166 | Medium | V1004 | CWE-476 | The 'fmt' pointer was used unsafely after it was verified against nullptr. Check lines: 164, 166. |
| General Analysis | OCFNext |
oclink.cpp:227 | Low | V1027 | CWE-704 | Pointer to an object of the 'TRect' class is cast to unrelated 'TPoint' class. |
| General Analysis | OCFNext |
ocpart.cpp:178 | High | V595 | CWE-476 | The 'BPartI' pointer was utilized before it was verified against nullptr. Check lines: 178, 183. |
| General Analysis | OCFNext |
ocpart.cpp:200 | Medium | V1004 | CWE-476 | The 'activeView' pointer was used unsafely after it was verified against nullptr. Check lines: 199, 200. |
| General Analysis | OCFNext |
ocpart.cpp:286 | Medium | V1004 | CWE-476 | The 'activeView' pointer was used unsafely after it was verified against nullptr. Check lines: 283, 286. |
| General Analysis | OCFNext |
ocpart.cpp:650 | Medium | V1004 | CWE-476 | The 'activeView' pointer was used unsafely after it was verified against nullptr. Check lines: 648, 650. |
| General Analysis | OCFNext |
ocpart.cpp:756 | Medium | V1004 | CWE-476 | The 'activeView' pointer was used unsafely after it was verified against nullptr. Check lines: 755, 756. |
| General Analysis | OCFNext |
ocpart.cpp:345 | Medium | V547 | CWE-571 | Expression 'posRect' is always true. |
| General Analysis | OCFNext |
ocpart.cpp:186 | Medium | V614 | CWE-457 | Potentially uninitialized variable 'hr' used. Consider checking the second actual argument of the 'Throw' function. |
| General Analysis | OCFNext |
ocreg.cpp:598 | Medium | V530 | CWE-252 | The return value of function 'LoadLibraryA' is required to be utilized. |
| General Analysis | OCFNext |
ocremvie.cpp:472 | Medium | V1004 | CWE-476 | The 'fmt' pointer was used unsafely after it was verified against nullptr. Check lines: 470, 472. |
| General Analysis | OCFNext |
ocremvie.cpp:491 | Medium | V1004 | CWE-476 | The 'fmt' pointer was used unsafely after it was verified against nullptr. Check lines: 488, 491. |
| General Analysis | OCFNext |
ocremvie.cpp:611 | Medium | V1004 | CWE-476 | The 'initInfo' pointer was used unsafely after it was verified against nullptr. Check lines: 603, 611. |
| General Analysis | OCFNext |
ocremvie.cpp:1047 | Medium | V1004 | CWE-476 | The 'where' pointer was used unsafely after it was verified against nullptr. Check lines: 1045, 1047. |
| General Analysis | OCFNext |
ocremvie.cpp:964 | Medium | V764 | CWE-683 | Possible incorrect order of arguments passed to 'getTBRects' function: 'ltbr' and 'ttbr'. |
| General Analysis | OCFNext |
ocremvie.cpp:1035 | Medium | V764 | CWE-683 | Possible incorrect order of arguments passed to 'getTBRects' function: 'ltbr' and 'ttbr'. |
| General Analysis | OCFNext |
ocremvie.cpp:842 | Low | V1004 | CWE-476 | The 'omw' pointer was used unsafely after it was verified against nullptr. Check lines: 835, 842. |
| General Analysis | OCFNext |
ocremvie.cpp:540 | Low | V1027 | CWE-704 | Pointer to an object of the 'TRect' class is cast to unrelated 'TPoint' class. |
| General Analysis | OCFNext |
ocremvie.cpp:541 | Low | V1027 | CWE-704 | Pointer to an object of the 'TRect' class is cast to unrelated 'TPoint' class. |
| General Analysis | OCFNext |
ocremvie.cpp:381 | Low | V565 | CWE-544 | An empty exception handler. Silent suppression of exceptions can hide the presence of bugs in source code during testing. |
| General Analysis | OCFNext |
ocstorag.cpp:572 | Medium | V1004 | CWE-628 | The 'lkbyt' pointer was used unsafely after it was verified against nullptr. Check lines: 570, 572. |
| General Analysis | OCFNext |
ocstorag.cpp:311 | Low | V1004 | CWE-628 | The 'lkbyt' pointer was used unsafely after it was verified against nullptr. Check lines: 299, 311. |
| General Analysis | OCFNext |
ocview.cpp:981 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Disabled. |
| General Analysis | OCFNext |
ocview.cpp:998 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Disabled. |
| General Analysis | OCFNext |
ocview.cpp:561 | Medium | V1004 | CWE-476 | The 'fmt' pointer was used unsafely after it was verified against nullptr. Check lines: 554, 561. |
| General Analysis | OCFNext |
ocview.cpp:585 | Medium | V1004 | CWE-628 | The 'r' pointer was used unsafely after it was verified against nullptr. Check lines: 583, 585. |
| General Analysis | OCFNext |
ocview.cpp:710 | Medium | V1004 | CWE-476 | The 'initInfo' pointer was used unsafely after it was verified against nullptr. Check lines: 708, 710. |
| General Analysis | OCFNext |
ocview.cpp:711 | Medium | V1004 | CWE-476 | The 'where' pointer was used unsafely after it was verified against nullptr. Check lines: 708, 711. |
| General Analysis | OCFNext |
ocview.cpp:712 | Medium | V1004 | CWE-476 | The 'objPos' pointer was used unsafely after it was verified against nullptr. Check lines: 708, 712. |
| General Analysis | OCFNext |
ocview.cpp:747 | Medium | V1004 | CWE-476 | The 'where' pointer was used unsafely after it was verified against nullptr. Check lines: 745, 747. |
| General Analysis | OCFNext |
ocview.cpp:748 | Medium | V1004 | CWE-476 | The 'objPos' pointer was used unsafely after it was verified against nullptr. Check lines: 745, 748. |
| General Analysis | OCFNext |
ocview.cpp:861 | Low | V576 | CWE-628 | Incorrect format. Consider checking the third actual argument of the 'wsprintfA' function. The SIGNED integer type argument is expected. |
| General Analysis | OCFNext |
ocview.cpp:291 | Low | V601 | CWE-704 | The 'true' value is implicitly cast to the integer type. Inspect the second argument. |
| General Analysis | OCFNext |
oledoc.cpp:69 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'olefr'. |
| General Analysis | OCFNext |
oledoc.cpp:321 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'olefr'. |
| General Analysis | OCFNext |
oleframe.cpp:151 | Medium | V1004 | CWE-476 | The 'handler' pointer was used unsafely after it was verified against nullptr. Check lines: 150, 151. |
| General Analysis | OCFNext |
oleframe.cpp:172 | Medium | V1004 | CWE-476 | The 'handler' pointer was used unsafely after it was verified against nullptr. Check lines: 171, 172. |
| General Analysis | OCFNext |
oleframe.cpp:193 | Medium | V1004 | CWE-476 | The 'handler' pointer was used unsafely after it was verified against nullptr. Check lines: 192, 193. |
| General Analysis | OCFNext |
oleframe.cpp:576 | Medium | V1004 | CWE-476 | The 'rect' pointer was used unsafely after it was verified against nullptr. Check lines: 575, 576. |
| General Analysis | OCFNext |
oleframe.cpp:626 | Medium | V728 | An excessive check can be simplified. The '(A && B) || (!A && !B)' expression is equivalent to the 'bool(A) == bool(B)' expression. | |
| General Analysis | OCFNext |
oleframe.cpp:650 | Low | V1004 | CWE-476 | The 'text' pointer was used unsafely after it was verified against nullptr. Check lines: 646, 650. |
| General Analysis | OCFNext |
oleutil.cpp:247 | Low | V1027 | CWE-704 | Pointer to an object of the 'TUnknown' class is cast to unrelated 'IUnknown' class. |
| General Analysis | OCFNext |
oleview.cpp:66 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'oleDoc'. |
| General Analysis | OCFNext |
oleview.cpp:150 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'olefr'. |
| General Analysis | OCFNext |
oleview.cpp:338 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'doc'. |
| General Analysis | OCFNext |
oleview.cpp:343 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'GetOcRemView()'. |
| General Analysis | OCFNext |
oleview.cpp:366 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'oleDoc'. |
| General Analysis | OCFNext |
oleview.cpp:428 | Low | V1027 | CWE-704 | Pointer to an object of the 'TRect' class is cast to unrelated 'TPoint' class. |
| General Analysis | OCFNext |
olewindo.cpp:1712 | High | V773 | CWE-401 | The function was exited without releasing the 'part' pointer. A memory leak is possible. |
| General Analysis | OCFNext |
olewindo.cpp:1839 | Medium | V1004 | CWE-476 | The 'mainWindow' pointer was used unsafely after it was verified against nullptr. Check lines: 1838, 1839. |
| General Analysis | OCFNext |
olewindo.cpp:254 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'olefr'. |
| General Analysis | OCFNext |
olewindo.cpp:403 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'olefr'. |
| General Analysis | OCFNext |
olewindo.cpp:427 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'GetOcRemView()'. |
| General Analysis | OCFNext |
olewindo.cpp:630 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'GetOcRemView()'. |
| General Analysis | OCFNext |
olewindo.cpp:1511 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'GetOcRemView()'. |
| General Analysis | OCFNext |
olewindo.cpp:2541 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'ocRemView'. |
| General Analysis | OCFNext |
olewindo.cpp:638 | Medium | V614 | CWE-457 | Potentially uninitialized variable 'strCloseMenu[0]' used. Consider checking the first actual argument of the 'SetText' function. |
| General Analysis | OCFNext |
olewindo.cpp:657 | Low | V524 | It is odd that the body of 'CeEditInsertControl' function is fully equivalent to the body of 'CeEditInsertObject' function. | |
| General Analysis | OCFNext |
stgdoc.cpp:976 | Medium | V1004 | CWE-119 | The 'b' pointer was used unsafely after it was verified against nullptr. Check lines: 975, 976. |
| General Analysis | OCFNext |
stgdoc.cpp:440 | Medium | V1048 | CWE-1164 | The 'omode' variable was assigned the same value. |
| General Analysis | OCFNext |
stgdoc.cpp:473 | Medium | V1048 | CWE-1164 | The 'omode' variable was assigned the same value. |
| General Analysis | OCFNext |
stgdoc.cpp:531 | Medium | V547 | CWE-571 | Expression 'StorageI' is always true. |
| General Analysis | OCFNext |
stgdoc.cpp:1231 | Medium | V614 | CWE-457 | Potentially uninitialized variable 'count' used. |
| General Analysis | OCFNext |
stgdoc.cpp:566 | Medium | V668 | CWE-571 | There is no sense in testing the 'inStream' pointer against null, as the memory was allocated using the 'new' operator. The exception will be generated in the case of memory allocation error. |
| General Analysis | OCFNext |
stgdoc.cpp:589 | Medium | V668 | CWE-571 | There is no sense in testing the 'outStream' pointer against null, as the memory was allocated using the 'new' operator. The exception will be generated in the case of memory allocation error. |
| General Analysis | OCFNext |
stgdoc.cpp:881 | Medium | V668 | CWE-571 | There is no sense in testing the 'p' pointer against null, as the memory was allocated using the 'new' operator. The exception will be generated in the case of memory allocation error. |
| General Analysis | OCFNext |
stgdoc.cpp:872 | Medium | V730 | CWE-457 | It is possible that not all members of a class are initialized inside the constructor. Consider inspecting: strm, last_seek, lahead. |
| General Analysis | OCFNext |
stgdoc.cpp:765 | Low | V576 | CWE-628 | Incorrect format. Consider checking the third actual argument of the 'sprintf' function. The SIGNED integer type argument is expected. |
| General Analysis | OCFNext |
stgdoc.cpp:1037 | Low | V769 | CWE-119 | The 'b' pointer in the 'b + len' expression could be nullptr. In such case, resulting value will be senseless and it should not be used. |
| General Analysis | OCFNext |
typelib.cpp:546 | High | V611 | CWE-762 | The memory was allocated using 'new T[]' operator but was released using the 'delete' operator. Consider inspecting this code. It's probably better to use 'delete [] ImplList;'. Check lines: 546, 513. |
| General Analysis | OCFNext |
typelib.cpp:33 | Medium | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: FuncCount, VarCount, ImplCount, TypeKind. |
| General Analysis | OWLExt |
bmpmenu.cpp:1203 | Medium | V560 | CWE-570 | A part of conditional expression is always false: (mii.fType & 0x00000000L). |
| General Analysis | OWLExt |
browse.cpp:100 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: StyleNo. |
| General Analysis | OWLExt |
browse.cpp:112 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: StyleNo. |
| General Analysis | OWLExt |
browse.cpp:132 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: TextAlignment. |
| General Analysis | OWLExt |
browse.cpp:81 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'dynamic_cast< TBrowse * > (Parent)'. |
| General Analysis | OWLExt |
browse.cpp:1242 | Medium | V728 | An excessive check can be simplified. The '(A && B) || (!A && !B)' expression is equivalent to the 'bool(A) == bool(B)' expression. | |
| General Analysis | OWLExt |
browse.cpp:1247 | Medium | V728 | An excessive check can be simplified. The '(A && B) || (!A && !B)' expression is equivalent to the 'bool(A) == bool(B)' expression. | |
| General Analysis | OWLExt |
browse.cpp:34 | Medium | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Id, StyleNo. |
| General Analysis | OWLExt |
browse.cpp:186 | Medium | V730 | CWE-457 | It is possible that not all members of a class are initialized inside the constructor. Consider inspecting: HorzExtent, ViewportOrgX. |
| General Analysis | OWLExt |
browse.cpp:195 | Medium | V730 | CWE-457 | It is possible that not all members of a class are initialized inside the constructor. Consider inspecting: HorzExtent, ViewportOrgX. |
| General Analysis | OWLExt |
browse.cpp:1312 | Low | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'browseData'. |
| General Analysis | OWLExt |
browse.cpp:451 | Low | V525 | CWE-682 | The code contains the collection of similar blocks. Check items 'imageOrigin', 'maskOrigin', 'imageOrigin' in lines 451, 452, 453. |
| General Analysis | OWLExt |
busy.cpp:312 | Medium | V547 | CWE-570 | Expression 'bar' is always false. |
| General Analysis | OWLExt |
butappdlg.cpp:212 | Low | V601 | CWE-704 | The 'true' value is implicitly cast to the integer type. Inspect the second argument. |
| General Analysis | OWLExt |
calcedit.cpp:404 | Medium | V557 | CWE-787 | Array overrun is possible. The value of 'strlen(Num) - 1' index could reach 4294967295. |
| General Analysis | OWLExt |
calcedit.cpp:80 | Low | V550 | CWE-682 | An odd precise comparison: minValue == maxValue. It's probably better to use a comparison with defined precision: fabs(A - B) < Epsilon. |
| General Analysis | OWLExt |
calcedit.cpp:379 | Low | V550 | CWE-682 | An odd precise comparison: r == 0. It's probably better to use a comparison with defined precision: fabs(A - B) < Epsilon. |
| General Analysis | OWLExt |
caledit.cpp:399 | Low | V576 | CWE-628 | Incorrect format. Consider checking the fourth actual argument of the 'wsprintfA' function. The SIGNED integer type argument is expected. |
| General Analysis | OWLExt |
colorhls.cpp:70 | Low | V550 | CWE-682 | An odd precise comparison: Hue == other.Hue. It's probably better to use a comparison with defined precision: fabs(A - B) < Epsilon. |
| General Analysis | OWLExt |
colorhls.cpp:71 | Low | V550 | CWE-682 | An odd precise comparison: Saturation == other.Saturation. It's probably better to use a comparison with defined precision: fabs(A - B) < Epsilon. |
| General Analysis | OWLExt |
colorhls.cpp:72 | Low | V550 | CWE-682 | An odd precise comparison: Luminance == other.Luminance. It's probably better to use a comparison with defined precision: fabs(A - B) < Epsilon. |
| General Analysis | OWLExt |
colorhls.cpp:187 | Low | V550 | CWE-682 | An odd precise comparison: colorHLS.GetSaturation() == 0.0f. It's probably better to use a comparison with defined precision: fabs(A - B) < Epsilon. |
| General Analysis | OWLExt |
colpick.cpp:979 | High | V547 | CWE-570 | Expression 'index < 0 && index >= NumCustColors' is always false. |
| General Analysis | OWLExt |
colpick.cpp:164 | High | V773 | CWE-401 | The 'Colors' pointer was assigned values twice without releasing the memory. A memory leak is possible. |
| General Analysis | OWLExt |
colpick.cpp:162 | Medium | V794 | The assignment operator should be protected from the case of 'this == &d'. | |
| General Analysis | OWLExt |
comboexp.cpp:656 | Medium | V1004 | CWE-476 | The 'str' pointer was used unsafely after it was verified against nullptr. Check lines: 647, 656. |
| General Analysis | OWLExt |
comboexp.cpp:936 | Medium | V1004 | CWE-476 | The 'str' pointer was used unsafely after it was verified against nullptr. Check lines: 929, 936. |
| General Analysis | OWLExt |
comboexp.cpp:981 | Medium | V519 | CWE-563 | The 'forParent' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 976, 981. |
| General Analysis | OWLExt |
comboexp.cpp:1003 | Medium | V519 | CWE-563 | The 'forParent' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 998, 1003. |
| General Analysis | OWLExt |
comboexp.cpp:958 | Low | V519 | CWE-563 | The 'forParent' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 954, 958. |
| General Analysis | OWLExt |
comboexp.cpp:1061 | Low | V547 | CWE-571 | Expression 'nUnitWidth_ < 0' is always true. |
| General Analysis | OWLExt |
ctxhelpm.cpp:60 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: MenuItemId. |
| General Analysis | OWLExt |
ctxhelpm.cpp:67 | Medium | V530 | CWE-252 | The return value of function 'LoadStringA' is required to be utilized. |
| General Analysis | OWLExt |
ctxhelpm.cpp:82 | Low | V688 | The 'HelpFileName' local variable possesses the same name as one of the class members, which can result in a confusion. | |
| General Analysis | OWLExt |
dockingex.cpp:1431 | High | V595 | CWE-476 | The 'IterPrev' pointer was utilized before it was verified against nullptr. Check lines: 1431, 1447. |
| General Analysis | OWLExt |
dockingex.cpp:582 | Medium | V1004 | CWE-476 | The 'actGadget' pointer was used unsafely after it was verified against nullptr. Check lines: 576, 582. |
| General Analysis | OWLExt |
dockingex.cpp:377 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'harbor'. |
| General Analysis | OWLExt |
dockingex.cpp:772 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'harbor'. |
| General Analysis | OWLExt |
dockingex.cpp:805 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'harbor'. |
| General Analysis | OWLExt |
dockingex.cpp:1010 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'btgd'. |
| General Analysis | OWLExt |
dockingex.cpp:1927 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'Frame'. |
| General Analysis | OWLExt |
dockingex.cpp:1113 | Low | V1027 | CWE-704 | Pointer to an object of the 'TRect' class is cast to unrelated 'TPoint' class. |
| General Analysis | OWLExt |
enumwnd.cpp:47 | Medium | V519 | CWE-563 | The 'mDoingChildWindows' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 45, 47. |
| General Analysis | OWLExt |
gadgctrl.cpp:303 | Low | V760 | Two identical blocks of text were found. The second block begins from line 305. | |
| General Analysis | OWLExt |
gadgctrl.cpp:319 | Low | V760 | Two identical blocks of text were found. The second block begins from line 321. | |
| General Analysis | OWLExt |
gadgctrl.cpp:517 | Low | V760 | Two identical blocks of text were found. The second block begins from line 519. | |
| General Analysis | OWLExt |
gadgdesc.cpp:377 | Medium | V1004 | CWE-476 | The 'name' pointer was used unsafely after it was verified against nullptr. Check lines: 376, 377. |
| General Analysis | OWLExt |
gadgdesc.cpp:753 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'buttonDesc'. |
| General Analysis | OWLExt |
gadgetex.cpp:732 | High | V694 | CWE-571 | The condition (ptr + 1) is only false if there is pointer overflow which is undefined behavior anyway. |
| General Analysis | OWLExt |
gadgetex.cpp:469 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'dockWin'. |
| General Analysis | OWLExt |
gadgetex.cpp:594 | Medium | V547 | CWE-571 | Expression 'font' is always true. |
| General Analysis | OWLExt |
gadgetex.cpp:597 | Medium | V547 | CWE-571 | Expression 'font' is always true. |
| General Analysis | OWLExt |
gadgetex.cpp:686 | Medium | V547 | CWE-571 | Expression 'font' is always true. |
| General Analysis | OWLExt |
gadgetex.cpp:721 | Medium | V547 | CWE-571 | Expression 'font' is always true. |
| General Analysis | OWLExt |
gadgetex.cpp:732 | Medium | V560 | CWE-571 | A part of conditional expression is always true: ptr + 1. |
| General Analysis | OWLExt |
gaugegad.cpp:62 | Medium | V547 | CWE-571 | Expression 'font' is always true. |
| General Analysis | OWLExt |
gaugegad.cpp:86 | Low | V524 | It is odd that the body of 'Inserted' function is fully equivalent to the body of 'Created' function. | |
| General Analysis | OWLExt |
harborex.cpp:133 | Medium | V1004 | CWE-476 | The 'registryName' pointer was used unsafely after it was verified against nullptr. Check lines: 132, 133. |
| General Analysis | OWLExt |
harborex.cpp:756 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'cdcb'. |
| General Analysis | OWLExt |
harborex.cpp:758 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'pdcb'. |
| General Analysis | OWLExt |
harborex.cpp:154 | Medium | V560 | CWE-571 | A part of conditional expression is always true: PopupMenu. |
| General Analysis | OWLExt |
harborex.cpp:642 | Medium | V572 | CWE-665 | It is odd that the object which was created using 'new' operator is immediately cast to another type. |
| General Analysis | OWLExt |
harborex.cpp:649 | Low | V572 | CWE-665 | It is odd that the object which was created using 'new' operator is immediately cast to another type. |
| General Analysis | OWLExt |
harborex.cpp:1089 | Low | V576 | CWE-628 | Incorrect format. Consider checking the third actual argument of the 'wsprintfA' function. The SIGNED integer type argument is expected. |
| General Analysis | OWLExt |
harborex.cpp:1486 | Low | V576 | CWE-628 | Incorrect format. Consider checking the third actual argument of the 'wsprintfA' function. The SIGNED integer type argument is expected. |
| General Analysis | OWLExt |
hlinkctl.cpp:643 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: m_pBuddy. |
| General Analysis | OWLExt |
hlinkctl.cpp:426 | Medium | V519 | CWE-563 | The 'm_bShowingContext' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 422, 426. |
| General Analysis | OWLExt |
hlinkctl.cpp:324 | Low | V601 | CWE-704 | The 'true' value is implicitly cast to the integer type. |
| General Analysis | OWLExt |
menubtn.cpp:65 | High | V595 | CWE-476 | The 'Parent' pointer was utilized before it was verified against nullptr. Check lines: 65, 66. |
| General Analysis | OWLExt |
menubtn.cpp:127 | Low | V601 | CWE-704 | The 'false' value is implicitly cast to the integer type. Inspect the second argument. |
| General Analysis | OWLExt |
notebook.cpp:288 | Medium | V688 | The 'textextra' local variable possesses the same name as one of the class members, which can result in a confusion. | |
| General Analysis | OWLExt |
notebook.cpp:393 | Medium | V688 | The 'textextra' local variable possesses the same name as one of the class members, which can result in a confusion. | |
| General Analysis | OWLExt |
notebook.cpp:72 | Medium | V730 | CWE-457 | It is possible that not all members of a class are initialized inside the constructor. Consider inspecting: tabpoints, textextra, toffs, wanthscroll, wantvscroll. |
| General Analysis | OWLExt |
notebook.cpp:788 | Low | V525 | CWE-682 | The code contains the collection of similar blocks. Check items 'hsbrect', 'vsbrect', 'tsbrect', 'tsbrect' in lines 788, 790, 792, 794. |
| General Analysis | OWLExt |
notebook.cpp:1049 | Low | V601 | CWE-704 | The 'true' value is implicitly cast to the integer type. Inspect the second argument. |
| General Analysis | OWLExt |
notebook.cpp:1053 | Low | V601 | CWE-704 | The 'true' value is implicitly cast to the integer type. Inspect the second argument. |
| General Analysis | OWLExt |
notebook.cpp:1407 | Low | V601 | CWE-704 | The 'false' value is implicitly cast to the integer type. Inspect the second argument. |
| General Analysis | OWLExt |
notebook.cpp:1897 | Low | V601 | CWE-704 | The 'false' value is implicitly cast to the integer type. Inspect the second argument. |
| General Analysis | OWLExt |
notebook.cpp:1300 | Low | V730 | CWE-457 | It is possible that not all members of a class are initialized inside the constructor. Consider inspecting: trange, vrange, mousedown, newloc, displaystate, lowval, ... |
| General Analysis | OWLExt |
pickedit.cpp:199 | High | V773 | CWE-401 | Visibility scope of the 'dlg' pointer was exited without releasing the memory. A memory leak is possible. |
| General Analysis | OWLExt |
pickedit.cpp:127 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'edit'. |
| General Analysis | OWLExt |
pickedit.cpp:157 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'edit'. |
| General Analysis | OWLExt |
popedit.cpp:290 | Low | V601 | CWE-704 | The 'false' value is implicitly cast to the integer type. |
| General Analysis | OWLExt |
popedit.cpp:293 | Low | V601 | CWE-704 | The 'true' value is implicitly cast to the integer type. |
| General Analysis | OWLExt |
popedit.cpp:295 | Low | V601 | CWE-704 | The 'false' value is implicitly cast to the integer type. Inspect the first argument. |
| General Analysis | OWLExt |
popedit.cpp:297 | Low | V601 | CWE-704 | The 'false' value is implicitly cast to the integer type. |
| General Analysis | OWLExt |
timer.cpp:52 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: mFirst. |
| General Analysis | OWLExt |
tipdialg.cpp:247 | Low | V1027 | CWE-704 | Pointer to an object of the 'TRect' class is cast to unrelated 'TPoint' class. |
| General Analysis | OWLExt |
tipdialg.cpp:252 | Low | V1027 | CWE-704 | Pointer to an object of the 'TRect' class is cast to unrelated 'TPoint' class. |
| General Analysis | OWLExt |
toolcustdlg.cpp:120 | Medium | V773 | CWE-401 | The 'CheckList' pointer was not released in destructor. A memory leak is possible. |
| General Analysis | OWLExt |
toolcustdlg.cpp:150 | Low | V601 | CWE-704 | The 'true' value is implicitly cast to the integer type. Inspect the second argument. |
| General Analysis | OWLExt |
toolcustdlg.cpp:152 | Low | V601 | CWE-704 | The 'true' value is implicitly cast to the integer type. Inspect the second argument. |
| General Analysis | OWLExt |
toolcustdlg.cpp:154 | Low | V601 | CWE-704 | The 'true' value is implicitly cast to the integer type. Inspect the second argument. |
| General Analysis | OWLExt |
toolcustdlg.cpp:227 | Low | V601 | CWE-704 | The 'true' value is implicitly cast to the integer type. Inspect the second argument. |
| General Analysis | OWLExt |
urllink.cpp:133 | Medium | V668 | CWE-571 | There is no sense in testing the 'LinkFont' pointer against null, as the memory was allocated using the 'new' operator. The exception will be generated in the case of memory allocation error. |
| General Analysis | OWLExt |
urllink.cpp:580 | Low | V1037 | CWE-691 | Two or more case-branches perform the same actions. Check lines: 580, 591 |
| General Analysis | OWLExt |
urllink.cpp:582 | Low | V1037 | CWE-691 | Two or more case-branches perform the same actions. Check lines: 582, 589 |
| General Analysis | OWLExt |
validate.cpp:118 | Low | V522 | CWE-690 | There might be dereferencing of a potential null pointer '(double *) buffer'. |
| General Analysis | OWLNext |
appdict.h:97 | Low | V1003 | The macro 'DEFINE_APP_DICTIONARY' is a dangerous expression. The parameter 'AppDictionary' must be surrounded by parentheses. | |
| General Analysis | OWLNext |
bitset.h:38 | Medium | V690 | The 'TBitSet' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class. | |
| General Analysis | OWLNext |
bitset.h:92 | Low | V601 | CWE-704 | The 'false' value is implicitly cast to the integer type. |
| General Analysis | OWLNext |
bitset.h:93 | Low | V601 | CWE-704 | The 'true' value is implicitly cast to the integer type. |
| General Analysis | OWLNext |
chooseco.h:197 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Error. |
| General Analysis | OWLNext |
chooseco.h:213 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Error. |
| General Analysis | OWLNext |
configfl.h:76 | Medium | V1071 | Consider inspecting the 'WriteString' function. The return value is not always used. Total calls: 14, discarded results: 1. | |
| General Analysis | OWLNext |
configfl.h:568 | Low | V1027 | CWE-704 | Pointer to an object of the 'TSize' class is cast to unrelated 'TPoint' class. |
| General Analysis | OWLNext |
dc.h:4088 | Medium | V1004 | CWE-628 | The 'glyphArray' pointer was used unsafely after it was verified against nullptr. Check lines: 4086, 4088. |
| General Analysis | OWLNext |
dc.h:4192 | Medium | V1004 | CWE-628 | The 'const_cast< LPWORD > (glyphString)' pointer was used unsafely after it was verified against nullptr. Check lines: 4189, 4192. |
| General Analysis | OWLNext |
dc.h:4412 | Medium | V1004 | CWE-628 | The 'resultGlyphWidthsArray' pointer was used unsafely after it was verified against nullptr. Check lines: 4410, 4412. |
| General Analysis | OWLNext |
dc.h:4494 | Medium | V1004 | CWE-628 | The 'resultCharacterWidthsArray' pointer was used unsafely after it was verified against nullptr. Check lines: 4492, 4494. |
| General Analysis | OWLNext |
dc.h:4798 | Medium | V1004 | CWE-628 | The 'glyphArray' pointer was used unsafely after it was verified against nullptr. Check lines: 4796, 4798. |
| General Analysis | OWLNext |
dc.h:4798 | Medium | V1004 | CWE-628 | The 'str' pointer was used unsafely after it was verified against nullptr. Check lines: 4796, 4798. |
| General Analysis | OWLNext |
dc.h:4058 | Medium | V560 | CWE-571 | A part of conditional expression is always true: str.data(). |
| General Analysis | OWLNext |
dc.h:743 | Low | V690 | The 'TFontUnicodeRanges' class implements a move constructor, but lacks the move assignment operator. It is dangerous to use such a class. | |
| General Analysis | OWLNext |
docview.h:1225 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: NextStream. |
| General Analysis | OWLNext |
docview.h:95 | Low | V1003 | The macro 'IS_PREV_OPEN' is a dangerous expression. The parameter 'omode' must be surrounded by parentheses. | |
| General Analysis | OWLNext |
docview.h:979 | Low | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Tag, DirtyFlag, Embedded, NextDoc, OpenMode, Title, ... |
| General Analysis | OWLNext |
eventhan.h:122 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Object. |
| General Analysis | OWLNext |
file.h:1176 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: BuffSize. |
| General Analysis | OWLNext |
file.h:220 | Medium | V1071 | Consider inspecting the 'Read' function. The return value is not always used. Total calls: 10, discarded results: 1. | |
| General Analysis | OWLNext |
file.h:122 | Medium | V690 | The 'TFile' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class. | |
| General Analysis | OWLNext |
file.h:324 | Medium | V690 | The copy constructor is declared as private in the 'TDiskFileHandle' class, but the default copy assignment operator will still be generated by compiler. It is dangerous to use such a class. | |
| General Analysis | OWLNext |
file.h:371 | Medium | V690 | The 'TBufferedFile' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class. | |
| General Analysis | OWLNext |
file.h:700 | Medium | V773 | CWE-401 | The 'Handle' pointer was not released in destructor. A memory leak is possible. |
| General Analysis | OWLNext |
filedoc.h:111 | Medium | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: FileLength, FileCreateTime, FileAccessTime, FileUpdateTime. |
| General Analysis | OWLNext |
filename.h:204 | Medium | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Done, Data, Status. |
| General Analysis | OWLNext |
functor.h:88 | Medium | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Thunk. |
| General Analysis | OWLNext |
gadget.h:29 | Low | V1003 | The macro 'IDG_MESSAGE' is a dangerous expression. The expression must be surrounded by parentheses. | |
| General Analysis | OWLNext |
gadget.h:30 | Low | V1003 | The macro 'IDG_STATUS_EXT' is a dangerous expression. The expression must be surrounded by parentheses. | |
| General Analysis | OWLNext |
gadget.h:31 | Low | V1003 | The macro 'IDG_STATUS_CAPS' is a dangerous expression. The expression must be surrounded by parentheses. | |
| General Analysis | OWLNext |
gadget.h:32 | Low | V1003 | The macro 'IDG_STATUS_NUM' is a dangerous expression. The expression must be surrounded by parentheses. | |
| General Analysis | OWLNext |
gadget.h:33 | Low | V1003 | The macro 'IDG_STATUS_SCRL' is a dangerous expression. The expression must be surrounded by parentheses. | |
| General Analysis | OWLNext |
gadget.h:34 | Low | V1003 | The macro 'IDG_STATUS_OVR' is a dangerous expression. The expression must be surrounded by parentheses. | |
| General Analysis | OWLNext |
gadget.h:35 | Low | V1003 | The macro 'IDG_STATUS_REC' is a dangerous expression. The expression must be surrounded by parentheses. | |
| General Analysis | OWLNext |
gadget.h:36 | Low | V1003 | The macro 'IDG_SIZEGRIP' is a dangerous expression. The expression must be surrounded by parentheses. | |
| General Analysis | OWLNext |
gadget.h:37 | Low | V1003 | The macro 'IDG_FLATHANDLE' is a dangerous expression. The expression must be surrounded by parentheses. | |
| General Analysis | OWLNext |
gadgetwi.h:340 | Medium | V703 | It is odd that the 'Tooltip' field in derived class 'TGadgetWindow' overwrites field in base class 'TWindow'. Check lines: gadgetwi.h:340, window.h:1564. | |
| General Analysis | OWLNext |
geometry.h:2350 | Low | V524 | It is odd that the body of '+' function is fully equivalent to the body of 'OffsetBy' function. | |
| General Analysis | OWLNext |
geometry.h:1107 | Low | V550 | CWE-682 | An odd precise comparison: other.x == x. It's probably better to use a comparison with defined precision: fabs(A - B) < Epsilon. |
| General Analysis | OWLNext |
geometry.h:1107 | Low | V550 | CWE-682 | An odd precise comparison: other.y == y. It's probably better to use a comparison with defined precision: fabs(A - B) < Epsilon. |
| General Analysis | OWLNext |
geometry.h:1116 | Low | V550 | CWE-682 | An odd precise comparison: other.x != x. It's probably better to use a comparison with defined precision: fabs(A - B) > Epsilon. |
| General Analysis | OWLNext |
geometry.h:1116 | Low | V550 | CWE-682 | An odd precise comparison: other.y != y. It's probably better to use a comparison with defined precision: fabs(A - B) > Epsilon. |
| General Analysis | OWLNext |
module.h:478 | Low | V565 | CWE-544 | An empty exception handler. Silent suppression of exceptions can hide the presence of bugs in source code during testing. |
| General Analysis | OWLNext |
monthcal.h:34 | Medium | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: MultiSel. |
| General Analysis | OWLNext |
objstrm.h:668 | High | V616 | CWE-480 | The 'std::ios::goodbit' named constant with the value of 0 is used in the bitwise operation. |
| General Analysis | OWLNext |
objstrm.h:689 | Medium | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: bp, state. |
| General Analysis | OWLNext |
objstrm.h:545 | Low | V536 | CWE-682 | Be advised that the utilized constant value is represented by an octal form. Oct: 0666, Dec: 438. |
| General Analysis | OWLNext |
picker.h:333 | Medium | V703 | It is odd that the 'Tooltip' field in derived class 'TGridPicker' overwrites field in base class 'TWindow'. Check lines: picker.h:333, window.h:1564. | |
| General Analysis | OWLNext |
pointer.h:205 | Medium | V690 | The 'TComRefBase' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class. | |
| General Analysis | OWLNext |
printer.h:165 | Medium | V690 | The 'TPrinter' class implements a move constructor, but lacks the move assignment operator. It is dangerous to use such a class. | |
| General Analysis | OWLNext |
memory.h:287 | High | V1062 | The 'TTmpBufferBase' class defines a custom 'new' operator. The 'delete' operator must also be defined. | |
| General Analysis | OWLNext |
property.h:136 | Medium | V690 | The copy assignment operator is declared as private in the 'TObjProperty' class, but the default copy constructor will still be generated by compiler. It is dangerous to use such a class. | |
| General Analysis | OWLNext |
property.h:191 | Medium | V690 | The 'TSetter' class implements the copy assignment operator, but lacks a copy constructor. It is dangerous to use such a class. | |
| General Analysis | OWLNext |
property.h:211 | Medium | V690 | The copy assignment operator is declared as private in the 'TConstArrayProperty' class, but the default copy constructor will still be generated by compiler. It is dangerous to use such a class. | |
| General Analysis | OWLNext |
property.h:436 | Medium | V690 | The copy assignment operator is declared as private in the 'TFuncObjPropertyVarPut' class, but the default copy constructor will still be generated by compiler. It is dangerous to use such a class. | |
| General Analysis | OWLNext |
property.h:70 | Medium | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Content. |
| General Analysis | OWLNext |
property.h:66 | Low | V690 | The copy assignment operator is declared as private in the 'TProperty' class, but the default copy constructor will still be generated by compiler. It is dangerous to use such a class. | |
| General Analysis | OWLNext |
property.h:103 | Low | V690 | The copy assignment operator is declared as private in the 'TConstProperty' class, but the default copy constructor will still be generated by compiler. It is dangerous to use such a class. | |
| General Analysis | OWLNext |
property.h:165 | Low | V690 | The copy assignment operator is declared as private in the 'TConstObjProperty' class, but the default copy constructor will still be generated by compiler. It is dangerous to use such a class. | |
| General Analysis | OWLNext |
property.h:189 | Low | V690 | The copy assignment operator is declared as private in the 'TArrayProperty' class, but the default copy constructor will still be generated by compiler. It is dangerous to use such a class. | |
| General Analysis | OWLNext |
property.h:242 | Low | V690 | The copy assignment operator is declared as private in the 'TConstObjArrayProperty' class, but the default copy constructor will still be generated by compiler. It is dangerous to use such a class. | |
| General Analysis | OWLNext |
property.h:280 | Low | V690 | The copy assignment operator is declared as private in the 'TFuncProperty' class, but the default copy constructor will still be generated by compiler. It is dangerous to use such a class. | |
| General Analysis | OWLNext |
property.h:304 | Low | V690 | The copy assignment operator is declared as private in the 'TFuncObjProperty' class, but the default copy constructor will still be generated by compiler. It is dangerous to use such a class. | |
| General Analysis | OWLNext |
property.h:336 | Low | V690 | The copy assignment operator is declared as private in the 'TFuncPropertyGet' class, but the default copy constructor will still be generated by compiler. It is dangerous to use such a class. | |
| General Analysis | OWLNext |
property.h:354 | Low | V690 | The copy assignment operator is declared as private in the 'TFuncObjPropertyGet' class, but the default copy constructor will still be generated by compiler. It is dangerous to use such a class. | |
| General Analysis | OWLNext |
property.h:376 | Low | V690 | The copy assignment operator is declared as private in the 'TFuncPropertyPut' class, but the default copy constructor will still be generated by compiler. It is dangerous to use such a class. | |
| General Analysis | OWLNext |
property.h:394 | Low | V690 | The copy assignment operator is declared as private in the 'TFuncObjPropertyPut' class, but the default copy constructor will still be generated by compiler. It is dangerous to use such a class. | |
| General Analysis | OWLNext |
property.h:412 | Low | V690 | The copy assignment operator is declared as private in the 'TFuncPropertyVarPut' class, but the default copy constructor will still be generated by compiler. It is dangerous to use such a class. | |
| General Analysis | OWLNext |
property.h:467 | Low | V690 | The copy assignment operator is declared as private in the 'TFuncPropertyIdxGet' class, but the default copy constructor will still be generated by compiler. It is dangerous to use such a class. | |
| General Analysis | OWLNext |
property.h:485 | Low | V690 | The copy assignment operator is declared as private in the 'TFuncObjPropertyIdxGet' class, but the default copy constructor will still be generated by compiler. It is dangerous to use such a class. | |
| General Analysis | OWLNext |
property.h:507 | Low | V690 | The copy assignment operator is declared as private in the 'TFuncPropertyIdxPut' class, but the default copy constructor will still be generated by compiler. It is dangerous to use such a class. | |
| General Analysis | OWLNext |
property.h:525 | Low | V690 | The copy assignment operator is declared as private in the 'TFuncObjPropertyIdxPut' class, but the default copy constructor will still be generated by compiler. It is dangerous to use such a class. | |
| General Analysis | OWLNext |
property.h:543 | Low | V690 | The copy assignment operator is declared as private in the 'TFuncPropertyIdx' class, but the default copy constructor will still be generated by compiler. It is dangerous to use such a class. | |
| General Analysis | OWLNext |
property.h:567 | Low | V690 | The copy assignment operator is declared as private in the 'TFuncObjPropertyIdx' class, but the default copy constructor will still be generated by compiler. It is dangerous to use such a class. | |
| General Analysis | OWLNext |
registry.h:116 | Medium | V690 | The 'TRegKey' class implements a move constructor, but lacks the move assignment operator. It is dangerous to use such a class. | |
| General Analysis | OWLNext |
shellitm.h:945 | Low | V659 | Declarations of functions with 'TPidl::operator LPCITEMIDLIST *' name differ in the 'const' keyword only, but the bodies of these functions have different composition. This is suspicious and can possibly be an error. Check lines: 940, 945. | |
| General Analysis | OWLNext |
shellitm.h:387 | Low | V690 | The 'TCreateStruct' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class. | |
| General Analysis | OWLNext |
splitter.h:293 | Low | V1027 | CWE-704 | Pointer to an object of the 'TRect' class is cast to unrelated 'TPoint' class. |
| General Analysis | OWLNext |
string.h:35 | Medium | V690 | The 'TSysStr' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class. | |
| General Analysis | OWLNext |
template.h:1032 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: ItemCnt. |
| General Analysis | OWLNext |
template.h:1161 | Medium | V560 | CWE-571 | A part of conditional expression is always true: ItemCnt. |
| General Analysis | OWLNext |
template.h:1419 | Medium | V560 | CWE-571 | A part of conditional expression is always true: ItemCnt. |
| General Analysis | OWLNext |
template.h:1112 | Low | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'Data'. |
| General Analysis | OWLNext |
template.h:1377 | Low | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'Data'. |
| General Analysis | OWLNext |
template.h:110 | Low | V524 | It is odd that the body of 'Alloc' function is fully equivalent to the body of 'new' function. | |
| General Analysis | OWLNext |
template.h:155 | Low | V524 | It is odd that the body of 'Alloc' function is fully equivalent to the body of 'new' function. | |
| General Analysis | OWLNext |
template.h:158 | Low | V524 | It is odd that the body of 'Free' function is fully equivalent to the body of 'delete' function. | |
| General Analysis | OWLNext |
template.h:958 | Low | V524 | It is odd that the body of 'GetItemsInContainer' function is fully equivalent to the body of 'ArraySize' function. | |
| General Analysis | OWLNext |
thread.h:1349 | Medium | V1004 | CWE-476 | The 'sync' pointer was used unsafely after it was verified against nullptr. Check lines: 1348, 1349. |
| General Analysis | OWLNext |
tooltip.h:1431 | Low | V524 | It is odd that the body of 'GetBkColor' function is fully equivalent to the body of 'GetTipBkColor' function. | |
| General Analysis | OWLNext |
tooltip.h:1476 | Low | V524 | It is odd that the body of 'GetTextColor' function is fully equivalent to the body of 'GetTipTextColor' function. | |
| General Analysis | OWLNext |
treeviewctrl.h:704 | Medium | V1004 | CWE-476 | The 'item' pointer was used unsafely after it was verified against nullptr. Check lines: 703, 704. |
| General Analysis | OWLNext |
version.h:63 | Low | V1003 | The macro 'OWL_FORMAT_VERSION_16BIT' is a dangerous expression. The parameters 'major', 'minor' must be surrounded by parentheses. | |
| General Analysis | OWLNext |
version.h:64 | Low | V1003 | The macro 'OWL_FORMAT_VERSION_32BIT' is a dangerous expression. The parameter 'build' must be surrounded by parentheses. | |
| General Analysis | OWLNext |
version.h:65 | Low | V1003 | The macro 'OWL_FORMAT_VERSION_64BIT' is a dangerous expression. The parameters 'release', 'build' must be surrounded by parentheses. | |
| General Analysis | OWLNext |
window.h:2505 | High | V542 | CWE-704 | Consider inspecting an odd type cast: 'unsigned short' to 'char *'. |
| General Analysis | OWLNext |
window.h:2518 | High | V542 | CWE-704 | Consider inspecting an odd type cast: 'unsigned short' to 'char *'. |
| General Analysis | OWLNext |
window.h:2529 | High | V542 | CWE-704 | Consider inspecting an odd type cast: 'unsigned short' to 'char *'. |
| General Analysis | OWLNext |
window.h:1652 | Medium | V690 | The 'TXWindow' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class. | |
| General Analysis | OWLNext |
window.h:3636 | Low | V524 | It is odd that the body of 'EvVKeyToItem' function is fully equivalent to the body of 'EvCharToItem' function. | |
| General Analysis | OWLNext |
window.h:4042 | Low | V524 | It is odd that the body of 'EvQueryOpen' function is fully equivalent to the body of 'EvQueryNewPalette' function. | |
| General Analysis | OWLNext |
wskaddr.h:142 | Low | V1027 | CWE-704 | Pointer to an object of the 'TINetSocketAddress' class is cast to unrelated 'sockaddr_in' class. |
| General Analysis | OWLNext |
wsksock.h:104 | Low | V690 | The 'TSocket' class implements the copy assignment operator, but lacks a copy constructor. It is dangerous to use such a class. | |
| General Analysis | OWLNext |
wsksockd.h:39 | Low | V690 | The 'TDatagramSocket' class implements the copy assignment operator, but lacks a copy constructor. It is dangerous to use such a class. | |
| General Analysis | OWLNext |
wsksockd.h:78 | Low | V690 | The 'TStreamSocket' class implements the copy assignment operator, but lacks a copy constructor. It is dangerous to use such a class. | |
| General Analysis | OWLNext |
applicat.cpp:1260 | Medium | V1004 | CWE-476 | The 'win' pointer was used unsafely after it was verified against nullptr. Check lines: 1258, 1260. |
| General Analysis | OWLNext |
applicat.cpp:1802 | Medium | V730 | CWE-457 | It is possible that not all members of a class are initialized inside the constructor. Consider inspecting: Count. |
| General Analysis | OWLNext |
applicat.cpp:975 | Low | V1004 | CWE-476 | The 'WaitHandles' pointer was used unsafely after it was verified against nullptr. Check lines: 959, 975. |
| General Analysis | OWLNext |
applicat.cpp:1259 | Low | V1004 | CWE-476 | The 'win' pointer was used unsafely after it was verified against nullptr. Check lines: 1258, 1259. |
| General Analysis | OWLNext |
applicat.cpp:264 | Low | V522 | CWE-690 | There might be dereferencing of a potential null pointer '_caption'. |
| General Analysis | OWLNext |
btntextg.cpp:168 | Medium | V1004 | CWE-476 | The 'frame' pointer was used unsafely after it was verified against nullptr. Check lines: 167, 168. |
| General Analysis | OWLNext |
btntextg.cpp:480 | Medium | V1037 | CWE-691 | Two or more case-branches perform the same actions. Check lines: 480, 483, 486 |
| General Analysis | OWLNext |
celarray.cpp:39 | Medium | V1004 | CWE-476 | The 'bmp' pointer was used unsafely after it was verified against nullptr. Check lines: 32, 39. |
| General Analysis | OWLNext |
celarray.cpp:221 | Low | V1027 | CWE-704 | Pointer to an object of the 'TCelArray' class is cast to unrelated 'TBitmap' class. |
| General Analysis | OWLNext |
celarray.cpp:280 | Low | V1027 | CWE-704 | Pointer to an object of the 'TCelArray' class is cast to unrelated 'TBitmap' class. |
| General Analysis | OWLNext |
celarray.cpp:243 | Low | V547 | CWE-571 | Expression 'index < NCelsUsed' is always true. |
| General Analysis | OWLNext |
checkbox.cpp:142 | Low | V522 | CWE-690 | There might be dereferencing of a potential null pointer '(uint16 *) buffer'. |
| General Analysis | OWLNext |
checklst.cpp:503 | Low | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'checkListData'. |
| General Analysis | OWLNext |
checklst.cpp:362 | Low | V601 | CWE-704 | The 'false' value is implicitly cast to the integer type. Inspect the second argument. |
| General Analysis | OWLNext |
checklst.cpp:367 | Low | V601 | CWE-704 | The 'true' value is implicitly cast to the integer type. Inspect the second argument. |
| General Analysis | OWLNext |
checks.cpp:404 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: QuitMsg. |
| General Analysis | OWLNext |
clipboar.cpp:146 | Medium | V1004 | CWE-628 | The 'buf' pointer was used unsafely after it was verified against nullptr. Check lines: 143, 146. |
| General Analysis | OWLNext |
clipview.cpp:41 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: HWndNext. |
| General Analysis | OWLNext |
colmnhdr.cpp:56 | Low | V688 | The 'hbm' function argument possesses the same name as one of the class members, which can result in a confusion. | |
| General Analysis | OWLNext |
colmnhdr.cpp:83 | Low | V688 | The 'hbm' function argument possesses the same name as one of the class members, which can result in a confusion. | |
| General Analysis | OWLNext |
color.cpp:617 | Low | V550 | CWE-682 | An odd precise comparison: s == 0.0f. It's probably better to use a comparison with defined precision: fabs(A - B) < Epsilon. |
| General Analysis | OWLNext |
color.cpp:1041 | Low | V550 | CWE-682 | An odd precise comparison: saturation == 0.0f. It's probably better to use a comparison with defined precision: fabs(A - B) < Epsilon. |
| General Analysis | OWLNext |
color.cpp:1037 | Low | V636 | CWE-682 | The 'static_cast<int> (((BYTE)(hls))) * 360' expression was implicitly cast from 'int' type to 'float' type. Consider utilizing an explicit type cast to avoid overflow. An example: double A = (double)(X) * Y;. |
| General Analysis | OWLNext |
color.cpp:975 | Low | V656 | CWE-665 | Variables 'minval', 'maxval' are initialized through the call to the same function. It's probably an error or un-optimized code. Consider inspecting the 'Red()' expression. Check lines: 974, 975. |
| General Analysis | OWLNext |
combobex.cpp:185 | Low | V522 | CWE-690 | There might be dereferencing of a potential null pointer. |
| General Analysis | OWLNext |
combobox.cpp:349 | Low | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'static_cast< TComboBoxData * > (buffer)'. |
| General Analysis | OWLNext |
configfl.cpp:49 | Medium | V1004 | CWE-476 | The 'sz' pointer was used unsafely after it was verified against nullptr. Check lines: 48, 49. |
| General Analysis | OWLNext |
configfl.cpp:104 | Medium | V1004 | CWE-628 | The 'text' pointer was used unsafely after it was verified against nullptr. Check lines: 97, 104. |
| General Analysis | OWLNext |
configfl.cpp:118 | Medium | V1004 | CWE-476 | The 'p' pointer was used unsafely after it was verified against nullptr. Check lines: 117, 118. |
| General Analysis | OWLNext |
configfl.cpp:396 | Medium | V1004 | CWE-476 | The 'entry' pointer was used unsafely after it was verified against nullptr. Check lines: 394, 396. |
| General Analysis | OWLNext |
configfl.cpp:396 | Medium | V1004 | CWE-476 | The 'section' pointer was used unsafely after it was verified against nullptr. Check lines: 394, 396. |
| General Analysis | OWLNext |
configfl.cpp:415 | Medium | V1004 | CWE-476 | The 'entry' pointer was used unsafely after it was verified against nullptr. Check lines: 410, 415. |
| General Analysis | OWLNext |
configfl.cpp:415 | Medium | V1004 | CWE-476 | The 'section' pointer was used unsafely after it was verified against nullptr. Check lines: 410, 415. |
| General Analysis | OWLNext |
configfl.cpp:725 | Medium | V1004 | CWE-628 | The 'sz' pointer was used unsafely after it was verified against nullptr. Check lines: 724, 725. |
| General Analysis | OWLNext |
configfl.cpp:1214 | Medium | V1004 | CWE-476 | The 'buffer' pointer was used unsafely after it was verified against nullptr. Check lines: 1198, 1214. |
| General Analysis | OWLNext |
configfl.cpp:1227 | Medium | V1004 | CWE-476 | The 'entry' pointer was used unsafely after it was verified against nullptr. Check lines: 1221, 1227. |
| General Analysis | OWLNext |
configfl.cpp:1257 | Medium | V1004 | CWE-476 | The 'p' pointer was used unsafely after it was verified against nullptr. Check lines: 1256, 1257. |
| General Analysis | OWLNext |
configfl.cpp:1269 | Medium | V1004 | CWE-476 | The 'p' pointer was used unsafely after it was verified against nullptr. Check lines: 1268, 1269. |
| General Analysis | OWLNext |
configfl.cpp:1354 | Medium | V1004 | CWE-119 | The 'section' pointer was used unsafely after it was verified against nullptr. Check lines: 1353, 1354. |
| General Analysis | OWLNext |
configfl.cpp:1368 | Medium | V1004 | CWE-119 | The 'section' pointer was used unsafely after it was verified against nullptr. Check lines: 1365, 1368. |
| General Analysis | OWLNext |
configfl.cpp:1431 | Medium | V1004 | CWE-119 | The 'section' pointer was used unsafely after it was verified against nullptr. Check lines: 1430, 1431. |
| General Analysis | OWLNext |
configfl.cpp:1442 | Medium | V1004 | CWE-119 | The 'section' pointer was used unsafely after it was verified against nullptr. Check lines: 1441, 1442. |
| General Analysis | OWLNext |
configfl.cpp:1449 | Medium | V1004 | CWE-119 | The 'section' pointer was used unsafely after it was verified against nullptr. Check lines: 1448, 1449. |
| General Analysis | OWLNext |
configfl.cpp:1467 | Medium | V1004 | CWE-119 | The 'section' pointer was used unsafely after it was verified against nullptr. Check lines: 1466, 1467. |
| General Analysis | OWLNext |
configfl.cpp:1480 | Medium | V1004 | CWE-119 | The 'section' pointer was used unsafely after it was verified against nullptr. Check lines: 1479, 1480. |
| General Analysis | OWLNext |
configfl.cpp:1481 | Medium | V1004 | CWE-476 | The 'value' pointer was used unsafely after it was verified against nullptr. Check lines: 1479, 1481. |
| General Analysis | OWLNext |
configfl.cpp:1490 | Medium | V1004 | CWE-119 | The 'section' pointer was used unsafely after it was verified against nullptr. Check lines: 1489, 1490. |
| General Analysis | OWLNext |
configfl.cpp:1502 | Medium | V1004 | CWE-119 | The 'section' pointer was used unsafely after it was verified against nullptr. Check lines: 1501, 1502. |
| General Analysis | OWLNext |
configfl.cpp:184 | Medium | V576 | CWE-628 | Incorrect format. Consider checking the third actual argument of the 'sscanf' function. A pointer to the unsigned int type is expected. |
| General Analysis | OWLNext |
configfl.cpp:68 | Low | V1004 | CWE-476 | The 'pVal' pointer was used unsafely after it was verified against nullptr. Check lines: 62, 68. |
| General Analysis | OWLNext |
configfl.cpp:1112 | Low | V1004 | CWE-476 | The 'entry' pointer was used unsafely after it was verified against nullptr. Check lines: 1107, 1112. |
| General Analysis | OWLNext |
configfl.cpp:1143 | Low | V1004 | CWE-119 | The 'buffer' pointer was used unsafely after it was verified against nullptr. Check lines: 1132, 1143. |
| General Analysis | OWLNext |
configfl.cpp:1172 | Low | V1004 | CWE-119 | The 'buffer' pointer was used unsafely after it was verified against nullptr. Check lines: 1165, 1172. |
| General Analysis | OWLNext |
configfl.cpp:1225 | Low | V1004 | CWE-476 | The 'section' pointer was used unsafely after it was verified against nullptr. Check lines: 1221, 1225. |
| General Analysis | OWLNext |
configfl.cpp:1231 | Low | V1004 | CWE-476 | The 'value' pointer was used unsafely after it was verified against nullptr. Check lines: 1221, 1231. |
| General Analysis | OWLNext |
configfl.cpp:1375 | Low | V1004 | CWE-119 | The 'buffer' pointer was used unsafely after it was verified against nullptr. Check lines: 1365, 1375. |
| General Analysis | OWLNext |
configfl.cpp:1407 | Low | V1004 | CWE-119 | The 'buffer' pointer was used unsafely after it was verified against nullptr. Check lines: 1397, 1407. |
| General Analysis | OWLNext |
configfl.cpp:468 | Low | V576 | CWE-628 | Incorrect format. Consider checking the fifth actual argument of the 'wsprintfA' function. The SIGNED integer type argument is expected. |
| General Analysis | OWLNext |
configfl.cpp:468 | Low | V576 | CWE-628 | Incorrect format. Consider checking the fourth actual argument of the 'wsprintfA' function. The SIGNED integer type argument is expected. |
| General Analysis | OWLNext |
configfl.cpp:468 | Low | V576 | CWE-628 | Incorrect format. Consider checking the third actual argument of the 'wsprintfA' function. The SIGNED integer type argument is expected. |
| General Analysis | OWLNext |
coolbar.cpp:38 | High | V670 | CWE-457 | The uninitialized class member 'FPalette' is used to initialize the 'Palette' member. Remember that members are initialized in the order of their declarations inside a class. |
| General Analysis | OWLNext |
coolbar.cpp:39 | High | V670 | CWE-457 | The uninitialized class member 'FBuddy' is used to initialize the 'Buddy' member. Remember that members are initialized in the order of their declarations inside a class. |
| General Analysis | OWLNext |
coolbar.cpp:40 | High | V670 | CWE-457 | The uninitialized class member 'FTooltip' is used to initialize the 'Tooltip' member. Remember that members are initialized in the order of their declarations inside a class. |
| General Analysis | OWLNext |
coolbar.cpp:61 | High | V670 | CWE-457 | The uninitialized class member 'FPalette' is used to initialize the 'Palette' member. Remember that members are initialized in the order of their declarations inside a class. |
| General Analysis | OWLNext |
coolbar.cpp:62 | High | V670 | CWE-457 | The uninitialized class member 'FBuddy' is used to initialize the 'Buddy' member. Remember that members are initialized in the order of their declarations inside a class. |
| General Analysis | OWLNext |
coolbar.cpp:63 | High | V670 | CWE-457 | The uninitialized class member 'FTooltip' is used to initialize the 'Tooltip' member. Remember that members are initialized in the order of their declarations inside a class. |
| General Analysis | OWLNext |
coolbar.cpp:31 | Medium | V730 | CWE-457 | It is possible that not all members of a class are initialized inside the constructor. Consider inspecting: ShouldDelete. |
| General Analysis | OWLNext |
coolbar.cpp:55 | Medium | V730 | CWE-457 | It is possible that not all members of a class are initialized inside the constructor. Consider inspecting: ShouldDelete. |
| General Analysis | OWLNext |
coolbar.cpp:401 | Medium | V730 | CWE-457 | It is possible that not all members of a class are initialized inside the constructor. Consider inspecting: Parent. |
| General Analysis | OWLNext |
date.cpp:503 | Medium | V1048 | CWE-1164 | The 'Julnum' variable was assigned the same value. |
| General Analysis | OWLNext |
datetime.cpp:122 | Low | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'dtData'. |
| General Analysis | OWLNext |
dc.cpp:91 | Low | V524 | It is odd that the body of 'GetAttributeHDC' function is fully equivalent to the body of 'GetHDC' function (dc.h, line 1274). | |
| General Analysis | OWLNext |
dc.cpp:892 | Low | V601 | CWE-704 | The 'true' value is implicitly cast to the integer type. |
| General Analysis | OWLNext |
dc.cpp:900 | Low | V601 | CWE-704 | The 'false' value is implicitly cast to the integer type. |
| General Analysis | OWLNext |
dialog.cpp:288 | Low | V1051 | CWE-754 | Consider checking for misprints. It's possible that the 'dlgClass' should be used inside 'TUser::GetClassInfoA' function. |
| General Analysis | OWLNext |
dialog.cpp:426 | Low | V601 | CWE-704 | The 'false' value is implicitly cast to the integer type. |
| General Analysis | OWLNext |
dialog.cpp:446 | Low | V601 | CWE-704 | The 'false' value is implicitly cast to the integer type. |
| General Analysis | OWLNext |
dialog.cpp:455 | Low | V601 | CWE-704 | The 'false' value is implicitly cast to the integer type. |
| General Analysis | OWLNext |
dialog.cpp:468 | Low | V601 | CWE-704 | The 'false' value is implicitly cast to the integer type. |
| General Analysis | OWLNext |
dib.cpp:691 | High | V614 | CWE-457 | Uninitialized variable 'coreHeader.bcHeight' used. |
| General Analysis | OWLNext |
dib.cpp:692 | High | V614 | CWE-457 | Uninitialized variable 'coreHeader.bcPlanes' used. |
| General Analysis | OWLNext |
dib.cpp:693 | High | V614 | CWE-457 | Uninitialized variable 'coreHeader.bcBitCount' used. |
| General Analysis | OWLNext |
dib.cpp:532 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Mode. |
| General Analysis | OWLNext |
dib.cpp:211 | Medium | V1004 | CWE-628 | The 'src.Info' pointer was used unsafely after it was verified against nullptr. Check lines: 202, 211. |
| General Analysis | OWLNext |
dib.cpp:377 | Medium | V1032 | CWE-843 | The pointer 'GetColors()' is cast to a more strictly aligned pointer type. |
| General Analysis | OWLNext |
dib.cpp:391 | Medium | V1032 | CWE-843 | The pointer 'GetColors()' is cast to a more strictly aligned pointer type. |
| General Analysis | OWLNext |
dib.cpp:716 | Medium | V614 | CWE-457 | Potentially uninitialized variable 'infoHeader.biPlanes' used. |
| General Analysis | OWLNext |
dib.cpp:725 | Medium | V614 | CWE-457 | Potentially uninitialized variable 'infoHeader.biClrUsed' used. |
| General Analysis | OWLNext |
dib.cpp:735 | Medium | V614 | CWE-457 | Potentially uninitialized variable 'infoHeader.biCompression' used. |
| General Analysis | OWLNext |
dib.cpp:770 | Low | V1027 | CWE-704 | Pointer to an object of the 'TRgbQuad' class is cast to unrelated 'tagRGBTRIPLE' class. |
| General Analysis | OWLNext |
dib.cpp:771 | Low | V1027 | CWE-704 | Pointer to an object of the 'TRgbQuad' class is cast to unrelated 'tagRGBTRIPLE' class. |
| General Analysis | OWLNext |
dib.cpp:772 | Low | V1027 | CWE-704 | Pointer to an object of the 'TRgbQuad' class is cast to unrelated 'tagRGBTRIPLE' class. |
| General Analysis | OWLNext |
docking.cpp:2062 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: DragOrgSlipLoc, DragSlipLoc, DragNotificatee. |
| General Analysis | OWLNext |
docking.cpp:846 | Medium | V1004 | CWE-476 | The 'dockableWindow' pointer was used unsafely after it was verified against nullptr. Check lines: 837, 846. |
| General Analysis | OWLNext |
docking.cpp:1522 | Medium | V1004 | CWE-476 | The 'dockableWindow' pointer was used unsafely after it was verified against nullptr. Check lines: 1521, 1522. |
| General Analysis | OWLNext |
docking.cpp:1501 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'df'. |
| General Analysis | OWLNext |
docking.cpp:2410 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'dd'. |
| General Analysis | OWLNext |
docking.cpp:1082 | Medium | V584 | CWE-480 | The 'diff' value is present on both sides of the '!=' operator. The expression is incorrect or it can be simplified. |
| General Analysis | OWLNext |
docking.cpp:1092 | Low | V1026 | CWE-190 | The 'diff' variable is incremented in the loop. Undefined behavior will occur in case of signed integer overflow. |
| General Analysis | OWLNext |
docking.cpp:1101 | Low | V1026 | CWE-190 | The 'decoItem.Top' variable is incremented in the loop. Undefined behavior will occur in case of signed integer overflow. |
| General Analysis | OWLNext |
docking.cpp:1102 | Low | V1026 | CWE-190 | The 'decoItem.Bottom' variable is incremented in the loop. Undefined behavior will occur in case of signed integer overflow. |
| General Analysis | OWLNext |
docking.cpp:1362 | Low | V1026 | CWE-190 | The 'decoList[i].Top' variable is incremented in the loop. Undefined behavior will occur in case of signed integer overflow. |
| General Analysis | OWLNext |
docking.cpp:1363 | Low | V1026 | CWE-190 | The 'decoList[i].Bottom' variable is incremented in the loop. Undefined behavior will occur in case of signed integer overflow. |
| General Analysis | OWLNext |
docking.cpp:1310 | Low | V1027 | CWE-704 | Pointer to an object of the 'TRect' class is cast to unrelated 'TPoint' class. |
| General Analysis | OWLNext |
docking.cpp:1604 | Low | V1027 | CWE-704 | Pointer to an object of the 'TRect' class is cast to unrelated 'TPoint' class. |
| General Analysis | OWLNext |
docking.cpp:2238 | Low | V601 | CWE-704 | The 'true' value is implicitly cast to the integer type. |
| General Analysis | OWLNext |
docmanag.cpp:58 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: TmplIndex. |
| General Analysis | OWLNext |
docmanag.cpp:430 | Medium | V1004 | CWE-476 | The 'tplList' pointer was used unsafely after it was verified against nullptr. Check lines: 427, 430. |
| General Analysis | OWLNext |
docmanag.cpp:467 | Medium | V1004 | CWE-476 | The 'tpl' pointer was used unsafely after it was verified against nullptr. Check lines: 465, 467. |
| General Analysis | OWLNext |
docmanag.cpp:491 | Medium | V1004 | CWE-476 | The 'tpl' pointer was used unsafely after it was verified against nullptr. Check lines: 489, 491. |
| General Analysis | OWLNext |
docmanag.cpp:669 | Medium | V1004 | CWE-476 | The 'doc' pointer was used unsafely after it was verified against nullptr. Check lines: 667, 669. |
| General Analysis | OWLNext |
docmanag.cpp:674 | Medium | V1004 | CWE-476 | The 'tpl' pointer was used unsafely after it was verified against nullptr. Check lines: 670, 674. |
| General Analysis | OWLNext |
docmanag.cpp:824 | Medium | V1004 | CWE-476 | The 'tpl' pointer was used unsafely after it was verified against nullptr. Check lines: 822, 824. |
| General Analysis | OWLNext |
docmanag.cpp:569 | Medium | V1048 | CWE-1164 | The 'filepath[0]' variable was assigned the same value. |
| General Analysis | OWLNext |
docmanag.cpp:708 | Medium | V507 | CWE-562 | Pointer to local array 'filepath' is stored outside the scope of this array. Such a pointer will become invalid. |
| General Analysis | OWLNext |
docmanag.cpp:800 | Medium | V547 | CWE-571 | Expression 'index > 0' is always true. |
| General Analysis | OWLNext |
docmanag.cpp:197 | Medium | V730 | CWE-457 | It is possible that not all members of a class are initialized inside the constructor. Consider inspecting: NextViewId. |
| General Analysis | OWLNext |
docmanag.cpp:1372 | Low | V1004 | CWE-476 | The 'curDoc' pointer was used unsafely after it was verified against nullptr. Check lines: 1369, 1372. |
| General Analysis | OWLNext |
docmanag.cpp:1450 | Low | V1004 | CWE-476 | The 'path' pointer was used unsafely after it was verified against nullptr. Check lines: 1403, 1450. |
| General Analysis | OWLNext |
docmanag.cpp:1622 | Low | V524 | It is odd that the body of 'CeFileOpen' function is fully equivalent to the body of 'CeFileNew' function. | |
| General Analysis | OWLNext |
docmanag.cpp:1658 | Low | V774 | CWE-416 | The 'doc' pointer was used after the memory was released. |
| General Analysis | OWLNext |
doctpl.cpp:32 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: DocManager, ModuleDeref. |
| General Analysis | OWLNext |
document.cpp:65 | Medium | V1004 | CWE-476 | The 'app' pointer was used unsafely after it was verified against nullptr. Check lines: 64, 65. |
| General Analysis | OWLNext |
document.cpp:275 | Low | V1004 | CWE-628 | The 'src' pointer was used unsafely after it was verified against nullptr. Check lines: 271, 275. |
| General Analysis | OWLNext |
drawitem.cpp:1345 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: iRecurse. |
| General Analysis | OWLNext |
drawitem.cpp:376 | Medium | V1037 | CWE-691 | Two or more case-branches perform the same actions. Check lines: 376, 379, 382 |
| General Analysis | OWLNext |
drawitem.cpp:607 | Medium | V1037 | CWE-691 | Two or more case-branches perform the same actions. Check lines: 607, 610, 613 |
| General Analysis | OWLNext |
drawitem.cpp:1389 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'item'. |
| General Analysis | OWLNext |
drawitem.cpp:552 | Medium | V768 | CWE-571 | The variable 'edge' is of enum type. It is odd that it is used as a variable of a Boolean-type. |
| General Analysis | OWLNext |
drawitem.cpp:897 | Low | V525 | CWE-682 | The code contains the collection of similar blocks. Check items '2', '8', '8', '8' in lines 897, 898, 899, 900. |
| General Analysis | OWLNext |
drawitem.cpp:1160 | Low | V525 | CWE-682 | The code contains the collection of similar blocks. Check items '7', '7', '7', '6', '5', '5' in lines 1160, 1161, 1162, 1163, 1164, 1165. |
| General Analysis | OWLNext |
drawitem.cpp:1464 | Low | V565 | CWE-544 | An empty exception handler. Silent suppression of exceptions can hide the presence of bugs in source code during testing. |
| General Analysis | OWLNext |
dumpstack.cpp:316 | Low | V576 | CWE-628 | Incorrect format. Consider checking the fourth actual argument of the 'wsprintfA' function. The SIGNED integer type argument is expected. |
| General Analysis | OWLNext |
edit.cpp:638 | Medium | V1004 | CWE-628 | The 'str2' pointer was used unsafely after it was verified against nullptr. Check lines: 637, 638. |
| General Analysis | OWLNext |
edit.cpp:640 | Medium | V1004 | CWE-628 | The 'str1' pointer was used unsafely after it was verified against nullptr. Check lines: 637, 640. |
| General Analysis | OWLNext |
edit.cpp:690 | Medium | V1004 | CWE-628 | The 'str2' pointer was used unsafely after it was verified against nullptr. Check lines: 689, 690. |
| General Analysis | OWLNext |
edit.cpp:691 | Medium | V1004 | CWE-119 | The 'str1' pointer was used unsafely after it was verified against nullptr. Check lines: 689, 691. |
| General Analysis | OWLNext |
eventhan.cpp:386 | Medium | V1004 | CWE-476 | The 'eventInfo.Entry' pointer was used unsafely after it was verified against nullptr. Check lines: 385, 386. |
| General Analysis | OWLNext |
file.cpp:448 | High | V595 | CWE-476 | The 'Handle' pointer was utilized before it was verified against nullptr. Check lines: 448, 451. |
| General Analysis | OWLNext |
file.cpp:413 | High | V614 | CWE-457 | Uninitialized variable 'ShouldClose' used. |
| General Analysis | OWLNext |
file.cpp:415 | High | V614 | CWE-824 | Potentially uninitialized pointer 'Handle' used. |
| General Analysis | OWLNext |
file.cpp:1764 | High | V614 | CWE-457 | Uninitialized variable 'chunk.Type' used. |
| General Analysis | OWLNext |
file.cpp:340 | High | V616 | CWE-480 | The 'TFile::Normal' named constant with the value of 0 is used in the bitwise operation. |
| General Analysis | OWLNext |
file.cpp:218 | Medium | V1032 | CWE-843 | The pointer '& ul' is cast to a more strictly aligned pointer type. |
| General Analysis | OWLNext |
file.cpp:257 | Medium | V1032 | CWE-843 | The pointer '& ul' is cast to a more strictly aligned pointer type. |
| General Analysis | OWLNext |
file.cpp:1775 | Medium | V1048 | CWE-1164 | The 'info.Type' variable was assigned the same value. |
| General Analysis | OWLNext |
file.cpp:1628 | Medium | V519 | CWE-563 | The 'chunk.CkId' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 1624, 1628. |
| General Analysis | OWLNext |
file.cpp:2088 | Medium | V524 | It is odd that the body of 'UnlockRange' function is fully equivalent to the body of 'LockRange' function. | |
| General Analysis | OWLNext |
file.cpp:340 | Medium | V547 | CWE-570 | Expression 'attrib & TFile::Normal' is always false. |
| General Analysis | OWLNext |
file.cpp:1936 | Low | V1051 | CWE-754 | Consider checking for misprints. It's possible that the 'uMode' should be checked here. |
| General Analysis | OWLNext |
file.cpp:543 | Low | V524 | It is odd that the body of 'binCVTCharLBF' function is fully equivalent to the body of 'binCVTCharMBF' function. | |
| General Analysis | OWLNext |
file.cpp:548 | Low | V524 | It is odd that the body of 'binCVTShortLBF' function is fully equivalent to the body of 'binCVTShortMBF' function. | |
| General Analysis | OWLNext |
file.cpp:586 | Low | V524 | It is odd that the body of 'binCVTInt64LBF' function is fully equivalent to the body of 'binCVTInt64MBF' function. | |
| General Analysis | OWLNext |
filedoc.cpp:546 | Medium | V668 | CWE-571 | There is no sense in testing the 'p' pointer against null, as the memory was allocated using the 'new' operator. The exception will be generated in the case of memory allocation error. |
| General Analysis | OWLNext |
filedoc.cpp:410 | Low | V576 | CWE-628 | Incorrect format. Consider checking the third actual argument of the 'sprintf' function. The SIGNED integer type argument is expected. |
| General Analysis | OWLNext |
filedoc.cpp:539 | Low | V730 | CWE-457 | It is possible that not all members of a class are initialized inside the constructor. Consider inspecting: lahead. |
| General Analysis | OWLNext |
filename.cpp:118 | Medium | V1051 | CWE-754 | Consider checking for misprints. It's possible that the 'serverNameEnd' should be used inside '_tcsncmp' function. |
| General Analysis | OWLNext |
filename.cpp:1049 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'handle'. |
| General Analysis | OWLNext |
filename.cpp:225 | Medium | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: NameBuffer, Unc. |
| General Analysis | OWLNext |
filename.cpp:1018 | Low | V601 | CWE-704 | The 'false' value is implicitly cast to the integer type. |
| General Analysis | OWLNext |
filename.cpp:1026 | Low | V601 | CWE-704 | The 'true' value is implicitly cast to the integer type. |
| General Analysis | OWLNext |
filename.cpp:1040 | Low | V601 | CWE-704 | The 'false' value is implicitly cast to the integer type. |
| General Analysis | OWLNext |
filename.cpp:1042 | Low | V601 | CWE-704 | The 'false' value is implicitly cast to the integer type. |
| General Analysis | OWLNext |
filename.cpp:1050 | Low | V601 | CWE-704 | The 'false' value is implicitly cast to the integer type. |
| General Analysis | OWLNext |
filename.cpp:1058 | Low | V601 | CWE-704 | The 'false' value is implicitly cast to the integer type. |
| General Analysis | OWLNext |
filename.cpp:1061 | Low | V601 | CWE-704 | The 'true' value is implicitly cast to the integer type. |
| General Analysis | OWLNext |
filename.cpp:232 | Low | V730 | CWE-457 | It is possible that not all members of a class are initialized inside the constructor. Consider inspecting: NameBuffer. |
| General Analysis | OWLNext |
filename.cpp:264 | Low | V730 | CWE-457 | It is possible that not all members of a class are initialized inside the constructor. Consider inspecting: NameBuffer. |
| General Analysis | OWLNext |
filtval.cpp:78 | Medium | V1004 | CWE-476 | The 'owner' pointer was used unsafely after it was verified against nullptr. Check lines: 77, 78. |
| General Analysis | OWLNext |
flatctrl.cpp:90 | Low | V760 | Two identical blocks of text were found. The second block begins from line 92. | |
| General Analysis | OWLNext |
flatctrl.cpp:108 | Low | V760 | Two identical blocks of text were found. The second block begins from line 110. | |
| General Analysis | OWLNext |
framewin.cpp:549 | Low | V601 | CWE-704 | The 'true' value is implicitly cast to the integer type. Inspect the second argument. |
| General Analysis | OWLNext |
framewin.cpp:580 | Low | V601 | CWE-704 | The 'false' value is implicitly cast to the integer type. Inspect the second argument. |
| General Analysis | OWLNext |
framewin.cpp:1097 | Low | V601 | CWE-704 | The 'true' value is implicitly cast to the integer type. Inspect the second argument. |
| General Analysis | OWLNext |
framewin.cpp:1100 | Low | V601 | CWE-704 | The 'false' value is implicitly cast to the integer type. Inspect the second argument. |
| General Analysis | OWLNext |
framewin.cpp:151 | Low | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: KeyboardHandling, HWndRestoreFocus, ClientWnd, DocTitleIndex, MergeModule, MenuDescr, ... |
| General Analysis | OWLNext |
fscroll.cpp:23 | Medium | V1004 | CWE-476 | The 'w' pointer was used unsafely after it was verified against nullptr. Check lines: 21, 23. |
| General Analysis | OWLNext |
fscroll.cpp:31 | Medium | V1004 | CWE-476 | The 'w' pointer was used unsafely after it was verified against nullptr. Check lines: 30, 31. |
| General Analysis | OWLNext |
gadget.cpp:782 | Low | V1027 | CWE-704 | Pointer to an object of the 'TRect' class is cast to unrelated 'TPoint' class. |
| General Analysis | OWLNext |
gadget.cpp:797 | Low | V1027 | CWE-704 | Pointer to an object of the 'TRect' class is cast to unrelated 'TPoint' class. |
| General Analysis | OWLNext |
gadgetli.cpp:46 | Low | V1027 | CWE-704 | Pointer to an object of the 'TPoint' class is cast to unrelated 'TSize' class. |
| General Analysis | OWLNext |
gadgetwi.cpp:959 | Medium | V547 | CWE-570 | Expression 'contRow' is always false. |
| General Analysis | OWLNext |
gadgetwi.cpp:1321 | Low | V1027 | CWE-704 | Pointer to an object of the 'TRect' class is cast to unrelated 'TPoint' class. |
| General Analysis | OWLNext |
gadgetwi.cpp:1392 | Low | V1027 | CWE-704 | Pointer to an object of the 'TPoint' class is cast to unrelated 'TSize' class. |
| General Analysis | OWLNext |
gadgetwi.cpp:1439 | Low | V1027 | CWE-704 | Pointer to an object of the 'TPoint' class is cast to unrelated 'TSize' class. |
| General Analysis | OWLNext |
gdiobjec.cpp:42 | Medium | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Type, RefCount. |
| General Analysis | OWLNext |
glyphbtn.cpp:413 | Low | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'CelArray'. |
| General Analysis | OWLNext |
hlpmanag.cpp:402 | Medium | V1037 | CWE-691 | Two or more case-branches perform the same actions. Check lines: 402, 409 |
| General Analysis | OWLNext |
hlpmanag.cpp:462 | Low | V1027 | CWE-704 | Pointer to an object of the 'TWindow' class is cast to unrelated 'THelpContext' class. |
| General Analysis | OWLNext |
hlpmanag.cpp:505 | Low | V1027 | CWE-704 | Pointer to an object of the 'TWindow' class is cast to unrelated 'THelpContext' class. |
| General Analysis | OWLNext |
hlpmanag.cpp:264 | Low | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'HelpCursor'. |
| General Analysis | OWLNext |
hotkey.cpp:70 | Low | V522 | CWE-690 | There might be dereferencing of a potential null pointer '(uint16 *) buffer'. |
| General Analysis | OWLNext |
imagelst.cpp:180 | High | V549 | CWE-688 | The second argument of 'ImageList_Copy' function is equal to the fourth argument. |
| General Analysis | OWLNext |
imagelst.cpp:133 | Low | V575 | CWE-628 | The potential null pointer is passed into 'ImageList_GetIconSize' function. Inspect the first argument. |
| General Analysis | OWLNext |
ipaddres.cpp:72 | Low | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'ipData'. |
| General Analysis | OWLNext |
layoutwi.cpp:1428 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Next. |
| General Analysis | OWLNext |
layoutwi.cpp:960 | Medium | V1004 | CWE-476 | The 'relWinMetrics' pointer was used unsafely after it was verified against nullptr. Check lines: 956, 960. |
| General Analysis | OWLNext |
layoutwi.cpp:969 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:970 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:979 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:980 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:981 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:983 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:984 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:993 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:994 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:995 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:1003 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:1004 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:1005 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:1009 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:1023 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:1040 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:1048 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:1049 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:1055 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:1065 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:1066 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:1077 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:1079 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:1080 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:1081 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:1082 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:1093 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:1094 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:1096 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:1098 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:1107 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:1109 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:1110 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:1111 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:1112 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:1123 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:1124 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:1126 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:1127 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:1130 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:1181 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:1182 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:1185 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:1187 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:1188 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:1195 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
layoutwi.cpp:1199 | Medium | V774 | CWE-416 | The 'result' pointer was used after the memory was released. |
| General Analysis | OWLNext |
listbox.cpp:237 | Low | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'listBoxData'. |
| General Analysis | OWLNext |
listboxview.cpp:132 | Low | V601 | CWE-704 | The 'false' value is implicitly cast to the integer type. |
| General Analysis | OWLNext |
listboxview.cpp:211 | Low | V601 | CWE-704 | The 'false' value is implicitly cast to the integer type. |
| General Analysis | OWLNext |
listboxview.cpp:229 | Low | V601 | CWE-704 | The 'false' value is implicitly cast to the integer type. |
| General Analysis | OWLNext |
listboxview.cpp:325 | Low | V601 | CWE-704 | The 'true' value is implicitly cast to the integer type. |
| General Analysis | OWLNext |
listboxview.cpp:344 | Low | V601 | CWE-704 | The 'true' value is implicitly cast to the integer type. |
| General Analysis | OWLNext |
listboxview.cpp:359 | Low | V601 | CWE-704 | The 'true' value is implicitly cast to the integer type. |
| General Analysis | OWLNext |
listboxview.cpp:394 | Low | V601 | CWE-704 | The 'true' value is implicitly cast to the integer type. |
| General Analysis | OWLNext |
listboxview.cpp:425 | Low | V601 | CWE-704 | The 'true' value is implicitly cast to the integer type. |
| General Analysis | OWLNext |
listviewctrl.cpp:302 | Medium | V1004 | CWE-476 | The 'buffer' pointer was used unsafely after it was verified against nullptr. Check lines: 292, 302. |
| General Analysis | OWLNext |
listviewctrl.cpp:3499 | Medium | V668 | CWE-570 | There is no sense in testing the 'wtext' pointer against null, as the memory was allocated using the 'new' operator. The exception will be generated in the case of memory allocation error. |
| General Analysis | OWLNext |
locale.cpp:160 | Medium | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Buf. |
| General Analysis | OWLNext |
locale.cpp:378 | Low | V1065 | CWE-682 | Expression can be simplified, check '1' and similar operands. |
| General Analysis | OWLNext |
lookval.cpp:85 | Medium | V1004 | CWE-476 | The 'owner' pointer was used unsafely after it was verified against nullptr. Check lines: 84, 85. |
| General Analysis | OWLNext |
lookval.cpp:106 | Low | V524 | It is odd that the body of 'NewStringList' function is fully equivalent to the body of 'SetStrings' function (validate.h, line 459). | |
| General Analysis | OWLNext |
mdichild.cpp:144 | Low | V601 | CWE-704 | The 'true' value is implicitly cast to the integer type. Inspect the second argument. |
| General Analysis | OWLNext |
mdiclien.cpp:183 | Medium | V1004 | CWE-476 | The 'child' pointer was used unsafely after it was verified against nullptr. Check lines: 182, 183. |
| General Analysis | OWLNext |
mdiclien.cpp:171 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'frame'. |
| General Analysis | OWLNext |
memcbox.cpp:219 | Low | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'static_cast< tstring * > (buffer)'. |
| General Analysis | OWLNext |
metafile.cpp:45 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: MFHeader. |
| General Analysis | OWLNext |
metafile.cpp:127 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: MFHeader. |
| General Analysis | OWLNext |
metafile.cpp:153 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: MFHeader. |
| General Analysis | OWLNext |
metafile.cpp:168 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: MFHeader. |
| General Analysis | OWLNext |
metafile.cpp:182 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: MFHeader. |
| General Analysis | OWLNext |
module.cpp:803 | Medium | V581 | CWE-670 | The conditional expressions of the 'if' statements situated alongside each other are identical. Check lines: 797, 803. |
| General Analysis | OWLNext |
module.cpp:881 | Medium | V581 | CWE-670 | The conditional expressions of the 'if' statements situated alongside each other are identical. Check lines: 875, 881. |
| General Analysis | OWLNext |
module.cpp:919 | Medium | V581 | CWE-670 | The conditional expressions of the 'if' statements situated alongside each other are identical. Check lines: 913, 919. |
| General Analysis | OWLNext |
module.cpp:960 | Medium | V581 | CWE-670 | The conditional expressions of the 'if' statements situated alongside each other are identical. Check lines: 954, 960. |
| General Analysis | OWLNext |
modversi.cpp:112 | Low | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'msg'. |
| General Analysis | OWLNext |
monthcal.cpp:182 | Low | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'mcData'. |
| General Analysis | OWLNext |
notetab.cpp:63 | Medium | V730 | CWE-457 | It is possible that not all members of a class are initialized inside the constructor. Consider inspecting: BuddyHandle. |
| General Analysis | OWLNext |
notetab.cpp:81 | Medium | V730 | CWE-457 | It is possible that not all members of a class are initialized inside the constructor. Consider inspecting: BuddyHandle. |
| General Analysis | OWLNext |
objstrm.cpp:900 | Medium | V1004 | CWE-476 | The 'res' pointer was used unsafely after it was verified against nullptr. Check lines: 899, 900. |
| General Analysis | OWLNext |
objstrm.cpp:471 | Medium | V668 | CWE-570 | There is no sense in testing the 'buf' pointer against null, as the memory was allocated using the 'new' operator. The exception will be generated in the case of memory allocation error. |
| General Analysis | OWLNext |
objstrm.cpp:403 | Low | V1004 | CWE-628 | The 'data' pointer was used unsafely after it was verified against nullptr. Check lines: 395, 403. |
| General Analysis | OWLNext |
objstrm.cpp:494 | Low | V1004 | CWE-476 | The 'buf' pointer was used unsafely after it was verified against nullptr. Check lines: 485, 494. |
| General Analysis | OWLNext |
objstrm.cpp:534 | Low | V1004 | CWE-476 | The 'buf' pointer was used unsafely after it was verified against nullptr. Check lines: 524, 534. |
| General Analysis | OWLNext |
objstrm.cpp:801 | Low | V1004 | CWE-628 | The 'data' pointer was used unsafely after it was verified against nullptr. Check lines: 796, 801. |
| General Analysis | OWLNext |
objstrm.cpp:613 | Low | V522 | CWE-628 | Dereferencing of the null pointer 'c' might take place. The potential null pointer is passed into 'readData' function. Inspect the first argument. Check lines: 613, 655. |
| General Analysis | OWLNext |
opensave.cpp:261 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: ofn. |
| General Analysis | OWLNext |
owl.cpp:622 | Medium | V572 | CWE-665 | It is odd that the object which was created using 'new' operator is immediately cast to another type. |
| General Analysis | OWLNext |
palette.cpp:784 | High | V614 | CWE-457 | Uninitialized variable 'coreHeader.bcBitCount' used. |
| General Analysis | OWLNext |
palette.cpp:785 | High | V614 | CWE-457 | Uninitialized variable 'coreHeader.bcPlanes' used. |
| General Analysis | OWLNext |
palette.cpp:798 | High | V614 | CWE-457 | Uninitialized variable 'infoHeader.biBitCount' used. |
| General Analysis | OWLNext |
palette.cpp:799 | High | V614 | CWE-457 | Uninitialized variable 'infoHeader.biPlanes' used. |
| General Analysis | OWLNext |
palette.cpp:800 | High | V614 | CWE-457 | Uninitialized variable 'infoHeader.biClrUsed' used. |
| General Analysis | OWLNext |
palette.cpp:210 | Medium | V1004 | CWE-476 | The 'info' pointer was used unsafely after it was verified against nullptr. Check lines: 209, 210. |
| General Analysis | OWLNext |
palette.cpp:828 | Medium | V641 | CWE-704 | The size of the 'Colors' buffer is not a multiple of the element size of the type 'RGBTRIPLE'. |
| General Analysis | OWLNext |
palette.cpp:829 | Medium | V641 | CWE-704 | The size of the 'Colors' buffer is not a multiple of the element size of the type 'RGBTRIPLE'. |
| General Analysis | OWLNext |
palette.cpp:830 | Medium | V641 | CWE-704 | The size of the 'Colors' buffer is not a multiple of the element size of the type 'RGBTRIPLE'. |
| General Analysis | OWLNext |
palette.cpp:427 | Low | V669 | The 'sl', 'l' arguments are non-constant references. The analyzer is unable to determine the position at which this argument is being modified. It is possible that the function contains an error. | |
| General Analysis | OWLNext |
panespli.cpp:991 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: ResizeCursorH, ResizeCursorV, ResizeCursorHV. |
| General Analysis | OWLNext |
panespli.cpp:1014 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: ResizeCursorH, ResizeCursorV, ResizeCursorHV. |
| General Analysis | OWLNext |
panespli.cpp:1247 | Medium | V1051 | CWE-754 | Consider checking for misprints. It's possible that the 'paneB' should be checked here. |
| General Analysis | OWLNext |
panespli.cpp:216 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'retval'. |
| General Analysis | OWLNext |
panespli.cpp:1140 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'parentSplitter'. |
| General Analysis | OWLNext |
panespli.cpp:1185 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'splitter'. |
| General Analysis | OWLNext |
panespli.cpp:1229 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'splitter1'. |
| General Analysis | OWLNext |
panespli.cpp:1233 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'splitter2'. |
| General Analysis | OWLNext |
panespli.cpp:1268 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'lw'. |
| General Analysis | OWLNext |
panespli.cpp:1365 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'splitter'. |
| General Analysis | OWLNext |
panespli.cpp:1497 | Medium | V522 | CWE-690 | There might be dereferencing of a potential null pointer. |
| General Analysis | OWLNext |
panespli.cpp:1118 | Low | V1004 | CWE-476 | The 'target' pointer was used unsafely after it was verified against nullptr. Check lines: 1111, 1118. |
| General Analysis | OWLNext |
picker.cpp:1888 | Low | V1027 | CWE-704 | Pointer to an object of the 'TCelArray' class is cast to unrelated 'TBitmap' class. |
| General Analysis | OWLNext |
picker.cpp:1889 | Low | V1027 | CWE-704 | Pointer to an object of the 'TCelArray' class is cast to unrelated 'TBitmap' class. |
| General Analysis | OWLNext |
pictval.cpp:68 | Medium | V1004 | CWE-476 | The 'owner' pointer was used unsafely after it was verified against nullptr. Check lines: 67, 68. |
| General Analysis | OWLNext |
pictval.cpp:258 | Low | V669 | The 'i' argument is a non-constant reference. The analyzer is unable to determine the position at which this argument is being modified. It is possible that the function contains an error. | |
| General Analysis | OWLNext |
printdia.cpp:568 | High | V1063 | The modulo by 1 operation is meaningless. The result will always be zero. | |
| General Analysis | OWLNext |
printdia.cpp:559 | Low | V601 | CWE-704 | The 'false' value is implicitly cast to the integer type. |
| General Analysis | OWLNext |
printer.cpp:469 | Medium | V1004 | CWE-476 | The 'd' pointer was used unsafely after it was verified against nullptr. Check lines: 468, 469. |
| General Analysis | OWLNext |
printer.cpp:1412 | Medium | V1004 | CWE-476 | The 'parent' pointer was used unsafely after it was verified against nullptr. Check lines: 1411, 1412. |
| General Analysis | OWLNext |
printer.cpp:1002 | Low | V601 | CWE-704 | The 'false' value is implicitly cast to the integer type. |
| General Analysis | OWLNext |
propsht.cpp:217 | Medium | V1004 | CWE-476 | The 'page' pointer was used unsafely after it was verified against nullptr. Check lines: 216, 217. |
| General Analysis | OWLNext |
propsht.cpp:277 | Medium | V1004 | CWE-476 | The 'pHeader' pointer was used unsafely after it was verified against nullptr. Check lines: 276, 277. |
| General Analysis | OWLNext |
propsht.cpp:278 | Medium | V1004 | CWE-476 | The 'page' pointer was used unsafely after it was verified against nullptr. Check lines: 275, 278. |
| General Analysis | OWLNext |
propsht.cpp:239 | Medium | V507 | CWE-562 | Pointer to local array 'pHandle' is stored outside the scope of this array. Such a pointer will become invalid. |
| General Analysis | OWLNext |
rangeval.cpp:42 | Medium | V1004 | CWE-476 | The 'owner' pointer was used unsafely after it was verified against nullptr. Check lines: 41, 42. |
| General Analysis | OWLNext |
rangeval.cpp:213 | Low | V522 | CWE-690 | There might be dereferencing of a potential null pointer '(TExtent *) buffer'. |
| General Analysis | OWLNext |
rcntfile.cpp:141 | Medium | V560 | CWE-571 | A part of conditional expression is always true: i < numItems. |
| General Analysis | OWLNext |
regexp.cpp:583 | Medium | V536 | CWE-682 | Be advised that the utilized constant value is represented by an octal form. Oct: '\033', Dec: 27. |
| General Analysis | OWLNext |
registry.cpp:985 | High | V1063 | The modulo by 1 operation is meaningless. The result will always be zero. | |
| General Analysis | OWLNext |
registry.cpp:1380 | High | V614 | CWE-824 | Uninitialized pointer 'pc' used. Consider checking the first actual argument of the 'Find' function. |
| General Analysis | OWLNext |
registry.cpp:1572 | Medium | V507 | CWE-562 | Pointer to local array 'buff' is stored outside the scope of this array. Such a pointer will become invalid. |
| General Analysis | OWLNext |
registry.cpp:1418 | Medium | V547 | CWE-571 | Expression '!c' is always true. |
| General Analysis | OWLNext |
resource.cpp:149 | High | V614 | CWE-824 | Potentially uninitialized pointer 'pMenu' used. |
| General Analysis | OWLNext |
resource.cpp:150 | High | V614 | CWE-824 | Potentially uninitialized pointer 'pClass' used. |
| General Analysis | OWLNext |
resource.cpp:151 | High | V614 | CWE-824 | Potentially uninitialized pointer 'pCaption' used. |
| General Analysis | OWLNext |
richedit.cpp:1090 | Medium | V560 | CWE-571 | A part of conditional expression is always true: begin < n. |
| General Analysis | OWLNext |
richedit.cpp:1090 | Medium | V560 | CWE-571 | A part of conditional expression is always true: begin >= 0. |
| General Analysis | OWLNext |
richedit.cpp:558 | Low | V1004 | CWE-119 | The 'tabs' pointer was used unsafely after it was verified against nullptr. Check lines: 553, 558. |
| General Analysis | OWLNext |
rolldial.cpp:44 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Height, HasSystemMenu. |
| General Analysis | OWLNext |
scrollba.cpp:107 | Low | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'scrollBuff'. |
| General Analysis | OWLNext |
scroller.cpp:68 | High | V595 | CWE-476 | The 'Window' pointer was utilized before it was verified against nullptr. Check lines: 68, 70. |
| General Analysis | OWLNext |
scroller.cpp:141 | High | V595 | CWE-476 | The 'Window' pointer was utilized before it was verified against nullptr. Check lines: 141, 143. |
| General Analysis | OWLNext |
scroller.cpp:314 | High | V595 | CWE-476 | The 'Window' pointer was utilized before it was verified against nullptr. Check lines: 314, 316. |
| General Analysis | OWLNext |
scroller.cpp:366 | High | V595 | CWE-476 | The 'Window' pointer was utilized before it was verified against nullptr. Check lines: 366, 368. |
| General Analysis | OWLNext |
scroller.cpp:174 | Medium | V560 | CWE-571 | A part of conditional expression is always true: xOrg <= 2147483647. |
| General Analysis | OWLNext |
scroller.cpp:174 | Medium | V560 | CWE-571 | A part of conditional expression is always true: yOrg <= 2147483647. |
| General Analysis | OWLNext |
shellitm.cpp:682 | Low | V526 | CWE-253 | The 'strncmp' function returns 0 if corresponding strings are equal. Consider examining the condition for mistakes. |
| General Analysis | OWLNext |
slider.cpp:206 | Low | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'Tics'. |
| General Analysis | OWLNext |
slider.cpp:212 | Low | V601 | CWE-704 | The 'false' value is implicitly cast to the integer type. Inspect the second argument. |
| General Analysis | OWLNext |
static.cpp:167 | Low | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'static_cast< tstring * > (buffer)'. |
| General Analysis | OWLNext |
statusba.cpp:171 | Low | V656 | CWE-665 | Variables 'Margins.Left', 'Margins.Right' are initialized through the call to the same function. It's probably an error or un-optimized code. Consider inspecting the 'LayoutUnitsToPixels(4)' expression. Check lines: 170, 171. |
| General Analysis | OWLNext |
syslink.cpp:231 | Medium | V1004 | CWE-476 | The 'a' pointer was used unsafely after it was verified against nullptr. Check lines: 230, 231. |
| General Analysis | OWLNext |
tabbed.cpp:370 | Medium | V1004 | CWE-476 | The 't' pointer was used unsafely after it was verified against nullptr. Check lines: 368, 370. |
| General Analysis | OWLNext |
tabctrl.cpp:111 | Low | V688 | The 'mask' function argument possesses the same name as one of the class members, which can result in a confusion. | |
| General Analysis | OWLNext |
theme.cpp:132 | Low | V565 | CWE-544 | An empty exception handler. Silent suppression of exceptions can hide the presence of bugs in source code during testing. |
| General Analysis | OWLNext |
thread.cpp:179 | High | V773 | CWE-401 | The exception was thrown without releasing the 'handles' pointer. A memory leak is possible. |
| General Analysis | OWLNext |
thread.cpp:545 | Medium | V720 | It is advised to utilize the 'SuspendThread' function only when developing a debugger (see documentation for details). | |
| General Analysis | OWLNext |
thread.cpp:348 | Medium | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: RtlResource. |
| General Analysis | OWLNext |
thread.cpp:106 | Low | V1027 | CWE-704 | Pointer to an object of the 'TFileTime' class is cast to unrelated '_LARGE_INTEGER' class. |
| General Analysis | OWLNext |
tinycapt.cpp:45 | Medium | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: CloseBox, CaptionHeight, DownHit, IsPressed, WaitingForSysCmd. |
| General Analysis | OWLNext |
tooltip.cpp:396 | Low | V1004 | CWE-628 | The 'text' pointer was used unsafely after it was verified against nullptr. Check lines: 394, 396. |
| General Analysis | OWLNext |
tracewnd.cpp:164 | Medium | V1004 | CWE-476 | The 'group' pointer was used unsafely after it was verified against nullptr. Check lines: 158, 164. |
| General Analysis | OWLNext |
transfer.cpp:115 | Medium | V1004 | CWE-476 | The 'GetApplicationObject()' pointer was used unsafely after it was verified against nullptr. Check lines: 114, 115. |
| General Analysis | OWLNext |
transfer.cpp:118 | Medium | V1004 | CWE-476 | The 'w' pointer was used unsafely after it was verified against nullptr. Check lines: 117, 118. |
| General Analysis | OWLNext |
transferbuffer.cpp:87 | Medium | V1004 | CWE-476 | The 't.Details' pointer was used unsafely after it was verified against nullptr. Check lines: 86, 87. |
| General Analysis | OWLNext |
treeviewctrl.cpp:647 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Style. |
| General Analysis | OWLNext |
treeviewctrl.cpp:632 | Medium | V730 | CWE-457 | It is possible that not all members of a class are initialized inside the constructor. Consider inspecting: Style. |
| General Analysis | OWLNext |
ustring.cpp:207 | Medium | V1037 | CWE-691 | Two or more case-branches perform the same actions. Check lines: 207, 210 |
| General Analysis | OWLNext |
ustring.cpp:249 | Medium | V742 | CWE-170 | Function receives an address of a 'char' type variable instead of pointer to a buffer. Inspect the first argument. |
| General Analysis | OWLNext |
ustring.cpp:250 | Medium | V742 | CWE-170 | Function receives an address of a 'char' type variable instead of pointer to a buffer. Inspect the second argument. |
| General Analysis | OWLNext |
ustring.cpp:266 | Medium | V742 | CWE-170 | Function receives an address of a 'char' type variable instead of pointer to a buffer. Inspect the first argument. |
| General Analysis | OWLNext |
ustring.cpp:267 | Medium | V742 | CWE-170 | Function receives an address of a 'char' type variable instead of pointer to a buffer. Inspect the second argument. |
| General Analysis | OWLNext |
ustring.cpp:481 | Low | V1037 | CWE-691 | Two or more case-branches perform the same actions. Check lines: 481, 483 |
| General Analysis | OWLNext |
ustring.cpp:140 | Low | V575 | CWE-628 | The potential null pointer is passed into 'memcpy' function. Inspect the second argument. |
| General Analysis | OWLNext |
ustring.cpp:186 | Low | V575 | CWE-628 | The potential null pointer is passed into 'memcpy' function. Inspect the second argument. |
| General Analysis | OWLNext |
ustring.cpp:401 | Low | V659 | Declarations of functions with 'TUString::Assign' name differ in the 'const' keyword only, but the bodies of these functions have different composition. This is suspicious and can possibly be an error. Check lines: 386, 401. | |
| General Analysis | OWLNext |
ustring.cpp:432 | Low | V659 | Declarations of functions with 'TUString::Assign' name differ in the 'const' keyword only, but the bodies of these functions have different composition. This is suspicious and can possibly be an error. Check lines: 417, 432. | |
| General Analysis | OWLNext |
view.cpp:34 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Doc, NextView. |
| General Analysis | OWLNext |
view.cpp:237 | Low | V1004 | CWE-628 | The 'src' pointer was used unsafely after it was verified against nullptr. Check lines: 233, 237. |
| General Analysis | OWLNext |
window.cpp:897 | Low | V1027 | CWE-704 | Pointer to an object of the 'TNotify' class is cast to unrelated 'TTooltipText' class. |
| General Analysis | OWLNext |
window.cpp:897 | Low | V641 | CWE-704 | The size of the '& _not' buffer is not a multiple of the element size of the type 'TTooltipText'. |
| General Analysis | OWLNext |
window.cpp:392 | Low | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Parent, Attr, Scroller, HAccel, CursorModule, HCursor, ... |
| General Analysis | OWLNext |
windowdc.cpp:19 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Wnd. |
| General Analysis | OWLNext |
wskhostm.cpp:200 | High | V570 | CWE-480 | The 'tempSockAddrIn->sin_addr.S_un.S_addr' variable is assigned to itself. |
| General Analysis | OWLNext |
wskhostm.cpp:276 | High | V570 | CWE-480 | The 'tempSockAddrIn->sin_addr.S_un.S_addr' variable is assigned to itself. |
| General Analysis | OWLNext |
wskhostm.cpp:330 | High | V570 | CWE-480 | The 'tempSockAddrIn->sin_addr.S_un.S_addr' variable is assigned to itself. |
| General Analysis | OWLNext |
wskhostm.cpp:199 | Low | V1027 | CWE-704 | Pointer to an object of the 'TSocketAddress' class is cast to unrelated 'sockaddr_in' class. |
| General Analysis | OWLNext |
wskhostm.cpp:275 | Low | V1027 | CWE-704 | Pointer to an object of the 'TSocketAddress' class is cast to unrelated 'sockaddr_in' class. |
| General Analysis | OWLNext |
wskhostm.cpp:329 | Low | V1027 | CWE-704 | Pointer to an object of the 'TSocketAddress' class is cast to unrelated 'sockaddr_in' class. |
| General Analysis | OWLNext |
wskhostm.cpp:112 | Low | V565 | CWE-544 | An empty exception handler. Silent suppression of exceptions can hide the presence of bugs in source code during testing. |
| General Analysis | OWLNext |
wskservm.cpp:78 | Low | V565 | CWE-544 | An empty exception handler. Silent suppression of exceptions can hide the presence of bugs in source code during testing. |
| General Analysis | OWLNext |
wsksock.cpp:39 | Medium | V730 | CWE-457 | It is possible that not all members of a class are initialized inside the constructor. Consider inspecting: Type, Protocol. |
| General Analysis | OWLNext |
wsksock.cpp:99 | Low | V565 | CWE-544 | An empty exception handler. Silent suppression of exceptions can hide the presence of bugs in source code during testing. |
| General Analysis | OWLNext |
wsksock.cpp:343 | Low | V669 | The 'socket' argument is a non-constant reference. The analyzer is unable to determine the position at which this argument is being modified. It is possible that the function contains an error. | |
| General Analysis | OWLNext |
wsksockd.cpp:189 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: ConnectStatus. |
| General Analysis | OWLNext |
wsksockd.cpp:157 | Medium | V524 | It is odd that the body of 'DoWriteNotification' function is fully equivalent to the body of 'DoReadNotification' function. | |
| Micro-optimizations | CoolPrj |
coolgrid.h:303 | Medium | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | CoolPrj |
coolgrid.h:556 | Medium | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | CoolPrj |
coolgrid.h:569 | Medium | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | CoolPrj |
coolgrid.h:577 | Medium | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | CoolPrj |
defs.h:116 | Medium | V803 | Decreased performance. In case 'itr' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | CoolPrj |
dragdrop.h:47 | Medium | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | CoolPrj |
cooledit.cpp:373 | Medium | V805 | Decreased performance. It is inefficient to identify an empty string by using 'strlen(str) > 0' construct. A more efficient way is to check: str[0] != '\0'. | |
| Micro-optimizations | CoolPrj |
cooledit.cpp:2221 | Medium | V806 | Decreased performance. The expression of strlen(MyStr.c_str()) kind can be rewritten as MyStr.length(). | |
| Micro-optimizations | CoolPrj |
cooledit.cpp:5555 | Medium | V818 | It is more efficient to use an initialization list 'Pattern(pattern)' rather than an assignment operator. | |
| Micro-optimizations | CoolPrj |
cooledit.cpp:2237 | Low | V815 | Decreased performance. Consider replacing the expression 'line = ""' with 'line.clear()'. | |
| Micro-optimizations | CoolPrj |
cooledit.cpp:1002 | Low | V821 | Decreased performance. The 'savename' variable can be constructed in a lower level scope. | |
| Micro-optimizations | CoolPrj |
cooledit.cpp:8052 | Low | V821 | Decreased performance. The 'savedPos' variable can be constructed in a lower level scope. | |
| Micro-optimizations | CoolPrj |
coolgrid.cpp:85 | Medium | V803 | Decreased performance. In case 'itr' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | CoolPrj |
coolgrid.cpp:98 | Medium | V803 | Decreased performance. In case 'itr' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | CoolPrj |
coolgrid.cpp:1173 | Medium | V803 | Decreased performance. In case 'itr' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | CoolPrj |
coolgrid.cpp:1218 | Medium | V803 | Decreased performance. In case 'itr' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | CoolPrj |
coolgrid.cpp:1229 | Medium | V803 | Decreased performance. In case 'itr' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | CoolPrj |
coolgrid.cpp:1239 | Medium | V803 | Decreased performance. In case 'itr' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | CoolPrj |
coolgrid.cpp:1532 | Medium | V803 | Decreased performance. In case 'itr' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | CoolPrj |
coolgrid.cpp:2467 | Medium | V803 | Decreased performance. In case 'itr' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | CoolPrj |
coolgrid.cpp:2494 | Medium | V803 | Decreased performance. In case 'itr' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | CoolPrj |
coolgrid.cpp:2518 | Medium | V803 | Decreased performance. In case 'itr' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | CoolPrj |
coolgrid.cpp:2536 | Medium | V803 | Decreased performance. In case 'itr' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | CoolPrj |
coolgrid.cpp:2576 | Medium | V803 | Decreased performance. In case 'itr' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | CoolPrj |
coolgrid.cpp:2586 | Medium | V803 | Decreased performance. In case 'itr' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | CoolPrj |
coolgrid.cpp:2595 | Medium | V803 | Decreased performance. In case 'itr' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | CoolPrj |
coolgrid.cpp:2795 | Medium | V803 | Decreased performance. In case 'itr' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | CoolPrj |
coolgrid.cpp:3015 | Medium | V803 | Decreased performance. In case 'itr' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | CoolPrj |
dragdrop.cpp:480 | Medium | V807 | Decreased performance. Consider creating a pointer to avoid using the 'Parent->GetScroller()' expression repeatedly. | |
| Micro-optimizations | CoolPrj |
hexedit.cpp:262 | Low | V821 | Decreased performance. The 'savename' variable can be constructed in a lower level scope. | |
| Micro-optimizations | CoolPrj |
regexp.cpp:969 | Medium | V813 | Decreased performance. The 'match' argument should probably be rendered as a constant reference. | |
| Micro-optimizations | OCFNext |
autodefs.h:481 | High | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OCFNext |
autodefs.h:813 | Low | V802 | On 32-bit platform, structure size can be reduced from 72 to 64 bytes by rearranging the fields according to their sizes in decreasing order. | |
| Micro-optimizations | OCFNext |
ocapp.h:394 | Medium | V832 | It's better to use '= default;' syntax instead of empty destructor body. | |
| Micro-optimizations | OCFNext |
ocreg.h:299 | Medium | V813 | Decreased performance. The 'app' argument should probably be rendered as a constant reference. | |
| Micro-optimizations | OCFNext |
ocreg.h:307 | Medium | V813 | Decreased performance. The 'app' argument should probably be rendered as a constant reference. | |
| Micro-optimizations | OCFNext |
ocreg.h:315 | Medium | V813 | Decreased performance. The 'doc' argument should probably be rendered as a constant reference. | |
| Micro-optimizations | OCFNext |
appdesc.cpp:205 | Medium | V813 | Decreased performance. The 'objDesc' argument should probably be rendered as a constant reference. | |
| Micro-optimizations | OCFNext |
appdesc.cpp:1032 | Medium | V823 | Decreased performance. Object may be created in-place in the 'actions' container. Consider replacing methods: 'push_back' -> 'emplace_back'. | |
| Micro-optimizations | OCFNext |
autodisp.cpp:23 | Medium | V813 | Decreased performance. The 'objDesc' argument should probably be rendered as a constant reference. | |
| Micro-optimizations | OCFNext |
autodisp.cpp:32 | Medium | V813 | Decreased performance. The 'objDesc' argument should probably be rendered as a constant reference. | |
| Micro-optimizations | OCFNext |
except.cpp:87 | Medium | V806 | Decreased performance. The expression of strlen(MyStr.c_str()) kind can be rewritten as MyStr.length(). | |
| Micro-optimizations | OCFNext |
ocapp.cpp:1105 | High | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OCFNext |
ocapp.cpp:1089 | Medium | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OCFNext |
occtrl.cpp:1044 | Medium | V803 | Decreased performance. In case 'i' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OCFNext |
occtrl.cpp:265 | Medium | V813 | Decreased performance. The 'objPos' argument should probably be rendered as a constant reference. | |
| Micro-optimizations | OCFNext |
occtrl.cpp:1299 | Medium | V813 | Decreased performance. The 'classId' argument should probably be rendered as a constant reference. | |
| Micro-optimizations | OCFNext |
ocdoc.cpp:162 | Medium | V803 | Decreased performance. In case 'i' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OCFNext |
ocdoc.cpp:187 | Medium | V803 | Decreased performance. In case 'i' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OCFNext |
ocdoc.cpp:298 | Medium | V803 | Decreased performance. In case 'i' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OCFNext |
ocdoc.cpp:315 | Medium | V803 | Decreased performance. In case 'i' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OCFNext |
ocdoc.cpp:320 | Medium | V803 | Decreased performance. In case 'j' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OCFNext |
oclink.cpp:471 | High | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OCFNext |
oclink.cpp:512 | Medium | V801 | Decreased performance. It is better to redefine the first function argument as a reference. Consider replacing 'const .. moniker' with 'const .. &moniker'. | |
| Micro-optimizations | OCFNext |
oclink.cpp:514 | Medium | V803 | Decreased performance. In case 'j' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OCFNext |
ocpart.cpp:807 | High | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OCFNext |
ocpart.cpp:838 | Medium | V803 | Decreased performance. In case 'i' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OCFNext |
ocpart.cpp:850 | Medium | V803 | Decreased performance. In case 'i' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OCFNext |
ocpart.cpp:131 | Medium | V813 | Decreased performance. The 'objPos' argument should probably be rendered as a constant reference. | |
| Micro-optimizations | OCFNext |
ocpart.cpp:138 | Low | V821 | Decreased performance. The 'siteRect' variable can be constructed in a lower level scope. | |
| Micro-optimizations | OCFNext |
ocpart.cpp:477 | Low | V821 | Decreased performance. The 'changeInfo' variable can be constructed in a lower level scope. | |
| Micro-optimizations | OCFNext |
ocview.cpp:1078 | High | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OCFNext |
ocview.cpp:511 | Medium | V803 | Decreased performance. In case 'i' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OCFNext |
ocview.cpp:1096 | Medium | V803 | Decreased performance. In case 'j' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OCFNext |
ocview.cpp:1140 | Medium | V818 | It is more efficient to use an initialization list 'PartSize(partSize)' rather than an assignment operator. | |
| Micro-optimizations | OCFNext |
oleframe.cpp:611 | Medium | V807 | Decreased performance. Consider creating a reference to avoid using the 'pad->GetWindowAttr()' expression repeatedly. | |
| Micro-optimizations | OCFNext |
olewindo.cpp:585 | Medium | V803 | Decreased performance. In case 'i' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OCFNext |
olewindo.cpp:2291 | Medium | V803 | Decreased performance. In case 'i' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OCFNext |
olewindo.cpp:581 | Medium | V813 | Decreased performance. The 'ocxIID' argument should probably be rendered as a constant reference. | |
| Micro-optimizations | OCFNext |
olewindo.cpp:629 | Low | V821 | Decreased performance. The 'optName' variable can be constructed in a lower level scope. | |
| Micro-optimizations | OCFNext |
olewindo.cpp:1404 | Low | V821 | Decreased performance. The 'changeInfo' variable can be constructed in a lower level scope. | |
| Micro-optimizations | OWLExt |
colpick.h:55 | Medium | V802 | On 32-bit platform, structure size can be reduced from 32 to 28 bytes by rearranging the fields according to their sizes in decreasing order. | |
| Micro-optimizations | OWLExt |
harborex.h:156 | Medium | V832 | It's better to use '= default;' syntax instead of empty destructor body. | |
| Micro-optimizations | OWLExt |
multiwin.h:79 | High | V832 | It's better to use '= default;' syntax instead of empty destructor body. | |
| Micro-optimizations | OWLExt |
bmpmenu.cpp:421 | High | V817 | It is more efficient to seek '\t' character rather than a string. | |
| Micro-optimizations | OWLExt |
bmpmenu.cpp:431 | High | V817 | It is more efficient to seek '\x08' character rather than a string. | |
| Micro-optimizations | OWLExt |
bmpmenu.cpp:583 | High | V817 | It is more efficient to seek '&' character rather than a string. | |
| Micro-optimizations | OWLExt |
bmpmenu.cpp:506 | Low | V815 | Decreased performance. Consider replacing the expression 'cs != ""' with '!cs.empty()'. | |
| Micro-optimizations | OWLExt |
bmpmenu.cpp:279 | Low | V821 | Decreased performance. The 'rcBdr' variable can be constructed in a lower level scope. | |
| Micro-optimizations | OWLExt |
browse.cpp:239 | Medium | V803 | Decreased performance. In case 'i' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OWLExt |
browse.cpp:260 | Medium | V803 | Decreased performance. In case 'i' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OWLExt |
browse.cpp:486 | Medium | V803 | Decreased performance. In case 'i' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OWLExt |
browse.cpp:744 | Medium | V803 | Decreased performance. In case 'i' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OWLExt |
browse.cpp:873 | Medium | V803 | Decreased performance. In case 'i' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OWLExt |
browse.cpp:35 | Medium | V818 | It is more efficient to use an initialization list 'Text(text)' rather than an assignment operator. | |
| Micro-optimizations | OWLExt |
browse.cpp:112 | Medium | V818 | It is more efficient to use an initialization list 'Title(title)' rather than an assignment operator. | |
| Micro-optimizations | OWLExt |
browse.cpp:34 | Medium | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLExt |
busy.cpp:296 | Medium | V813 | Decreased performance. The 'message' argument should probably be rendered as a constant reference. | |
| Micro-optimizations | OWLExt |
busy.cpp:298 | Medium | V820 | The 'message' variable is not used after copying. Copying can be replaced with move/swap for optimization. | |
| Micro-optimizations | OWLExt |
butappdlg.cpp:226 | Medium | V805 | Decreased performance. It is inefficient to identify an empty string by using 'strlen(str) > 0' construct. A more efficient way is to check: str[0] != '\0'. | |
| Micro-optimizations | OWLExt |
butappdlg.cpp:263 | Medium | V805 | Decreased performance. It is inefficient to identify an empty string by using 'strlen(str) > 0' construct. A more efficient way is to check: str[0] != '\0'. | |
| Micro-optimizations | OWLExt |
calcedit.cpp:450 | High | V829 | Lifetime of the heap-allocated variable 'pCalc' is limited to the current function's scope. Consider allocating it on the stack instead. | |
| Micro-optimizations | OWLExt |
caledit.cpp:122 | Medium | V807 | Decreased performance. Consider creating a reference to avoid using the 'BmpArray->CelSize()' expression repeatedly. | |
| Micro-optimizations | OWLExt |
colpick.cpp:285 | Medium | V818 | It is more efficient to use an initialization list 'CurrentChosenColor(startColor)' rather than an assignment operator. | |
| Micro-optimizations | OWLExt |
colpick.cpp:426 | Low | V815 | Decreased performance. Consider replacing the expression 'DefaultText = ""' with 'DefaultText.clear()'. | |
| Micro-optimizations | OWLExt |
colpick.cpp:437 | Low | V815 | Decreased performance. Consider replacing the expression 'CustomText = ""' with 'CustomText.clear()'. | |
| Micro-optimizations | OWLExt |
colpick.cpp:531 | Low | V821 | Decreased performance. The 'framebrush' variable can be constructed in a lower level scope. | |
| Micro-optimizations | OWLExt |
dirdialg.cpp:200 | High | V817 | It is more efficient to seek '(' character rather than a string. | |
| Micro-optimizations | OWLExt |
dirdialg.cpp:203 | High | V817 | It is more efficient to seek ')' character rather than a string. | |
| Micro-optimizations | OWLExt |
dirdialg.cpp:260 | Low | V821 | Decreased performance. The 'buff' variable can be constructed in a lower level scope. | |
| Micro-optimizations | OWLExt |
gadgctrl.cpp:275 | Medium | V807 | Decreased performance. Consider creating a pointer to avoid using the 'hm->GetHarbor()' expression repeatedly. | |
| Micro-optimizations | OWLExt |
gadgctrl.cpp:489 | Medium | V807 | Decreased performance. Consider creating a pointer to avoid using the 'hm->GetHarbor()' expression repeatedly. | |
| Micro-optimizations | OWLExt |
gadgdesc.cpp:528 | Medium | V813 | Decreased performance. The 'name' argument should probably be rendered as a constant reference. | |
| Micro-optimizations | OWLExt |
gadgdesc.cpp:182 | Medium | V818 | It is more efficient to use an initialization list 'StartColorSel(startColorSel)' rather than an assignment operator. | |
| Micro-optimizations | OWLExt |
gadgdesc.cpp:115 | Low | V815 | Decreased performance. Consider replacing the expression 'Text = ""' with 'Text.clear()'. | |
| Micro-optimizations | OWLExt |
gadgetex.cpp:655 | Medium | V805 | Decreased performance. It is inefficient to identify an empty string by using 'strlen(str) == 0' construct. A more efficient way is to check: str[0] == '\0'. | |
| Micro-optimizations | OWLExt |
gadgetex.cpp:742 | Medium | V805 | Decreased performance. It is inefficient to identify an empty string by using 'strlen(str) > 0' construct. A more efficient way is to check: str[0] != '\0'. | |
| Micro-optimizations | OWLExt |
gadgetex.cpp:655 | Medium | V806 | Decreased performance. The expression of strlen(MyStr.c_str()) kind can be rewritten as MyStr.length(). | |
| Micro-optimizations | OWLExt |
gadgetex.cpp:742 | Medium | V806 | Decreased performance. The expression of strlen(MyStr.c_str()) kind can be rewritten as MyStr.length(). | |
| Micro-optimizations | OWLExt |
gadgetex.cpp:1109 | Medium | V818 | It is more efficient to use an initialization list 'ColorSel(startColorSel)' rather than an assignment operator. | |
| Micro-optimizations | OWLExt |
gadgetex.cpp:546 | Low | V815 | Decreased performance. Consider replacing the expression 'CommandText = ""' with 'CommandText.clear()'. | |
| Micro-optimizations | OWLExt |
gadgetex.cpp:600 | Low | V821 | Decreased performance. The 'borders' variable can be constructed in a lower level scope. | |
| Micro-optimizations | OWLExt |
harborex.cpp:1062 | Medium | V807 | Decreased performance. Consider creating a pointer to avoid using the 'DCBData[idx]->DCB' expression repeatedly. | |
| Micro-optimizations | OWLExt |
harborex.cpp:503 | Low | V807 | Decreased performance. Consider creating a pointer to avoid using the 'DCBData[i]->DCB' expression repeatedly. | |
| Micro-optimizations | OWLExt |
harborex.cpp:918 | Low | V807 | Decreased performance. Consider creating a pointer to avoid using the 'ctlgad->GetControl()' expression repeatedly. | |
| Micro-optimizations | OWLExt |
hlinkctl.cpp:167 | Medium | V805 | Decreased performance. It is inefficient to identify an empty string by using 'strlen(str) == 0' construct. A more efficient way is to check: str[0] == '\0'. | |
| Micro-optimizations | OWLExt |
hlinkctl.cpp:192 | Medium | V805 | Decreased performance. It is inefficient to identify an empty string by using 'strlen(str) != 0' construct. A more efficient way is to check: str[0] != '\0'. | |
| Micro-optimizations | OWLExt |
hlinkctl.cpp:167 | Medium | V806 | Decreased performance. The expression of strlen(MyStr.c_str()) kind can be rewritten as MyStr.length(). | |
| Micro-optimizations | OWLExt |
hlinkctl.cpp:192 | Medium | V806 | Decreased performance. The expression of strlen(MyStr.c_str()) kind can be rewritten as MyStr.length(). | |
| Micro-optimizations | OWLExt |
menubtn.cpp:115 | Low | V821 | Decreased performance. The 'brp' variable can be constructed in a lower level scope. | |
| Micro-optimizations | OWLExt |
multiwin.cpp:44 | Medium | V803 | Decreased performance. In case 'iter' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OWLExt |
multiwin.cpp:65 | Medium | V803 | Decreased performance. In case 'iter' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OWLExt |
multiwin.cpp:89 | Medium | V803 | Decreased performance. In case 'iter' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OWLExt |
multiwin.cpp:97 | Medium | V803 | Decreased performance. In case 'iter' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OWLExt |
multiwin.cpp:138 | Medium | V803 | Decreased performance. In case 'iter' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OWLExt |
multiwin.cpp:155 | Medium | V803 | Decreased performance. In case 'iter' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OWLExt |
multiwin.cpp:71 | Low | V807 | Decreased performance. Consider creating a pointer to avoid using the 'iter.Current().m_frame' expression repeatedly. | |
| Micro-optimizations | OWLExt |
multiwin.cpp:71 | Low | V807 | Decreased performance. Consider creating a reference to avoid using the 'iter.Current()' expression repeatedly. | |
| Micro-optimizations | OWLExt |
multiwin.cpp:139 | Low | V807 | Decreased performance. Consider creating a reference to avoid using the 'iter.Current()' expression repeatedly. | |
| Micro-optimizations | OWLExt |
notebook.cpp:1419 | Medium | V832 | It's better to use '= default;' syntax instead of empty destructor body. | |
| Micro-optimizations | OWLExt |
notebook.cpp:1910 | Medium | V832 | It's better to use '= default;' syntax instead of empty destructor body. | |
| Micro-optimizations | OWLExt |
owlext.cpp:364 | Medium | V813 | Decreased performance. The 'rect' argument should probably be rendered as a constant reference. | |
| Micro-optimizations | OWLExt |
pickedit.cpp:134 | High | V814 | Decreased performance. The 'strlen' function was called multiple times inside the body of a loop. | |
| Micro-optimizations | OWLExt |
pickedit.cpp:134 | Medium | V804 | Decreased performance. The 'strlen' function is called twice in the specified expression to calculate length of the same string. | |
| Micro-optimizations | OWLExt |
pictdeco.cpp:66 | Low | V821 | Decreased performance. The 'palette' variable can be constructed in a lower level scope. | |
| Micro-optimizations | OWLExt |
pictdlg.cpp:69 | Low | V821 | Decreased performance. The 'palette' variable can be constructed in a lower level scope. | |
| Micro-optimizations | OWLExt |
popedit.cpp:64 | Medium | V818 | It is more efficient to use an initialization list 'BmpId(bmpId)' rather than an assignment operator. | |
| Micro-optimizations | OWLExt |
staticbm.cpp:99 | Low | V821 | Decreased performance. The 'srcRect' variable can be constructed in a lower level scope. | |
| Micro-optimizations | OWLExt |
tabwin.cpp:105 | Medium | V803 | Decreased performance. In case 'iter' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OWLExt |
toolcustdlg.cpp:289 | Medium | V807 | Decreased performance. Consider creating a pointer to avoid using the 'Harbor->DCBData[idx]' expression repeatedly. | |
| Micro-optimizations | OWLExt |
toolcustdlg.cpp:562 | Medium | V813 | Decreased performance. The 'name' argument should probably be rendered as a constant reference. | |
| Micro-optimizations | OWLExt |
toolcustdlg.cpp:394 | Low | V821 | Decreased performance. The 'textRect' variable can be constructed in a lower level scope. | |
| Micro-optimizations | OWLExt |
urllink.cpp:548 | Medium | V820 | The 'key' variable is not used after copying. Copying can be replaced with move/swap for optimization. | |
| Micro-optimizations | OWLNext |
chooseco.h:213 | Medium | V818 | It is more efficient to use an initialization list 'Color(initColor)' rather than an assignment operator. | |
| Micro-optimizations | OWLNext |
combobex.h:313 | Low | V815 | Decreased performance. Consider replacing the expression 'Selection = ""' with 'Selection.clear()'. | |
| Micro-optimizations | OWLNext |
combobox.h:700 | Low | V815 | Decreased performance. Consider replacing the expression 'Selection = ""' with 'Selection.clear()'. | |
| Micro-optimizations | OWLNext |
commctrl.h:380 | High | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
commctrl.h:390 | High | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
commctrl.h:401 | High | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
commctrl.h:417 | High | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
commctrl.h:429 | High | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
commctrl.h:441 | High | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
commctrl.h:453 | High | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
commctrl.h:576 | High | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
defs.h:57 | Medium | V813 | Decreased performance. The 's' argument should probably be rendered as a constant reference. | |
| Micro-optimizations | OWLNext |
defs.h:66 | Medium | V813 | Decreased performance. The 's' argument should probably be rendered as a constant reference. | |
| Micro-optimizations | OWLNext |
defs.h:120 | Medium | V813 | Decreased performance. The 's' argument should probably be rendered as a constant reference. | |
| Micro-optimizations | OWLNext |
functor.h:88 | High | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
functor.h:156 | Low | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
functor.h:225 | Low | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
functor.h:295 | Low | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
functor.h:365 | Low | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
functor.h:439 | Low | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
functor.h:515 | Low | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
functor.h:590 | Low | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
functor.h:665 | Low | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
functor.h:740 | Low | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
functor.h:815 | Low | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
functor.h:890 | Low | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
functor.h:965 | Low | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
functor.h:1040 | Low | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
hlpmanag.h:44 | High | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
hlpmanag.h:105 | High | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
imagelst.h:188 | High | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
monthcal.h:34 | Medium | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
property.h:282 | Medium | V801 | Decreased performance. It is better to redefine the first function argument as a reference. Consider replacing 'const .. get' with 'const .. &get'. | |
| Micro-optimizations | OWLNext |
property.h:282 | Medium | V801 | Decreased performance. It is better to redefine the second function argument as a reference. Consider replacing 'const .. put' with 'const .. &put'. | |
| Micro-optimizations | OWLNext |
property.h:306 | Medium | V801 | Decreased performance. It is better to redefine the first function argument as a reference. Consider replacing 'const .. get' with 'const .. &get'. | |
| Micro-optimizations | OWLNext |
property.h:306 | Medium | V801 | Decreased performance. It is better to redefine the second function argument as a reference. Consider replacing 'const .. put' with 'const .. &put'. | |
| Micro-optimizations | OWLNext |
property.h:338 | Medium | V801 | Decreased performance. It is better to redefine the first function argument as a reference. Consider replacing 'const .. get' with 'const .. &get'. | |
| Micro-optimizations | OWLNext |
property.h:356 | Medium | V801 | Decreased performance. It is better to redefine the first function argument as a reference. Consider replacing 'const .. get' with 'const .. &get'. | |
| Micro-optimizations | OWLNext |
property.h:378 | Medium | V801 | Decreased performance. It is better to redefine the first function argument as a reference. Consider replacing 'const .. put' with 'const .. &put'. | |
| Micro-optimizations | OWLNext |
property.h:396 | Medium | V801 | Decreased performance. It is better to redefine the first function argument as a reference. Consider replacing 'const .. put' with 'const .. &put'. | |
| Micro-optimizations | OWLNext |
property.h:414 | Medium | V801 | Decreased performance. It is better to redefine the second function argument as a reference. Consider replacing 'const .. put' with 'const .. &put'. | |
| Micro-optimizations | OWLNext |
property.h:438 | Medium | V801 | Decreased performance. It is better to redefine the second function argument as a reference. Consider replacing 'const .. put' with 'const .. &put'. | |
| Micro-optimizations | OWLNext |
property.h:469 | Medium | V801 | Decreased performance. It is better to redefine the first function argument as a reference. Consider replacing 'const .. get' with 'const .. &get'. | |
| Micro-optimizations | OWLNext |
property.h:487 | Medium | V801 | Decreased performance. It is better to redefine the first function argument as a reference. Consider replacing 'const .. get' with 'const .. &get'. | |
| Micro-optimizations | OWLNext |
property.h:509 | Medium | V801 | Decreased performance. It is better to redefine the first function argument as a reference. Consider replacing 'const .. put' with 'const .. &put'. | |
| Micro-optimizations | OWLNext |
property.h:527 | Medium | V801 | Decreased performance. It is better to redefine the first function argument as a reference. Consider replacing 'const .. put' with 'const .. &put'. | |
| Micro-optimizations | OWLNext |
property.h:545 | Medium | V801 | Decreased performance. It is better to redefine the first function argument as a reference. Consider replacing 'const .. get' with 'const .. &get'. | |
| Micro-optimizations | OWLNext |
property.h:546 | Medium | V801 | Decreased performance. It is better to redefine the second function argument as a reference. Consider replacing 'const .. put' with 'const .. &put'. | |
| Micro-optimizations | OWLNext |
property.h:569 | Medium | V801 | Decreased performance. It is better to redefine the first function argument as a reference. Consider replacing 'const .. get' with 'const .. &get'. | |
| Micro-optimizations | OWLNext |
property.h:570 | Medium | V801 | Decreased performance. It is better to redefine the second function argument as a reference. Consider replacing 'const .. put' with 'const .. &put'. | |
| Micro-optimizations | OWLNext |
property.h:70 | Low | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
property.h:72 | Low | V832 | It's better to use '= default;' syntax instead of empty destructor body. | |
| Micro-optimizations | OWLNext |
property.h:108 | Low | V832 | It's better to use '= default;' syntax instead of empty destructor body. | |
| Micro-optimizations | OWLNext |
property.h:168 | Low | V832 | It's better to use '= default;' syntax instead of empty destructor body. | |
| Micro-optimizations | OWLNext |
property.h:181 | Low | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
property.h:284 | Low | V832 | It's better to use '= default;' syntax instead of empty destructor body. | |
| Micro-optimizations | OWLNext |
property.h:294 | Low | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
property.h:308 | Low | V832 | It's better to use '= default;' syntax instead of empty destructor body. | |
| Micro-optimizations | OWLNext |
property.h:327 | Low | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
property.h:339 | Low | V832 | It's better to use '= default;' syntax instead of empty destructor body. | |
| Micro-optimizations | OWLNext |
property.h:347 | Low | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
property.h:357 | Low | V832 | It's better to use '= default;' syntax instead of empty destructor body. | |
| Micro-optimizations | OWLNext |
property.h:369 | Low | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
property.h:379 | Low | V832 | It's better to use '= default;' syntax instead of empty destructor body. | |
| Micro-optimizations | OWLNext |
property.h:387 | Low | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
property.h:397 | Low | V832 | It's better to use '= default;' syntax instead of empty destructor body. | |
| Micro-optimizations | OWLNext |
property.h:405 | Low | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
property.h:416 | Low | V832 | It's better to use '= default;' syntax instead of empty destructor body. | |
| Micro-optimizations | OWLNext |
property.h:440 | Low | V832 | It's better to use '= default;' syntax instead of empty destructor body. | |
| Micro-optimizations | OWLNext |
property.h:459 | Low | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
property.h:470 | Low | V832 | It's better to use '= default;' syntax instead of empty destructor body. | |
| Micro-optimizations | OWLNext |
property.h:478 | Low | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
property.h:488 | Low | V832 | It's better to use '= default;' syntax instead of empty destructor body. | |
| Micro-optimizations | OWLNext |
property.h:500 | Low | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
property.h:510 | Low | V832 | It's better to use '= default;' syntax instead of empty destructor body. | |
| Micro-optimizations | OWLNext |
property.h:528 | Low | V832 | It's better to use '= default;' syntax instead of empty destructor body. | |
| Micro-optimizations | OWLNext |
property.h:548 | Low | V832 | It's better to use '= default;' syntax instead of empty destructor body. | |
| Micro-optimizations | OWLNext |
property.h:572 | Low | V832 | It's better to use '= default;' syntax instead of empty destructor body. | |
| Micro-optimizations | OWLNext |
property.h:592 | Low | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
shellitm.h:1083 | Medium | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
splitter.h:224 | High | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
tabctrl.h:84 | High | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
template.h:203 | Low | V832 | It's better to use '= default;' syntax instead of empty destructor body. | |
| Micro-optimizations | OWLNext |
template.h:575 | Low | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
template.h:576 | Low | V832 | It's better to use '= default;' syntax instead of empty destructor body. | |
| Micro-optimizations | OWLNext |
template.h:697 | Low | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
template.h:698 | Low | V832 | It's better to use '= default;' syntax instead of empty destructor body. | |
| Micro-optimizations | OWLNext |
template.h:717 | Low | V832 | It's better to use '= default;' syntax instead of empty destructor body. | |
| Micro-optimizations | OWLNext |
template.h:743 | Low | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
template.h:744 | Low | V832 | It's better to use '= default;' syntax instead of empty destructor body. | |
| Micro-optimizations | OWLNext |
template.h:815 | Low | V832 | It's better to use '= default;' syntax instead of empty destructor body. | |
| Micro-optimizations | OWLNext |
template.h:1033 | Low | V832 | It's better to use '= default;' syntax instead of empty destructor body. | |
| Micro-optimizations | OWLNext |
template.h:1676 | Low | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
template.h:1762 | Low | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
template.h:1826 | Low | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
thread.h:1303 | Medium | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
tooltip.h:723 | Medium | V813 | Decreased performance. The 'tool' argument should probably be rendered as a constant reference. | |
| Micro-optimizations | OWLNext |
tooltip.h:809 | Medium | V813 | Decreased performance. The 'tool' argument should probably be rendered as a constant reference. | |
| Micro-optimizations | OWLNext |
tooltip.h:823 | Medium | V813 | Decreased performance. The 'tool' argument should probably be rendered as a constant reference. | |
| Micro-optimizations | OWLNext |
tooltip.h:843 | Medium | V813 | Decreased performance. The 'tool' argument should probably be rendered as a constant reference. | |
| Micro-optimizations | OWLNext |
tooltip.h:866 | Medium | V813 | Decreased performance. The 'tool' argument should probably be rendered as a constant reference. | |
| Micro-optimizations | OWLNext |
tooltip.h:887 | Medium | V813 | Decreased performance. The 'tool' argument should probably be rendered as a constant reference. | |
| Micro-optimizations | OWLNext |
tooltip.h:1138 | Medium | V813 | Decreased performance. The 'tool' argument should probably be rendered as a constant reference. | |
| Micro-optimizations | OWLNext |
transfer.h:224 | Medium | V802 | On 32-bit platform, structure size can be reduced from 32 to 24 bytes by rearranging the fields according to their sizes in decreasing order. | |
| Micro-optimizations | OWLNext |
applicat.cpp:2049 | Medium | V820 | The 'locname' variable is not used after copying. Copying can be replaced with move/swap for optimization. | |
| Micro-optimizations | OWLNext |
applicat.cpp:1018 | Low | V820 | The 'e' variable is not used after copying. Copying can be replaced with move/swap for optimization. | |
| Micro-optimizations | OWLNext |
celarray.cpp:335 | Medium | V801 | Decreased performance. It is better to redefine the fifth function argument as a reference. Consider replacing 'const .. offset' with 'const .. &offset'. | |
| Micro-optimizations | OWLNext |
celarray.cpp:99 | Medium | V818 | It is more efficient to use an initialization list 'CSize(size)' rather than an assignment operator. | |
| Micro-optimizations | OWLNext |
checks.cpp:331 | High | V811 | Decreased performance. Excessive type casting: string -> char * -> string. Consider inspecting first argument of the function Trace. | |
| Micro-optimizations | OWLNext |
checks.cpp:77 | Medium | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
combobex.cpp:237 | Medium | V818 | It is more efficient to use an initialization list 'Item(item), Text(str), Image(image), Selected(image)' rather than an assignment operator. | |
| Micro-optimizations | OWLNext |
combobex.cpp:246 | Medium | V818 | It is more efficient to use an initialization list 'Item(item), Text(str), Image(image), Selected(selectedImage), Overlay(overlayImage), ...' rather than an assignment operator. | |
| Micro-optimizations | OWLNext |
configfl.cpp:1289 | High | V811 | Decreased performance. Excessive type casting: string -> char * -> string. Consider inspecting first argument of the function AddSection. | |
| Micro-optimizations | OWLNext |
configfl.cpp:1004 | High | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
configfl.cpp:1005 | High | V832 | It's better to use '= default;' syntax instead of empty destructor body. | |
| Micro-optimizations | OWLNext |
coolbar.cpp:406 | Medium | V818 | It is more efficient to use an initialization list 'Id(id), Child(child), Style(style)' rather than an assignment operator. | |
| Micro-optimizations | OWLNext |
coolbar.cpp:418 | Medium | V832 | It's better to use '= default;' syntax instead of empty destructor body. | |
| Micro-optimizations | OWLNext |
dc.cpp:823 | Medium | V813 | Decreased performance. The 'lpRect' argument should probably be rendered as a constant reference. | |
| Micro-optimizations | OWLNext |
docking.cpp:440 | Low | V821 | Decreased performance. The 'pt' variable can be constructed in a lower level scope. | |
| Micro-optimizations | OWLNext |
drawitem.cpp:620 | High | V817 | It is more efficient to seek '\t' character rather than a string. | |
| Micro-optimizations | OWLNext |
drawitem.cpp:628 | High | V817 | It is more efficient to seek '\x08' character rather than a string. | |
| Micro-optimizations | OWLNext |
dumpstack.cpp:255 | High | V811 | Decreased performance. Excessive type casting: string -> char * -> string. Consider inspecting first argument of the function Trace. | |
| Micro-optimizations | OWLNext |
dumpstack.cpp:260 | High | V811 | Decreased performance. Excessive type casting: string -> char * -> string. Consider inspecting first argument of the function Trace. | |
| Micro-optimizations | OWLNext |
dumpstack.cpp:383 | High | V811 | Decreased performance. Excessive type casting: string -> char * -> string. Consider inspecting first argument of the function Trace. | |
| Micro-optimizations | OWLNext |
edit.cpp:1082 | Low | V821 | Decreased performance. The 'reFocusGuard' variable can be constructed in a lower level scope. | |
| Micro-optimizations | OWLNext |
file.cpp:122 | Medium | V818 | It is more efficient to use an initialization list 'FileName(fileName)' rather than an assignment operator. | |
| Micro-optimizations | OWLNext |
file.cpp:942 | Low | V815 | Decreased performance. Consider replacing the expression 's = ""' with 's.clear()'. | |
| Micro-optimizations | OWLNext |
filedoc.cpp:539 | Medium | V818 | It is more efficient to use an initialization list 'last_seek(seekpos)' rather than an assignment operator. | |
| Micro-optimizations | OWLNext |
filename.cpp:625 | Medium | V815 | Decreased performance. Consider replacing the expression 'subpath = ""' with 'subpath.clear()'. | |
| Micro-optimizations | OWLNext |
filename.cpp:225 | Medium | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
filename.cpp:291 | Low | V815 | Decreased performance. Consider replacing the expression 'ServerStr = ""' with 'ServerStr.clear()'. | |
| Micro-optimizations | OWLNext |
filename.cpp:292 | Low | V815 | Decreased performance. Consider replacing the expression 'DeviceStr = ""' with 'DeviceStr.clear()'. | |
| Micro-optimizations | OWLNext |
filename.cpp:293 | Low | V815 | Decreased performance. Consider replacing the expression 'ExtStr = ""' with 'ExtStr.clear()'. | |
| Micro-optimizations | OWLNext |
filename.cpp:294 | Low | V815 | Decreased performance. Consider replacing the expression 'PathStr = ""' with 'PathStr.clear()'. | |
| Micro-optimizations | OWLNext |
filename.cpp:295 | Low | V815 | Decreased performance. Consider replacing the expression 'FileStr = ""' with 'FileStr.clear()'. | |
| Micro-optimizations | OWLNext |
filename.cpp:316 | Low | V815 | Decreased performance. Consider replacing the expression 'ServerStr = ""' with 'ServerStr.clear()'. | |
| Micro-optimizations | OWLNext |
filename.cpp:324 | Low | V815 | Decreased performance. Consider replacing the expression 'DeviceStr = ""' with 'DeviceStr.clear()'. | |
| Micro-optimizations | OWLNext |
filename.cpp:340 | Low | V815 | Decreased performance. Consider replacing the expression 'ExtStr = ""' with 'ExtStr.clear()'. | |
| Micro-optimizations | OWLNext |
filename.cpp:346 | Low | V815 | Decreased performance. Consider replacing the expression 'FileStr = ""' with 'FileStr.clear()'. | |
| Micro-optimizations | OWLNext |
filename.cpp:347 | Low | V815 | Decreased performance. Consider replacing the expression 'ExtStr = ""' with 'ExtStr.clear()'. | |
| Micro-optimizations | OWLNext |
filename.cpp:355 | Low | V815 | Decreased performance. Consider replacing the expression 'PathStr = ""' with 'PathStr.clear()'. | |
| Micro-optimizations | OWLNext |
filename.cpp:880 | Low | V815 | Decreased performance. Consider replacing the expression 'ServerStr = ""' with 'ServerStr.clear()'. | |
| Micro-optimizations | OWLNext |
filename.cpp:882 | Low | V815 | Decreased performance. Consider replacing the expression 'DeviceStr = ""' with 'DeviceStr.clear()'. | |
| Micro-optimizations | OWLNext |
filename.cpp:884 | Low | V815 | Decreased performance. Consider replacing the expression 'PathStr = ""' with 'PathStr.clear()'. | |
| Micro-optimizations | OWLNext |
filename.cpp:886 | Low | V815 | Decreased performance. Consider replacing the expression 'FileStr = ""' with 'FileStr.clear()'. | |
| Micro-optimizations | OWLNext |
filename.cpp:888 | Low | V815 | Decreased performance. Consider replacing the expression 'ExtStr = ""' with 'ExtStr.clear()'. | |
| Micro-optimizations | OWLNext |
filtval.cpp:28 | Medium | V818 | It is more efficient to use an initialization list 'ValidChars(validChars)' rather than an assignment operator. | |
| Micro-optimizations | OWLNext |
framewin.cpp:1207 | Low | V821 | Decreased performance. The 'curMenu' variable can be constructed in a lower level scope. | |
| Micro-optimizations | OWLNext |
gadgetwi.cpp:699 | Medium | V807 | Decreased performance. Consider creating a reference to avoid using the 'layout.GadgetBounds[i]' expression repeatedly. | |
| Micro-optimizations | OWLNext |
gadgetwi.cpp:828 | Medium | V807 | Decreased performance. Consider creating a reference to avoid using the 'layout.GadgetBounds[j]' expression repeatedly. | |
| Micro-optimizations | OWLNext |
gdiobjec.cpp:47 | High | V832 | It's better to use '= default;' syntax instead of empty destructor body. | |
| Micro-optimizations | OWLNext |
hlpmanag.cpp:589 | High | V832 | It's better to use '= default;' syntax instead of empty destructor body. | |
| Micro-optimizations | OWLNext |
hlpmanag.cpp:456 | Medium | V803 | Decreased performance. In case 'iterator' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OWLNext |
hlpmanag.cpp:498 | Medium | V803 | Decreased performance. In case 'iterator' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OWLNext |
layoutwi.cpp:1080 | Medium | V803 | Decreased performance. In case '(result->OrderedCombination[3])' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OWLNext |
layoutwi.cpp:1096 | Medium | V803 | Decreased performance. In case '(result->OrderedCombination[3])' is iterator it's more effective to use prefix form of decrement. Replace iterator-- with --iterator. | |
| Micro-optimizations | OWLNext |
layoutwi.cpp:1110 | Medium | V803 | Decreased performance. In case '(result->OrderedCombination[3])' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OWLNext |
layoutwi.cpp:1126 | Medium | V803 | Decreased performance. In case 'result->OrderedCombination[3]' is iterator it's more effective to use prefix form of decrement. Replace iterator-- with --iterator. | |
| Micro-optimizations | OWLNext |
layoutwi.cpp:440 | Medium | V807 | Decreased performance. Consider creating a reference to avoid using the 'win->GetWindowAttr()' expression repeatedly. | |
| Micro-optimizations | OWLNext |
listbox.cpp:154 | Low | V815 | Decreased performance. Consider replacing the expression 'str = ""' with 'str.clear()'. | |
| Micro-optimizations | OWLNext |
locale.cpp:127 | High | V832 | It's better to use '= default;' syntax instead of empty destructor body. | |
| Micro-optimizations | OWLNext |
module.cpp:275 | Medium | V803 | Decreased performance. In case 'Iter1' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OWLNext |
module.cpp:282 | Medium | V803 | Decreased performance. In case 'Iter' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OWLNext |
notetab.cpp:145 | High | V823 | Decreased performance. Object may be created in-place in the 'TabList' container. Consider replacing methods: 'insert' -> 'emplace'. | |
| Micro-optimizations | OWLNext |
objstrm.cpp:73 | High | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
objstrm.cpp:79 | High | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
objstrm.cpp:135 | Medium | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
objstrm.cpp:969 | Low | V815 | Decreased performance. Consider replacing the expression 'str = ""' with 'str.clear()'. | |
| Micro-optimizations | OWLNext |
opensave.cpp:198 | Medium | V803 | Decreased performance. In case 'i' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OWLNext |
panespli.cpp:39 | Medium | V803 | Decreased performance. In case 'iter' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OWLNext |
panespli.cpp:896 | Medium | V803 | Decreased performance. In case 'iter' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OWLNext |
panespli.cpp:949 | Medium | V803 | Decreased performance. In case 'iter' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OWLNext |
panespli.cpp:963 | Medium | V803 | Decreased performance. In case 'iter' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OWLNext |
panespli.cpp:975 | Medium | V803 | Decreased performance. In case 'iter' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OWLNext |
panespli.cpp:1329 | Medium | V803 | Decreased performance. In case 'wListIter' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OWLNext |
panespli.cpp:1334 | Medium | V803 | Decreased performance. In case 'wListIter' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OWLNext |
panespli.cpp:1607 | Medium | V803 | Decreased performance. In case 'iter1' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OWLNext |
panespli.cpp:1621 | Medium | V803 | Decreased performance. In case 'iter' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OWLNext |
panespli.cpp:248 | Medium | V807 | Decreased performance. Consider creating a reference to avoid using the 'p1->GetWindowAttr()' expression repeatedly. | |
| Micro-optimizations | OWLNext |
panespli.cpp:454 | Medium | V807 | Decreased performance. Consider creating a reference to avoid using the 'p1->GetWindowAttr()' expression repeatedly. | |
| Micro-optimizations | OWLNext |
picker.cpp:942 | High | V811 | Decreased performance. Excessive type casting: string -> char * -> string. Consider inspecting first argument of the function SetText. | |
| Micro-optimizations | OWLNext |
picker.cpp:46 | High | V832 | It's better to use '= default;' syntax instead of empty constructor body. | |
| Micro-optimizations | OWLNext |
picker.cpp:1299 | Medium | V820 | The 'hint' variable is not used after copying. Copying can be replaced with move/swap for optimization. | |
| Micro-optimizations | OWLNext |
pictwind.cpp:88 | Low | V821 | Decreased performance. The 'palette' variable can be constructed in a lower level scope. | |
| Micro-optimizations | OWLNext |
rcntfile.cpp:306 | Medium | V806 | Decreased performance. The expression of strlen(MyStr.c_str()) kind can be rewritten as MyStr.length(). | |
| Micro-optimizations | OWLNext |
rcntfile.cpp:96 | Medium | V818 | It is more efficient to use an initialization list 'MruName(iniName)' rather than an assignment operator. | |
| Micro-optimizations | OWLNext |
registry.cpp:1449 | High | V814 | Decreased performance. The 'strlen' function was called multiple times inside the body of a loop. | |
| Micro-optimizations | OWLNext |
registry.cpp:1495 | High | V814 | Decreased performance. The 'strlen' function was called multiple times inside the body of a loop. | |
| Micro-optimizations | OWLNext |
shellitm.cpp:472 | Low | V820 | The 'pidl' variable is not used after copying. Copying can be replaced with move/swap for optimization. | |
| Micro-optimizations | OWLNext |
shellitm.cpp:1567 | Low | V820 | The 'pidl' variable is not used after copying. Copying can be replaced with move/swap for optimization. | |
| Micro-optimizations | OWLNext |
statusba.cpp:60 | Medium | V803 | Decreased performance. In case 'i' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. | |
| Micro-optimizations | OWLNext |
tooltip.cpp:517 | Medium | V813 | Decreased performance. The 'tool' argument should probably be rendered as a constant reference. | |
| Micro-optimizations | OWLNext |
tracewnd.cpp:349 | High | V811 | Decreased performance. Excessive type casting: string -> char * -> string. Consider inspecting second argument of the function SetItemText. | |
| Micro-optimizations | OWLNext |
tracewnd.cpp:452 | Low | V815 | Decreased performance. Consider replacing the expression 'TraceText = ""' with 'TraceText.clear()'. | |
| Micro-optimizations | OWLNext |
trayicon.cpp:123 | Medium | V806 | Decreased performance. The expression of strlen(MyStr.c_str()) kind can be rewritten as MyStr.length(). | |
| Micro-optimizations | OWLNext |
trayicon.cpp:124 | Medium | V806 | Decreased performance. The expression of strlen(MyStr.c_str()) kind can be rewritten as MyStr.length(). | |
| Micro-optimizations | OWLNext |
trayicon.cpp:248 | Medium | V806 | Decreased performance. The expression of strlen(MyStr.c_str()) kind can be rewritten as MyStr.length(). | |
| Micro-optimizations | OWLNext |
trayicon.cpp:252 | Medium | V806 | Decreased performance. The expression of strlen(MyStr.c_str()) kind can be rewritten as MyStr.length(). |