Group |
Location |
Level |
Code |
Message |
64-bit errors |
hook_wow64.cpp:190 |
High |
V114 |
Dangerous explicit type pointer conversion: reinterpret_cast< LPDWORD > (& p_loff) |
64-bit errors |
plugina.cpp:2690 |
High |
V220 |
Suspicious sequence of types castings: memsize -> 32-bit integer -> memsize. The value being cast: 'did.PtrLength'. |
64-bit errors |
plugina.cpp:2685 |
High |
V220 |
Suspicious sequence of types castings: memsize -> 32-bit integer -> memsize. |
64-bit errors |
plugina.cpp:2957 |
High |
V220 |
Suspicious sequence of types castings: memsize -> 32-bit integer -> memsize. The value being cast: 'li.ItemsNumber'. |
64-bit errors |
clipboard.cpp:329 |
Medium |
V119 |
More than one sizeof() operator is used in one expression. |
64-bit errors |
edit.cpp:1598 |
Medium |
V105 |
Second operand of '?:' operation: implicit type conversion to memsize type. |
64-bit errors |
editor.cpp:6293 |
Medium |
V119 |
More than one sizeof() operator is used in one expression. |
64-bit errors |
editor.cpp:3171 |
Medium |
V127 |
An overflow of the 32-bit 'Decrement' variable is possible inside a long cycle which utilizes a memsize-type loop counter. |
64-bit errors |
editor.cpp:3504 |
Medium |
V105 |
Second operand of '?:' operation: implicit type conversion to memsize type. |
64-bit errors |
filelist.cpp:8593 |
Medium |
V127 |
An overflow of the 32-bit 'CurColumn' variable is possible inside a long cycle which utilizes a memsize-type loop counter. |
64-bit errors |
filelist.cpp:200 |
Medium |
V113 |
Implicit type conversion from memsize to double type or vice versa. |
64-bit errors |
filelist.cpp:6251 |
Medium |
V127 |
An overflow of the 32-bit 'CurSel' variable is possible inside a long cycle which utilizes a memsize-type loop counter. |
64-bit errors |
filelist.cpp:6303 |
Medium |
V127 |
An overflow of the 32-bit 'CurSel' variable is possible inside a long cycle which utilizes a memsize-type loop counter. |
64-bit errors |
filelist.cpp:8166 |
Medium |
V127 |
An overflow of the 32-bit 'CurColumn' variable is possible inside a long cycle which utilizes a memsize-type loop counter. |
64-bit errors |
filelist.cpp:8596 |
Medium |
V127 |
An overflow of the 32-bit 'Level' variable is possible inside a long cycle which utilizes a memsize-type loop counter. |
64-bit errors |
infolist.cpp:971 |
Medium |
V127 |
An overflow of the 32-bit 'Y' variable is possible inside a long cycle which utilizes a memsize-type loop counter. |
64-bit errors |
interf.cpp:788 |
Medium |
V127 |
An overflow of the 32-bit 'CurY' variable is possible inside a long cycle which utilizes a memsize-type loop counter. |
64-bit errors |
macro.cpp:4276 |
Medium |
V127 |
An overflow of the 32-bit 'idxFoundItem' variable is possible inside a long cycle which utilizes a memsize-type loop counter. |
64-bit errors |
macro.cpp:4237 |
Medium |
V127 |
An overflow of the 32-bit 'idxFoundItem' variable is possible inside a long cycle which utilizes a memsize-type loop counter. |
64-bit errors |
macro.cpp:2955 |
Medium |
V113 |
Implicit type conversion from memsize to double type or vice versa. |
64-bit errors |
macro.cpp:3033 |
Medium |
V113 |
Implicit type conversion from memsize to double type or vice versa. |
64-bit errors |
memcheck.cpp:294 |
Medium |
V119 |
More than one sizeof() operator is used in one expression. |
64-bit errors |
memcheck.cpp:217 |
Medium |
V119 |
More than one sizeof() operator is used in one expression. |
64-bit errors |
memcheck.cpp:215 |
Medium |
V119 |
More than one sizeof() operator is used in one expression. |
64-bit errors |
platform.security.cpp:109 |
Medium |
V119 |
More than one sizeof() operator is used in one expression. |
64-bit errors |
vmenu2.cpp:108 |
Medium |
V105 |
Third operand of '?:' operation: implicit type conversion to memsize type. |
General Analysis |
elevation.cpp:849 |
High |
V773 |
The function was exited without releasing the 'ParentProcess' handle. A resource leak is possible. |
General Analysis |
farexcpt.cpp:771 |
High |
V609 |
Divide by zero. Denominator 'InvalidDenominator' == 0. |
General Analysis |
fileedit.cpp:1897 |
High |
V573 |
Uninitialized variable 'UsedDefaultCharStr' was used. The variable was used to initialize itself. |
General Analysis |
fileedit.cpp:1902 |
High |
V573 |
Uninitialized variable 'UsedDefaultCharEOL' was used. The variable was used to initialize itself. |
General Analysis |
filelist.cpp:7930 |
High |
V784 |
The size of the bit mask is less than the size of the first operand. This will cause the loss of higher bits. |
General Analysis |
filelist.cpp:7914 |
High |
V784 |
The size of the bit mask is less than the size of the first operand. This will cause the loss of higher bits. |
General Analysis |
filelist.hpp:108 |
High |
V573 |
Uninitialized variable 'm_NumberOfLinks' was used. The variable was used to initialize itself. |
General Analysis |
filelist.hpp:109 |
High |
V573 |
Uninitialized variable 'm_NumberOfStreams' was used. The variable was used to initialize itself. |
General Analysis |
filelist.hpp:110 |
High |
V573 |
Uninitialized variable 'm_StreamsSize' was used. The variable was used to initialize itself. |
General Analysis |
hook_wow64.cpp:175 |
High |
V594 |
The pointer steps out of array's bounds. |
General Analysis |
macro.cpp:819 |
High |
V547 |
Expression 'mpr.ReturnType == MPRT_PLUGINCOMMAND' is always true. |
General Analysis |
main.cpp:816 |
High |
V759 |
Incorrect order of exception handling blocks. Exception of 'exception' type will be caught in a catch block for 'exception' base type. |
General Analysis |
platform.fs.cpp:1632 |
High |
V502 |
Perhaps the '?:' operator works in a different way than it was expected. The '?:' operator has a lower priority than the '||' operator. |
General Analysis |
plist.cpp:223 |
High |
V773 |
Visibility scope of the 'Process' handle was exited without releasing the resource. A resource leak is possible. |
General Analysis |
usermenu.cpp:1016 |
High |
V595 |
The 'MenuItem' pointer was utilized before it was verified against nullptr. Check lines: 1016, 1038. |
General Analysis |
string_utils.hpp:55 |
Medium |
V560 |
A part of conditional expression is always true: Str.data(). |
General Analysis |
config.cpp:2273 |
Medium |
V601 |
The bool type is implicitly cast to the class type. |
General Analysis |
config.cpp:2426 |
Medium |
V506 |
Pointer to local variable 'Strings' is stored outside the scope of this variable. Such a pointer will become invalid. |
General Analysis |
config.cpp:763 |
Medium |
V601 |
The 'true' value becomes a class object. |
General Analysis |
dialog.cpp:4586 |
Medium |
V519 |
The 'm_Y2' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 4520, 4586. |
General Analysis |
dialog.cpp:4585 |
Medium |
V519 |
The 'm_X2' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 4519, 4585. |
General Analysis |
editor.cpp:3983 |
Medium |
V601 |
The 'false' value becomes a class object. |
General Analysis |
editor.cpp:2502 |
Medium |
V601 |
The 'false' value becomes a class object. |
General Analysis |
editor.cpp:2504 |
Medium |
V601 |
The bool type is implicitly cast to the class type. |
General Analysis |
editor.cpp:6703 |
Medium |
V601 |
The bool type is implicitly cast to the class type. |
General Analysis |
editor.cpp:6700 |
Medium |
V601 |
The bool type is implicitly cast to the class type. |
General Analysis |
editor.cpp:6671 |
Medium |
V601 |
The bool type is implicitly cast to the class type. |
General Analysis |
editor.cpp:6658 |
Medium |
V601 |
The bool type is implicitly cast to the class type. |
General Analysis |
editor.cpp:6634 |
Medium |
V601 |
The bool type is implicitly cast to the class type. |
General Analysis |
editor.cpp:4033 |
Medium |
V601 |
The bool type is implicitly cast to the class type. |
General Analysis |
editor.hpp:85 |
Medium |
V601 |
The bool type is implicitly cast to the class type. |
General Analysis |
editor.hpp:89 |
Medium |
V601 |
The bool type is implicitly cast to the class type. |
General Analysis |
editor.hpp:95 |
Medium |
V601 |
The bool type is implicitly cast to the class type. |
General Analysis |
editor.hpp:96 |
Medium |
V601 |
The bool type is implicitly cast to the class type. |
General Analysis |
editor.hpp:99 |
Medium |
V601 |
The bool type is implicitly cast to the class type. |
General Analysis |
editor.hpp:83 |
Medium |
V601 |
The bool type is implicitly cast to the class type. |
General Analysis |
editor.hpp:103 |
Medium |
V601 |
The bool type is implicitly cast to the class type. |
General Analysis |
editor.hpp:101 |
Medium |
V601 |
The bool type is implicitly cast to the class type. |
General Analysis |
eject.cpp:128 |
Medium |
V547 |
Expression '!foundError' is always true. |
General Analysis |
farexcpt.hpp:118 |
Medium |
V720 |
It is advised to utilize the 'SuspendThread' function only when developing a debugger (see documentation for details). |
General Analysis |
filepanels.cpp:917 |
Medium |
V560 |
A part of conditional expression is always false: NewType == panel_type::FILE_PANEL. |
General Analysis |
filepanels.hpp:76 |
Medium |
V768 |
The variable 'm_ActivePanelIndex' is of enum type. It is odd that it is used as a variable of a Boolean-type. |
General Analysis |
findfile.cpp:2559 |
Medium |
V506 |
Pointer to local variable 'BC' is stored outside the scope of this variable. Such a pointer will become invalid. |
General Analysis |
fnparce.cpp:149 |
Medium |
V547 |
Expression 'm_Tail.data() != nullptr' is always true. |
General Analysis |
help.cpp:1999 |
Medium |
V785 |
Constant expression in switch statement. |
General Analysis |
locale.hpp:52 |
Medium |
V730 |
Not all members of a class are initialized inside the compiler generated constructor. Consider inspecting: m_DateFormat, m_DigitsGrouping, m_DateSeparator, m_TimeSeparator, m_DecimalSeparator, m_ThousandSeparator. |
General Analysis |
macro.cpp:4046 |
Medium |
V601 |
The bool type is implicitly cast to the class type. |
General Analysis |
macro.cpp:4052 |
Medium |
V601 |
The bool type is implicitly cast to the class type. |
General Analysis |
macro.cpp:4050 |
Medium |
V601 |
The bool type is implicitly cast to the class type. |
General Analysis |
macro.cpp:4056 |
Medium |
V601 |
The bool type is implicitly cast to the class type. |
General Analysis |
macro.cpp:4064 |
Medium |
V601 |
The bool type is implicitly cast to the class type. |
General Analysis |
macro.cpp:4060 |
Medium |
V601 |
The bool type is implicitly cast to the class type. |
General Analysis |
macro.cpp:4062 |
Medium |
V601 |
The bool type is implicitly cast to the class type. |
General Analysis |
macro.cpp:4669 |
Medium |
V601 |
The bool type is implicitly cast to the double type. Inspect the first argument. |
General Analysis |
macro.cpp:4042 |
Medium |
V601 |
The bool type is implicitly cast to the class type. |
General Analysis |
macro.cpp:4040 |
Medium |
V601 |
The bool type is implicitly cast to the class type. |
General Analysis |
macro.cpp:4038 |
Medium |
V601 |
The bool type is implicitly cast to the class type. |
General Analysis |
macro.cpp:4036 |
Medium |
V601 |
The bool type is implicitly cast to the class type. |
General Analysis |
macro.cpp:3740 |
Medium |
V601 |
The bool type is implicitly cast to the class type. |
General Analysis |
macro.cpp:3713 |
Medium |
V601 |
The bool type is implicitly cast to the class type. |
General Analysis |
macro.cpp:4058 |
Medium |
V601 |
The bool type is implicitly cast to the class type. |
General Analysis |
macro.cpp:4044 |
Medium |
V601 |
The bool type is implicitly cast to the class type. |
General Analysis |
manager.cpp:199 |
Medium |
V730 |
It is possible that not all members of a class are initialized inside the constructor. Consider inspecting: m_windows_changed. |
General Analysis |
platform.fs.cpp:790 |
Medium |
V560 |
A part of conditional expression is always false: (di->NextEntryOffset != 0xffffffffUL). |
General Analysis |
plugina.cpp:4382 |
Medium |
V506 |
Pointer to local variable 'et' is stored outside the scope of this variable. Such a pointer will become invalid. |
General Analysis |
plugina.cpp:4247 |
Medium |
V556 |
The values of different enum types are compared: switch(ENUM_TYPE_A) { case ENUM_TYPE_B: ... }. |
General Analysis |
plugina.cpp:4316 |
Medium |
V556 |
The values of different enum types are compared: switch(ENUM_TYPE_A) { case ENUM_TYPE_B: ... }. |
General Analysis |
plugina.cpp:4253 |
Medium |
V556 |
The values of different enum types are compared: switch(ENUM_TYPE_A) { case ENUM_TYPE_B: ... }. |
General Analysis |
plugina.cpp:4256 |
Medium |
V556 |
The values of different enum types are compared: switch(ENUM_TYPE_A) { case ENUM_TYPE_B: ... }. |
General Analysis |
plugina.cpp:4259 |
Medium |
V556 |
The values of different enum types are compared: switch(ENUM_TYPE_A) { case ENUM_TYPE_B: ... }. |
General Analysis |
plugina.cpp:4262 |
Medium |
V556 |
The values of different enum types are compared: switch(ENUM_TYPE_A) { case ENUM_TYPE_B: ... }. |
General Analysis |
plugina.cpp:4291 |
Medium |
V556 |
The values of different enum types are compared: switch(ENUM_TYPE_A) { case ENUM_TYPE_B: ... }. |
General Analysis |
plugina.cpp:4305 |
Medium |
V556 |
The values of different enum types are compared: switch(ENUM_TYPE_A) { case ENUM_TYPE_B: ... }. |
General Analysis |
plugina.cpp:4574 |
Medium |
V556 |
The values of different enum types are compared: switch(ENUM_TYPE_A) { case ENUM_TYPE_B: ... }. |
General Analysis |
plugina.cpp:4575 |
Medium |
V556 |
The values of different enum types are compared: switch(ENUM_TYPE_A) { case ENUM_TYPE_B: ... }. |
General Analysis |
plugina.cpp:4250 |
Medium |
V556 |
The values of different enum types are compared: switch(ENUM_TYPE_A) { case ENUM_TYPE_B: ... }. |
General Analysis |
plugina.cpp:4576 |
Medium |
V556 |
The values of different enum types are compared: switch(ENUM_TYPE_A) { case ENUM_TYPE_B: ... }. |
General Analysis |
plugina.cpp:4715 |
Medium |
V560 |
A part of conditional expression is always true: KeyM <= KEY_MACRO_ENDBASE. |
General Analysis |
plugina.cpp:4244 |
Medium |
V556 |
The values of different enum types are compared: switch(ENUM_TYPE_A) { case ENUM_TYPE_B: ... }. |
General Analysis |
plugina.cpp:898 |
Medium |
V580 |
An odd explicit type casting. Consider verifying it. |
General Analysis |
plugina.cpp:903 |
Medium |
V580 |
An odd explicit type casting. Consider verifying it. |
General Analysis |
regexp.cpp:1668 |
Medium |
V796 |
It is possible that 'break' statement is missing in switch statement. |
General Analysis |
setattr.cpp:217 |
Medium |
V768 |
The variable 'EncryptState' is of enum type. It is odd that it is used as a variable of a Boolean-type. |
General Analysis |
setattr.cpp:201 |
Medium |
V768 |
The variable 'EncryptState' is of enum type. It is odd that it is used as a variable of a Boolean-type. |
General Analysis |
setattr.cpp:248 |
Medium |
V768 |
The variable 'SubfoldersState' is of enum type. It is odd that it is used as a variable of a Boolean-type. |
General Analysis |
setattr.cpp:291 |
Medium |
V768 |
The variable 'SubfoldersState' is of enum type. It is odd that it is used as a variable of a Boolean-type. |
General Analysis |
setattr.cpp:184 |
Medium |
V768 |
The variable 'EncryptState' is of enum type. It is odd that it is used as a variable of a Boolean-type. |
General Analysis |
setattr.cpp:312 |
Medium |
V768 |
The variable 'SubfoldersState' is of enum type. It is odd that it is used as a variable of a Boolean-type. |
General Analysis |
setattr.cpp:222 |
Medium |
V768 |
The variable 'CompressState' is of enum type. It is odd that it is used as a variable of a Boolean-type. |
General Analysis |
setattr.cpp:187 |
Medium |
V768 |
The variable 'CompressState' is of enum type. It is odd that it is used as a variable of a Boolean-type. |
General Analysis |
setattr.cpp:208 |
Medium |
V768 |
The variable 'CompressState' is of enum type. It is odd that it is used as a variable of a Boolean-type. |
General Analysis |
usermenu.cpp:1039 |
Medium |
V506 |
Pointer to local variable 'NewItemIterator' is stored outside the scope of this variable. Such a pointer will become invalid. |
General Analysis |
viewer.hpp:92 |
Medium |
V601 |
The bool type is implicitly cast to the class type. |
General Analysis |
cddrv.cpp:167 |
Low |
V525 |
The code contains the collection of similar blocks. Check items '6', '7', '7' in lines 167, 170, 173. |
General Analysis |
cmdline.cpp:797 |
Low |
V565 |
An empty exception handler. Silent suppression of exceptions can hide the presence of bugs in source code during testing. |
General Analysis |
codepage_selection.cpp:330 |
Low |
V783 |
Dereferencing of the invalid iterator might take place. |
General Analysis |
range.hpp:222 |
Low |
V659 |
Declarations of functions with 'operator *' 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: 221, 222. |
General Analysis |
string_utils.hpp:106 |
Low |
V667 |
The 'throw' operator does not possess any arguments and is not situated within the 'catch' block. |
General Analysis |
dialog.cpp:4461 |
Low |
V522 |
There might be dereferencing of a potential null pointer 'CurItem'. |
General Analysis |
dialog.cpp:1484 |
Low |
V656 |
Variables 'Color[0]', 'Color[1]' are initialized through the call to the same function. It's probably an error or un-optimized code. Check lines: 1482, 1484. |
General Analysis |
dialog.cpp:1473 |
Low |
V656 |
Variables 'Color[0]', 'Color[1]' are initialized through the call to the same function. It's probably an error or un-optimized code. Check lines: 1471, 1473. |
General Analysis |
dialog.cpp:4772 |
Low |
V601 |
The 'true' value is implicitly cast to the integer type. |
General Analysis |
dialog.cpp:4776 |
Low |
V601 |
The 'false' value is implicitly cast to the integer type. |
General Analysis |
dizlist.cpp:282 |
Low |
V783 |
Dereferencing of the invalid iterator might take place. |
General Analysis |
editor.cpp:4040 |
Low |
V601 |
The 'true' value is implicitly cast to the integer type. Inspect the first argument. |
General Analysis |
editor.cpp:294 |
Low |
V601 |
The 'true' value is implicitly cast to the integer type. Inspect the first argument. |
General Analysis |
editor.cpp:3188 |
Low |
V601 |
The 'false' value is implicitly cast to the integer type. Inspect the first argument. |
General Analysis |
editor.cpp:5096 |
Low |
V601 |
The 'false' value is implicitly cast to the integer type. Inspect the first argument. |
General Analysis |
editor.cpp:3652 |
Low |
V601 |
The 'false' value is implicitly cast to the integer type. Inspect the first argument. |
General Analysis |
editor.cpp:3670 |
Low |
V601 |
The 'false' value is implicitly cast to the integer type. Inspect the first argument. |
General Analysis |
editor.cpp:3656 |
Low |
V601 |
The 'true' value is implicitly cast to the integer type. Inspect the first argument. |
General Analysis |
editor.cpp:3673 |
Low |
V601 |
The 'true' value is implicitly cast to the integer type. Inspect the first argument. |
General Analysis |
editor.cpp:3685 |
Low |
V601 |
The 'false' value is implicitly cast to the integer type. Inspect the first argument. |
General Analysis |
editor.cpp:3954 |
Low |
V601 |
The 'false' value is implicitly cast to the integer type. Inspect the first argument. |
General Analysis |
editor.cpp:5166 |
Low |
V601 |
The 'true' value is implicitly cast to the integer type. Inspect the first argument. |
General Analysis |
editor.cpp:5148 |
Low |
V601 |
The 'false' value is implicitly cast to the integer type. Inspect the first argument. |
General Analysis |
editor.cpp:3642 |
Low |
V601 |
The 'true' value is implicitly cast to the integer type. Inspect the first argument. |
General Analysis |
fardlgbuilder.cpp:83 |
Low |
V565 |
An empty exception handler. Silent suppression of exceptions can hide the presence of bugs in source code during testing. |
General Analysis |
filefilter.cpp:844 |
Low |
V601 |
The 'true' value is implicitly cast to the integer type. |
General Analysis |
filefilter.cpp:939 |
Low |
V601 |
The 'true' value is implicitly cast to the integer type. Inspect the third argument. |
General Analysis |
filefilter.cpp:946 |
Low |
V601 |
The 'true' value is implicitly cast to the integer type. Inspect the third argument. |
General Analysis |
filefilter.cpp:959 |
Low |
V601 |
The 'false' value is implicitly cast to the integer type. Inspect the third argument. |
General Analysis |
filefilter.cpp:952 |
Low |
V601 |
The 'false' value is implicitly cast to the integer type. Inspect the third argument. |
General Analysis |
filelist.cpp:1860 |
Low |
V522 |
There might be dereferencing of a potential null pointer 'CurPtr'. |
General Analysis |
filelist.cpp:4585 |
Low |
V550 |
An odd precise comparison. It's probably better to use a comparison with defined precision: fabs(A - B) < Epsilon. |
General Analysis |
filelist.cpp:7470 |
Low |
V783 |
Dereferencing of the invalid iterator might take place. |
General Analysis |
filelist.cpp:7203 |
Low |
V522 |
There might be dereferencing of a potential null pointer 'CurPanelData'. |
General Analysis |
filestr.cpp:264 |
Low |
V522 |
There might be dereferencing of a potential null pointer 'ReadBufPtr'. |
General Analysis |
findfile.cpp:2258 |
Low |
V769 |
The 'PanelData' pointer in the 'PanelData + I' expression could be nullptr. In such case, resulting value will be senseless and it should not be used. |
General Analysis |
findfile.cpp:2259 |
Low |
V522 |
There might be dereferencing of a potential null pointer 'CurPanelItem'. |
General Analysis |
findfile.cpp:2288 |
Low |
V522 |
There might be dereferencing of a potential null pointer 'CurPanelItem'. |
General Analysis |
infolist.cpp:1096 |
Low |
V525 |
The code contains the collection of similar blocks. Check items 'F2', 'F3', 'F8', 'F8' in lines 1096, 1097, 1098, 1099. |
General Analysis |
interf.cpp:184 |
Low |
V513 |
Use _beginthreadex/_endthreadex functions instead of CreateThread/ExitThread functions. |
General Analysis |
keyboard.cpp:289 |
Low |
V565 |
An empty exception handler. Silent suppression of exceptions can hide the presence of bugs in source code during testing. |
General Analysis |
macro.cpp:2236 |
Low |
V550 |
An odd precise comparison: Data->Values[0].Double == 1. It's probably better to use a comparison with defined precision: fabs(A - B) < Epsilon. |
General Analysis |
macro.cpp:2302 |
Low |
V601 |
The 'false' value is implicitly cast to the integer type. Inspect the first argument. |
General Analysis |
macro.cpp:2195 |
Low |
V601 |
The 'false' value is implicitly cast to the integer type. Inspect the first argument. |
General Analysis |
macro.cpp:2616 |
Low |
V565 |
An empty exception handler. Silent suppression of exceptions can hide the presence of bugs in source code during testing. |
General Analysis |
macro.cpp:4977 |
Low |
V522 |
There might be dereferencing of a potential null pointer 'record'. |
General Analysis |
panelmix.cpp:443 |
Low |
V565 |
An empty exception handler. Silent suppression of exceptions can hide the presence of bugs in source code during testing. |
General Analysis |
platform.concurrency.cpp:183 |
Low |
V659 |
Declarations of functions with 'multi_waiter::add' 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: 176, 183. |
General Analysis |
plclass.hpp:354 |
Low |
V667 |
The 'throw' operator does not possess any arguments and is not situated within the 'catch' block. |
General Analysis |
plugapi.cpp:2622 |
Low |
V522 |
There might be dereferencing of a potential null pointer 'settings'. |
General Analysis |
plugapi.cpp:2547 |
Low |
V522 |
There might be dereferencing of a potential null pointer 're'. |
General Analysis |
plugapi.cpp:2502 |
Low |
V522 |
There might be dereferencing of a potential null pointer 'Filter'. |
General Analysis |
plugins.cpp:2175 |
Low |
V522 |
There might be dereferencing of a potential null pointer 'MenuItems'. |
General Analysis |
qview.cpp:605 |
Low |
V525 |
The code contains the collection of similar blocks. Check items 'F4', 'F8', 'F2', 'F8' in lines 605, 606, 607, 608. |
General Analysis |
regexp.cpp:1736 |
Low |
V783 |
Dereferencing of the invalid iterator might take place. |
General Analysis |
regexp.cpp:2781 |
Low |
V522 |
There might be dereferencing of a potential null pointer 'hmatch'. |
General Analysis |
stddlg.cpp:812 |
Low |
V565 |
An empty exception handler. Silent suppression of exceptions can hide the presence of bugs in source code during testing. |
General Analysis |
strmix.cpp:777 |
Low |
V574 |
The 'Match' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 733, 777. |
General Analysis |
strmix.cpp:447 |
Low |
V550 |
An odd precise comparison: Fractional == Multiplier. It's probably better to use a comparison with defined precision: fabs(A - B) < Epsilon. |
General Analysis |
tvar.cpp:405 |
Low |
V565 |
An empty exception handler. Silent suppression of exceptions can hide the presence of bugs in source code during testing. |
General Analysis |
tvar.cpp:375 |
Low |
V565 |
An empty exception handler. Silent suppression of exceptions can hide the presence of bugs in source code during testing. |
General Analysis |
viewer.cpp:3264 |
Low |
V769 |
The 't_line' pointer in the 't_line + m[0].start' expression could be nullptr. In such case, resulting value will be senseless and it should not be used. |
General Analysis |
viewer.cpp:3208 |
Low |
V769 |
The 't_line' pointer in the 't_line + off' expression could be nullptr. In such case, resulting value will be senseless and it should not be used. |
General Analysis |
viewer.cpp:3053 |
Low |
V769 |
The 't_buff' pointer in the 't_buff + nw1' expression could be nullptr. In such case, resulting value will be senseless and it should not be used. |
General Analysis |
viewer.cpp:2353 |
Low |
V601 |
The 'false' value is implicitly cast to the integer type. |
General Analysis |
viewer.cpp:2351 |
Low |
V601 |
The 'true' value is implicitly cast to the integer type. |
General Analysis |
viewer.cpp:2997 |
Low |
V769 |
The 't_buff' pointer in the 't_buff + i' expression could be nullptr. In such case, resulting value will be senseless and it should not be used. |
General Analysis |
vmenu2.cpp:160 |
Low |
V601 |
The 'false' value is implicitly cast to the integer type. |
General Analysis |
vmenu2.cpp:209 |
Low |
V601 |
The 'false' value is implicitly cast to the integer type. |
General Analysis |
vmenu2.cpp:285 |
Low |
V601 |
The 'true' value is implicitly cast to the integer type. Inspect the second argument. |
General Analysis |
vmenu2.cpp:150 |
Low |
V601 |
The 'false' value is implicitly cast to the integer type. |
General Analysis |
vmenu2.cpp:137 |
Low |
V601 |
The 'true' value is implicitly cast to the integer type. |
General Analysis |
vmenu2.cpp:109 |
Low |
V601 |
The 'false' value is implicitly cast to the integer type. |
General Analysis |
vmenu2.cpp:107 |
Low |
V601 |
The 'false' value is implicitly cast to the integer type. |
General Analysis |
vmenu2.cpp:102 |
Low |
V601 |
The 'true' value is implicitly cast to the integer type. |
General Analysis |
vmenu2.cpp:76 |
Low |
V601 |
The 'true' value is implicitly cast to the integer type. |
General Analysis |
vmenu2.cpp:307 |
Low |
V601 |
The 'true' value is implicitly cast to the integer type. Inspect the second argument. |
General Analysis |
vmenu2.cpp:572 |
Low |
V601 |
The 'false' value is implicitly cast to the integer type. |
Micro-optimizations |
config.cpp:2926 |
Medium |
V807 |
Decreased performance. Consider creating a pointer to avoid using the 'Global->CtrlObject->Cp()' expression repeatedly. |
Micro-optimizations |
config.cpp:2270 |
Medium |
V807 |
Decreased performance. Consider creating a pointer to avoid using the 'Global->CtrlObject->Cp()' expression repeatedly. |
Micro-optimizations |
config.cpp:906 |
Medium |
V801 |
Decreased performance. It is better to redefine the first function argument as a reference. Consider replacing 'const .. Modes' with 'const .. &Modes'. |
Micro-optimizations |
copy_progress.cpp:76 |
Medium |
V813 |
Decreased performance. The 'Seconds' argument should probably be rendered as a constant reference. |
Micro-optimizations |
datetime.cpp:519 |
Medium |
V813 |
Decreased performance. The 'Point' argument should probably be rendered as a constant reference. |
Micro-optimizations |
datetime.cpp:638 |
Medium |
V813 |
Decreased performance. The 'UtcTime' argument should probably be rendered as a constant reference. |
Micro-optimizations |
datetime.cpp:443 |
Medium |
V801 |
Decreased performance. It is better to redefine the second function argument as a reference. Consider replacing 'const .. Dst' with 'const .. &Dst'. |
Micro-optimizations |
datetime.hpp:72 |
Medium |
V813 |
Decreased performance. The 'Value' argument should probably be rendered as a constant reference. |
Micro-optimizations |
dialog.cpp:269 |
Medium |
V801 |
Decreased performance. It is better to redefine the first function argument as a reference. Consider replacing 'const .. Items' with 'const .. &Items'. |
Micro-optimizations |
dialog.cpp:269 |
Medium |
V801 |
Decreased performance. It is better to redefine the second function argument as a reference. Consider replacing 'const .. ItemsEx' with 'const .. &ItemsEx'. |
Micro-optimizations |
dialog.cpp:350 |
Medium |
V801 |
Decreased performance. It is better to redefine the first function argument as a reference. Consider replacing 'const .. SrcItems' with 'const .. &SrcItems'. |
Micro-optimizations |
dialog.cpp:374 |
Medium |
V801 |
Decreased performance. It is better to redefine the first function argument as a reference. Consider replacing 'const .. SrcItems' with 'const .. &SrcItems'. |
Micro-optimizations |
dialog.cpp:2071 |
Medium |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'Items[I].UCData->CursorPos' expression repeatedly. |
Micro-optimizations |
dialog.cpp:1610 |
Medium |
V807 |
Decreased performance. Consider creating a pointer to avoid using the 'Items[m_FocusPos].UCData' expression repeatedly. |
Micro-optimizations |
dirinfo.cpp:444 |
Medium |
V807 |
Decreased performance. Consider creating a pointer to avoid using the 'Global->CtrlObject->Cp()' expression repeatedly. |
Micro-optimizations |
editcontrol.cpp:510 |
Medium |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'Global->Opt->AutoComplete' expression repeatedly. |
Micro-optimizations |
fardlgbuilder.cpp:692 |
Medium |
V801 |
Decreased performance. It is better to redefine the first function argument as a reference. Consider replacing 'const .. Buttons' with 'const .. &Buttons'. |
Micro-optimizations |
fardlgbuilder.cpp:239 |
Medium |
V801 |
Decreased performance. It is better to redefine the third function argument as a reference. Consider replacing 'const .. handler' with 'const .. &handler'. |
Micro-optimizations |
fileedit.cpp:769 |
Medium |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'm_editor->m_Flags' expression repeatedly. |
Micro-optimizations |
fileedit.cpp:1459 |
Medium |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'Global->Opt->EdOpt' expression repeatedly. |
Micro-optimizations |
fileedit.cpp:2215 |
Medium |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'm_editor->m_it_CurLine' expression repeatedly. |
Micro-optimizations |
filelist.cpp:2875 |
Medium |
V820 |
The 'strInfoHostFile' variable is not used after copying. Copying can be replaced with move/swap for optimization. |
Micro-optimizations |
filelist.cpp:5095 |
Medium |
V820 |
The 'strPluginDestPath' variable is not used after copying. Copying can be replaced with move/swap for optimization. |
Micro-optimizations |
filelist.cpp:7586 |
Medium |
V820 |
The 'strInfoCurDir' variable is not used after copying. Copying can be replaced with move/swap for optimization. |
Micro-optimizations |
filelist.cpp:4871 |
Medium |
V820 |
The 'strConvertedCommand' variable is not used after copying. Copying can be replaced with move/swap for optimization. |
Micro-optimizations |
filelist.cpp:505 |
Medium |
V802 |
On 32-bit platform, structure size can be reduced from 24 to 20 bytes by rearranging the fields according to their sizes in decreasing order. |
Micro-optimizations |
filelist.cpp:108 |
Medium |
V813 |
Decreased performance. The 'First', 'Second' arguments should probably be rendered as constant references. |
Micro-optimizations |
filelist.cpp:7332 |
Medium |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'm_ViewSettings.PanelColumns[I]' expression repeatedly. |
Micro-optimizations |
filelist.cpp:5460 |
Medium |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'fi.Owner(this)' expression repeatedly. |
Micro-optimizations |
filelist.cpp:2891 |
Medium |
V820 |
The 'strInfoCurDir' variable is not used after copying. Copying can be replaced with move/swap for optimization. |
Micro-optimizations |
findfile.cpp:1768 |
Medium |
V813 |
Decreased performance. The 'strSearchFileName' argument should probably be rendered as a constant reference. |
Micro-optimizations |
findfile.cpp:570 |
Medium |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'Global->Opt->FindOpt' expression repeatedly. |
Micro-optimizations |
help.cpp:1403 |
Medium |
V820 |
The 'strLastSearchStr0' variable is not used after copying. Copying can be replaced with move/swap for optimization. |
Micro-optimizations |
help.cpp:1546 |
Medium |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'StackData->strHelpMask' expression repeatedly. |
Micro-optimizations |
help.cpp:2160 |
Medium |
V820 |
The 'FilteredURLPath' variable is not used after copying. Copying can be replaced with move/swap for optimization. |
Micro-optimizations |
hilight.cpp:503 |
Medium |
V807 |
Decreased performance. Consider creating a pointer to avoid using the 'Global->CtrlObject->Cp()' expression repeatedly. |
Micro-optimizations |
infolist.cpp:357 |
Medium |
V820 |
The 'strDriveRoot' variable is not used after copying. Copying can be replaced with move/swap for optimization. |
Micro-optimizations |
keyboard.hpp:53 |
Medium |
V802 |
On 32-bit platform, structure size can be reduced from 40 to 36 bytes by rearranging the fields according to their sizes in decreasing order. |
Micro-optimizations |
macro.cpp:3946 |
Medium |
V807 |
Decreased performance. Consider creating a pointer to avoid using the same expression repeatedly. |
Micro-optimizations |
macro.cpp:623 |
Medium |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'Global->Opt->Macro' expression repeatedly. |
Micro-optimizations |
macro.cpp:572 |
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 |
main.cpp:388 |
Medium |
V801 |
Decreased performance. It is better to redefine the first function argument as a reference. Consider replacing 'const .. Args' with 'const .. &Args'. |
Micro-optimizations |
main.cpp:467 |
Medium |
V801 |
Decreased performance. It is better to redefine the first function argument as a reference. Consider replacing 'const .. Args' with 'const .. &Args'. |
Micro-optimizations |
manager.cpp:152 |
Medium |
V807 |
Decreased performance. Consider creating a pointer to avoid using the 'Global->CtrlObject->Cp()' expression repeatedly. |
Micro-optimizations |
panelmix.cpp:633 |
Medium |
V813 |
Decreased performance. The 'FileTime' argument should probably be rendered as a constant reference. |
Micro-optimizations |
platform.concurrency.cpp:190 |
Medium |
V813 |
Decreased performance. The 'Timeout' argument should probably be rendered as a constant reference. |
Micro-optimizations |
plugapi.cpp:1007 |
Medium |
V801 |
Decreased performance. It is better to redefine the first function argument as a reference. Consider replacing 'const .. Src' with 'const .. &Src'. |
Micro-optimizations |
plugapi.cpp:1017 |
Medium |
V801 |
Decreased performance. It is better to redefine the second function argument as a reference. Consider replacing 'const .. Src' with 'const .. &Src'. |
Micro-optimizations |
plugin.hpp:1543 |
Medium |
V802 |
On 32-bit platform, structure size can be reduced from 24 to 16 bytes by rearranging the fields according to their sizes in decreasing order. |
Micro-optimizations |
plugin.hpp:1389 |
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 |
plugin.hpp:2540 |
Medium |
V802 |
On 32-bit platform, structure size can be reduced from 64 to 56 bytes by rearranging the fields according to their sizes in decreasing order. |
Micro-optimizations |
plugin.hpp:2846 |
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 |
plugin.hpp:515 |
Medium |
V802 |
On 32-bit platform, structure size can be reduced from 40 to 32 bytes by rearranging the fields according to their sizes in decreasing order. |
Micro-optimizations |
plugin.hpp:1366 |
Medium |
V802 |
On 32-bit platform, structure size can be reduced from 40 to 32 bytes by rearranging the fields according to their sizes in decreasing order. |
Micro-optimizations |
plugin.hpp:1676 |
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 |
plugina.cpp:538 |
Medium |
V813 |
Decreased performance. The 'Lines' argument should probably be rendered as a constant reference. |
Micro-optimizations |
plugina.cpp:571 |
Medium |
V813 |
Decreased performance. The 'Modes', 'UnicodeModes' arguments should probably be rendered as constant references. |
Micro-optimizations |
plugina.cpp:579 |
Medium |
V813 |
Decreased performance. The 'Modes' argument should probably be rendered as a constant reference. |
Micro-optimizations |
plugina.cpp:682 |
Medium |
V801 |
Decreased performance. It is better to redefine the first function argument as a reference. Consider replacing 'const .. PanelItemA' with 'const .. &PanelItemA'. |
Micro-optimizations |
pluginold.hpp:1109 |
Medium |
V802 |
On 32-bit platform, structure size can be reduced from 24 to 16 bytes by rearranging the fields according to their sizes in decreasing order. |
Micro-optimizations |
plugins.cpp:560 |
Medium |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'Global->Opt->PluginConfirm' expression repeatedly. |
Micro-optimizations |
poscache.cpp:120 |
Medium |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'Global->Opt->ViOpt' expression repeatedly. |
Micro-optimizations |
poscache.cpp:163 |
Medium |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'Global->Opt->ViOpt' expression repeatedly. |
Micro-optimizations |
scantree.cpp:190 |
Medium |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'ScanItems.back()' expression repeatedly. |
Micro-optimizations |
setcolor.cpp:63 |
Medium |
V807 |
Decreased performance. Consider creating a pointer to avoid using the 'Global->CtrlObject->Cp()' expression repeatedly. |
Micro-optimizations |
sqlitedb.cpp:240 |
Medium |
V820 |
The 'strTmp' variable is not used after copying. Copying can be replaced with move/swap for optimization. |
Micro-optimizations |
usermenu.cpp:158 |
Medium |
V813 |
Decreased performance. The 'FileStrings' argument should probably be rendered as a constant reference. |
Micro-optimizations |
usermenu.cpp:744 |
Medium |
V810 |
Decreased performance. The 'cbegin' function was called several times with identical arguments. The result should possibly be saved to a temporary variable, which then could be used while calling the 'for_each' function. |
Micro-optimizations |
viewer.cpp:346 |
Medium |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'Global->Opt->ViOpt' expression repeatedly. |
Micro-optimizations |
viewer.cpp:244 |
Medium |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'Global->Opt->ViOpt' expression repeatedly. |
Micro-optimizations |
vmenu.cpp:2858 |
Medium |
V801 |
Decreased performance. It is better to redefine the first function argument as a reference. Consider replacing 'const .. MenuItems' with 'const .. &MenuItems'. |
Micro-optimizations |
vmenu.cpp:106 |
Medium |
V813 |
Decreased performance. The 'Data' argument should probably be rendered as a constant reference. |
Micro-optimizations |
vmenu2.cpp:365 |
Medium |
V813 |
Decreased performance. The 'Data' argument should probably be rendered as a constant reference. |
Micro-optimizations |
cmdline.cpp:860 |
Low |
V821 |
Decreased performance. The 'FEdit' variable can be constructed in a lower level scope. |
Micro-optimizations |
cmdline.cpp:351 |
Low |
V807 |
Decreased performance. Consider creating a pointer to avoid using the 'Global->CtrlObject->Cp()' expression repeatedly. |
Micro-optimizations |
cmdline.cpp:1040 |
Low |
V807 |
Decreased performance. Consider creating a pointer to avoid using the 'Global->CtrlObject->Cp()' expression repeatedly. |
Micro-optimizations |
cmdline.cpp:1295 |
Low |
V807 |
Decreased performance. Consider creating a pointer to avoid using the 'Global->CtrlObject->Cp()' expression repeatedly. |
Micro-optimizations |
cmdline.cpp:1304 |
Low |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'Global->Opt->Exec' expression repeatedly. |
Micro-optimizations |
cmdline.cpp:454 |
Low |
V821 |
Decreased performance. The 'ActivePanel' variable can be constructed in a lower level scope. |
Micro-optimizations |
config.cpp:2888 |
Low |
V807 |
Decreased performance. Consider creating a pointer to avoid using the 'Global->CtrlObject->Cp()' expression repeatedly. |
Micro-optimizations |
config.cpp:246 |
Low |
V807 |
Decreased performance. Consider creating a pointer to avoid using the 'Global->CtrlObject->Cp()' expression repeatedly. |
Micro-optimizations |
config.cpp:303 |
Low |
V807 |
Decreased performance. Consider creating a pointer to avoid using the 'Global->CtrlObject->Cp()' expression repeatedly. |
Micro-optimizations |
config.cpp:403 |
Low |
V807 |
Decreased performance. Consider creating a pointer to avoid using the 'Global->CtrlObject->Cp()' expression repeatedly. |
Micro-optimizations |
config.cpp:677 |
Low |
V807 |
Decreased performance. Consider creating a pointer to avoid using the 'Global->CtrlObject->CmdLine()' expression repeatedly. |
Micro-optimizations |
config.cpp:898 |
Low |
V807 |
Decreased performance. Consider creating a pointer to avoid using the 'Global->CtrlObject->Cp()' expression repeatedly. |
Micro-optimizations |
config.cpp:1215 |
Low |
V807 |
Decreased performance. Consider creating a pointer to avoid using the 'Global->CtrlObject->Cp()' expression repeatedly. |
Micro-optimizations |
copy.cpp:531 |
Low |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'Global->Opt->CMOpt' expression repeatedly. |
Micro-optimizations |
copy.cpp:3694 |
Low |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'CP->m_Bytes' expression repeatedly. |
Micro-optimizations |
ctrlobj.cpp:92 |
Low |
V807 |
Decreased performance. Consider creating a pointer to avoid using the 'FPanels->LeftPanel()' expression repeatedly. |
Micro-optimizations |
ctrlobj.cpp:93 |
Low |
V807 |
Decreased performance. Consider creating a pointer to avoid using the 'FPanels->RightPanel()' expression repeatedly. |
Micro-optimizations |
dialog.cpp:2024 |
Low |
V807 |
Decreased performance. Consider creating a pointer to avoid using the 'Items[I].ListPtr' expression repeatedly. |
Micro-optimizations |
edit.cpp:2296 |
Low |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'Global->Opt->XLat' expression repeatedly. |
Micro-optimizations |
editcontrol.cpp:416 |
Low |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'Global->Opt->AutoComplete' expression repeatedly. |
Micro-optimizations |
editor.cpp:6900 |
Low |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'edit->m_Str' expression repeatedly. |
Micro-optimizations |
editor.cpp:6545 |
Low |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'Global->Opt->XLat' expression repeatedly. |
Micro-optimizations |
fileedit.cpp:1716 |
Low |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'm_editor->m_Flags' expression repeatedly. |
Micro-optimizations |
fileedit.cpp:2207 |
Low |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'm_editor->Lines' expression repeatedly. |
Micro-optimizations |
fileedit.cpp:2219 |
Low |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'm_editor->m_Flags' expression repeatedly. |
Micro-optimizations |
fileedit.cpp:1671 |
Low |
V821 |
Decreased performance. The 'save_Flags' variable can be constructed in a lower level scope. |
Micro-optimizations |
filelist.cpp:5457 |
Low |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'fi.AlternateFileName()' expression repeatedly. |
Micro-optimizations |
filelist.cpp:5063 |
Low |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'AnotherFilePanel->m_ListData' expression repeatedly. |
Micro-optimizations |
filelist.cpp:4854 |
Low |
V807 |
Decreased performance. Consider creating a pointer to avoid using the 'Parent()->GetCmdLine()' expression repeatedly. |
Micro-optimizations |
filetype.cpp:399 |
Low |
V807 |
Decreased performance. Consider creating a pointer to avoid using the 'ConfigProvider().AssocConfig()' expression repeatedly. |
Micro-optimizations |
findfile.cpp:2808 |
Low |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'Global->Opt->FindOpt' expression repeatedly. |
Micro-optimizations |
findfile.cpp:527 |
Low |
V807 |
Decreased performance. Consider creating a pointer to avoid using the 'Global->CtrlObject->Cp()->ActivePanel()' expression repeatedly. |
Micro-optimizations |
help.cpp:1506 |
Low |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'StackData->strSelTopic' expression repeatedly. |
Micro-optimizations |
help.cpp:1489 |
Low |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'StackData->strHelpPath' expression repeatedly. |
Micro-optimizations |
help.cpp:1805 |
Low |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'StackData->strSelTopic' expression repeatedly. |
Micro-optimizations |
infolist.cpp:127 |
Low |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'Global->Opt->ViOpt' expression repeatedly. |
Micro-optimizations |
infolist.cpp:200 |
Low |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'Global->Opt->InfoPanel' expression repeatedly. |
Micro-optimizations |
interf.cpp:171 |
Low |
V807 |
Decreased performance. Consider creating a pointer to avoid using the 'Global->CtrlObject->Cp()' expression repeatedly. |
Micro-optimizations |
macro.cpp:950 |
Low |
V807 |
Decreased performance. Consider creating a pointer to avoid using the 'Global->CtrlObject->CmdLine()' expression repeatedly. |
Micro-optimizations |
main.cpp:644 |
Low |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'Global->Opt->LoadPlug' expression repeatedly. |
Micro-optimizations |
manager.cpp:924 |
Low |
V821 |
Decreased performance. The 'CurrentWindow' variable can be constructed in a lower level scope. |
Micro-optimizations |
manager.cpp:152 |
Low |
V807 |
Decreased performance. Consider creating a pointer to avoid using the 'Global->CtrlObject->Cp()->LeftPanel()' expression repeatedly. |
Micro-optimizations |
manager.cpp:153 |
Low |
V807 |
Decreased performance. Consider creating a pointer to avoid using the 'Global->CtrlObject->Cp()->RightPanel()' expression repeatedly. |
Micro-optimizations |
pathmix.cpp:536 |
Low |
V815 |
Decreased performance. Consider replacing the expression 'ExtractFileName(L"C:\\") == L""' with 'ExtractFileName(L"C:\\").empty()'. |
Micro-optimizations |
pathmix.cpp:543 |
Low |
V815 |
Decreased performance. Consider replacing the expression 'ExtractFileName(L"\\\\server\\share") == L""' with 'ExtractFileName(L"\\\\server\\share").empty()'. |
Micro-optimizations |
pathmix.cpp:535 |
Low |
V815 |
Decreased performance. Consider replacing the expression 'ExtractFileName(L"C:") == L""' with 'ExtractFileName(L"C:").empty()'. |
Micro-optimizations |
pathmix.cpp:533 |
Low |
V815 |
Decreased performance. Consider replacing the expression 'ExtractFileName(L"path\\") == L""' with 'ExtractFileName(L"path\\").empty()'. |
Micro-optimizations |
pathmix.cpp:530 |
Low |
V815 |
Decreased performance. Consider replacing the expression 'ExtractFileName(L"\\") == L""' with 'ExtractFileName(L"\\").empty()'. |
Micro-optimizations |
pathmix.cpp:529 |
Low |
V815 |
Decreased performance. Consider replacing the expression 'ExtractFileName(L"") == L""' with 'ExtractFileName(L"").empty()'. |
Micro-optimizations |
pathmix.cpp:509 |
Low |
V815 |
Decreased performance. Consider replacing the expression 'ExtractFilePath(L"file") == L""' with 'ExtractFilePath(L"file").empty()'. |
Micro-optimizations |
pathmix.cpp:508 |
Low |
V815 |
Decreased performance. Consider replacing the expression 'ExtractFilePath(L"\\file") == L""' with 'ExtractFilePath(L"\\file").empty()'. |
Micro-optimizations |
pathmix.cpp:507 |
Low |
V815 |
Decreased performance. Consider replacing the expression 'ExtractFilePath(L"\\") == L""' with 'ExtractFilePath(L"\\").empty()'. |
Micro-optimizations |
pathmix.cpp:506 |
Low |
V815 |
Decreased performance. Consider replacing the expression 'ExtractFilePath(L"") == L""' with 'ExtractFilePath(L"").empty()'. |
Micro-optimizations |
pathmix.cpp:489 |
Low |
V815 |
Decreased performance. Consider replacing the expression 'ExtractPathRoot(L"file") == L""' with 'ExtractPathRoot(L"file").empty()'. |
Micro-optimizations |
pathmix.cpp:539 |
Low |
V815 |
Decreased performance. Consider replacing the expression 'str == L""' with 'str.empty()'. |
Micro-optimizations |
pathmix.cpp:488 |
Low |
V815 |
Decreased performance. Consider replacing the expression 'ExtractPathRoot(L"\\") == L""' with 'ExtractPathRoot(L"\\").empty()'. |
Micro-optimizations |
pathmix.cpp:487 |
Low |
V815 |
Decreased performance. Consider replacing the expression 'ExtractPathRoot(L"") == L""' with 'ExtractPathRoot(L"").empty()'. |
Micro-optimizations |
pathmix.cpp:474 |
Low |
V815 |
Decreased performance. Consider replacing the expression 'path::join(L"", L"\\") == L""' with 'path::join(L"", L"\\").empty()'. |
Micro-optimizations |
pathmix.cpp:473 |
Low |
V815 |
Decreased performance. Consider replacing the expression 'path::join(L"", L"") == L""' with 'path::join(L"", L"").empty()'. |
Micro-optimizations |
pathmix.cpp:544 |
Low |
V815 |
Decreased performance. Consider replacing the expression 'ExtractFileName(L"\\\\server\\share\\") == L""' with 'ExtractFileName(L"\\\\server\\share\\").empty()'. |
Micro-optimizations |
pathmix.cpp:547 |
Low |
V815 |
Decreased performance. Consider replacing the expression 'str == L""' with 'str.empty()'. |
Micro-optimizations |
pathmix.cpp:548 |
Low |
V815 |
Decreased performance. Consider replacing the expression 'str == L""' with 'str.empty()'. |
Micro-optimizations |
pathmix.cpp:490 |
Low |
V815 |
Decreased performance. Consider replacing the expression 'ExtractPathRoot(L"path\\file") == L""' with 'ExtractPathRoot(L"path\\file").empty()'. |
Micro-optimizations |
pathmix.cpp:540 |
Low |
V815 |
Decreased performance. Consider replacing the expression 'str == L""' with 'str.empty()'. |
Micro-optimizations |
plclass.cpp:414 |
Low |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'Global->Opt->KnownIDs' expression repeatedly. |
Micro-optimizations |
plugina.cpp:4719 |
Low |
V807 |
Decreased performance. Consider creating a pointer to avoid using the 'Global->CtrlObject->Cp()->ActivePanel()' expression repeatedly. |
Micro-optimizations |
pluginold.hpp:1128 |
Low |
V802 |
On 32-bit platform, structure size can be reduced from 104 to 96 bytes by rearranging the fields according to their sizes in decreasing order. |
Micro-optimizations |
plugins.cpp:1921 |
Low |
V807 |
Decreased performance. Consider creating a pointer to avoid using the 'ConfigProvider().PlCacheCfg()' expression repeatedly. |
Micro-optimizations |
plugins.cpp:1544 |
Low |
V821 |
Decreased performance. The 'ActivePanel' variable can be constructed in a lower level scope. |
Micro-optimizations |
plugins.cpp:1954 |
Low |
V807 |
Decreased performance. Consider creating a pointer to avoid using the 'Global->CtrlObject->Cp()' expression repeatedly. |
Micro-optimizations |
plugins.cpp:318 |
Low |
V807 |
Decreased performance. Consider creating a pointer to avoid using the 'Global->CtrlObject->Cp()' expression repeatedly. |
Micro-optimizations |
plugins.cpp:1727 |
Low |
V807 |
Decreased performance. Consider creating a pointer to avoid using the 'ConfigProvider().PlCacheCfg()' expression repeatedly. |
Micro-optimizations |
poscache.cpp:94 |
Low |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'Global->Opt->EdOpt' expression repeatedly. |
Micro-optimizations |
poscache.cpp:54 |
Low |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'Global->Opt->EdOpt' expression repeatedly. |
Micro-optimizations |
preservestyle.cpp:411 |
Low |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'SourceTokens.front()' expression repeatedly. |
Micro-optimizations |
regexp.cpp:2377 |
Low |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'stack.back()' expression repeatedly. |
Micro-optimizations |
setcolor.cpp:401 |
Low |
V807 |
Decreased performance. Consider creating a pointer to avoid using the 'Global->CtrlObject->Cp()' expression repeatedly. |
Micro-optimizations |
string_sort.cpp:314 |
Low |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'Global->Opt->Sort' expression repeatedly. |
Micro-optimizations |
syslog.cpp:1534 |
Low |
V821 |
Decreased performance. The 'VK' variable can be constructed in a lower level scope. |
Micro-optimizations |
viewer.cpp:272 |
Low |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'Global->Opt->ViOpt' expression repeatedly. |
Micro-optimizations |
viewer.cpp:604 |
Low |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'Strings.back()' expression repeatedly. |
Micro-optimizations |
vmenu.cpp:1377 |
Low |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'Global->Opt->XLat' expression repeatedly. |
Micro-optimizations |
vmenu.cpp:1654 |
Low |
V807 |
Decreased performance. Consider creating a reference to avoid using the 'Global->Opt->VMenu' expression repeatedly. |