PVS-Studio Analysis Results


Date:05/05/19 20:09:33
PVS-Studio Version:7.02.32095.1676
Total Warnings (GA):182
Total Warnings (OP):221
Total Warnings (64):24
Group Projects Location Level Code CWE Message
64-bit errors

cli_objs

cppcheckexecutor.cpp:1047 Medium V113 Implicit type conversion from memsize to double type or vice versa.
64-bit errors

simplecpp_objs

simplecpp.cpp:644 Medium V127 An overflow of the 32-bit 'newlines' variable is possible inside a long cycle which utilizes a memsize-type loop counter.
64-bit errors

simplecpp_objs

simplecpp.cpp:569 Medium V127 An overflow of the 32-bit 'multiline' variable is possible inside a long cycle which utilizes a memsize-type loop counter.
64-bit errors

simplecpp_objs

simplecpp.cpp:143 Medium V127 An overflow of the 32-bit 'line' variable is possible inside a long cycle which utilizes a memsize-type loop counter.
64-bit errors

simplecpp_objs

simplecpp.cpp:140 Medium V127 An overflow of the 32-bit 'col' variable is possible inside a long cycle which utilizes a memsize-type loop counter.
64-bit errors

simplecpp_objs

simplecpp.cpp:575 Medium V127 An overflow of the 32-bit 'multiline' variable is possible inside a long cycle which utilizes a memsize-type loop counter.
64-bit errors

lib_objs

tinyxml2.h:247 Medium V302 Member operator[] of 'DynArray' class has a 32-bit type argument. Use memsize-type here.
64-bit errors

lib_objs

tinyxml2.h:252 Medium V302 Member operator[] of 'DynArray' class has a 32-bit type argument. Use memsize-type here.
64-bit errors

lib_objs

checkbufferoverrun.cpp:176 Medium V127 An overflow of the 32-bit 'inputArgNr' variable is possible inside a long cycle which utilizes a memsize-type loop counter.
64-bit errors

lib_objs

checkclass.cpp:531 Medium V127 An overflow of the 32-bit 'count' variable is possible inside a long cycle which utilizes a memsize-type loop counter.
64-bit errors

lib_objs

checkclass.cpp:543 Medium V127 An overflow of the 32-bit 'count' variable is possible inside a long cycle which utilizes a memsize-type loop counter.
64-bit errors

lib_objs

mathlib.cpp:1098 Medium V127 An overflow of the 32-bit 'longState' variable is possible inside a long cycle which utilizes a memsize-type loop counter.
64-bit errors

lib_objs

tokenize.cpp:4731 Medium V128 The 'Token::getStrLength(tok)' variable of the memsize type is written to a stream. Consider verifying the compatibility of 32 and 64 bit versions of the application in the context of a stored data.
64-bit errors

lib_objs

tokenlist.cpp:340 Medium V127 An overflow of the 32-bit 'subchecksum2' variable is possible inside a long cycle which utilizes a memsize-type loop counter.
64-bit errors

lib_objs

tokenlist.cpp:343 Medium V127 An overflow of the 32-bit 'subchecksum2' variable is possible inside a long cycle which utilizes a memsize-type loop counter.
64-bit errors

lib_objs

templatesimplifier.cpp:1225 Low V127 An overflow of the 32-bit 'namepos' variable is possible inside a long cycle which utilizes a memsize-type loop counter.
64-bit errors

lib_objs

templatesimplifier.cpp:1234 Low V127 An overflow of the 32-bit 'namepos' variable is possible inside a long cycle which utilizes a memsize-type loop counter.
64-bit errors

lib_objs

templatesimplifier.cpp:1259 Low V127 An overflow of the 32-bit 'namepos' variable is possible inside a long cycle which utilizes a memsize-type loop counter.
64-bit errors

lib_objs

tokenize.cpp:8409 Low V127 An overflow of the 32-bit 'indentlevel' variable is possible inside a long cycle which utilizes a memsize-type loop counter.
64-bit errors

lib_objs

tokenize.cpp:8361 Low V127 An overflow of the 32-bit 'indentlevel' variable is possible inside a long cycle which utilizes a memsize-type loop counter.
64-bit errors

lib_objs

tokenize.cpp:8355 Low V127 An overflow of the 32-bit 'indentswitch' variable is possible inside a long cycle which utilizes a memsize-type loop counter.
64-bit errors

lib_objs

tokenize.cpp:8348 Low V127 An overflow of the 32-bit 'indentswitch' variable is possible inside a long cycle which utilizes a memsize-type loop counter.
64-bit errors

lib_objs

tokenize.cpp:8323 Low V127 An overflow of the 32-bit 'roundbraces' variable is possible inside a long cycle which utilizes a memsize-type loop counter.
64-bit errors

lib_objs

tokenize.cpp:8420 Low V127 An overflow of the 32-bit 'indentlevel' variable is possible inside a long cycle which utilizes a memsize-type loop counter.
General Analysis

cli_objs

threadexecutor.cpp:52 High V730 CWE-457 Not all members of a class are initialized inside the constructor. Consider inspecting: _fileSync, _errorSync, _reportSync.
General Analysis

lib_objs

picojson.h:167 High V730 CWE-457 Not all members of a class are initialized inside the constructor. Consider inspecting: u_.
General Analysis

lib_objs

checkcondition.cpp:809 High V792 CWE-691 The 'diag' function located to the right of the operator '&' will be called regardless of the value of the left operand. Perhaps, it is better to use '&&'.
General Analysis

lib_objs

checkcondition.cpp:794 High V792 CWE-691 The 'diag' function located to the right of the operator '&' will be called regardless of the value of the left operand. Perhaps, it is better to use '&&'.
General Analysis

lib_objs

checkcondition.cpp:779 High V792 CWE-691 The 'diag' function located to the right of the operator '&' will be called regardless of the value of the left operand. Perhaps, it is better to use '&&'.
General Analysis

lib_objs

checkcondition.cpp:471 High V792 CWE-691 The 'diag' function located to the right of the operator '&' will be called regardless of the value of the left operand. Perhaps, it is better to use '&&'.
General Analysis

lib_objs

checkio.cpp:1235 High V783 CWE-119 Dereferencing of the invalid iterator 'i' might take place. Check lines: 954, 1235.
General Analysis

lib_objs

checkio.cpp:1223 High V783 CWE-119 Dereferencing of the invalid iterator 'i' might take place. Check lines: 954, 1223.
General Analysis

lib_objs

checkstl.cpp:100 High V595 CWE-476 The 'tok->next()->astOperand2()' pointer was utilized before it was verified against nullptr. Check lines: 100, 104.
General Analysis

lib_objs

checkuninitvar.cpp:1038 High V595 CWE-476 The 'parent' pointer was utilized before it was verified against nullptr. Check lines: 1038, 1040.
General Analysis

lib_objs

symboldatabase.cpp:895 High V547 CWE-571 Expression is always true.
General Analysis

lib_objs

symboldatabase.cpp:1458 High V595 CWE-476 The 'tok2' pointer was utilized before it was verified against nullptr. Check lines: 1458, 1468.
General Analysis

lib_objs

symboldatabase.cpp:5590 High V501 CWE-570 There are identical sub-expressions 'typestr == "size_t"' to the left and to the right of the '||' operator.
General Analysis

lib_objs

symboldatabase.cpp:4964 High V595 CWE-476 The 'parent->astOperand2()' pointer was utilized before it was verified against nullptr. Check lines: 4964, 4973.
General Analysis

lib_objs

tokenize.cpp:10071 High V595 CWE-476 The 'tok1' pointer was utilized before it was verified against nullptr. Check lines: 10071, 10072.
General Analysis

lib_objs

tokenize.cpp:3225 High V595 CWE-476 The 'tok->link()' pointer was utilized before it was verified against nullptr. Check lines: 3225, 3232.
General Analysis

lib_objs

valueflow.cpp:754 High V792 CWE-691 The 'isInconclusive' function located to the right of the operator '|' will be called regardless of the value of the left operand. Perhaps, it is better to use '||'.
General Analysis

cli_objs

cmdlineparser.cpp:58 Medium V560 CWE-571 A part of conditional expression is always true: Files.
General Analysis

cli_objs

threadexecutor.cpp:475 Medium V1020 The function exited without calling the 'LeaveCriticalSection' function. Check lines: 475, 465.
General Analysis

cli_objs

threadexecutor.cpp:475 Medium V1020 The function exited without calling the 'LeaveCriticalSection' function. Check lines: 475, 431.
General Analysis

simplecpp_objs

simplecpp.cpp:1919 Medium V601 CWE-704 The integer type is implicitly cast to the char type.
General Analysis

simplecpp_objs

simplecpp.cpp:1915 Medium V601 CWE-704 The integer type is implicitly cast to the char type.
General Analysis

simplecpp_objs

simplecpp.cpp:450 Medium V560 CWE-571 A part of conditional expression is always true: ch != '\r'.
General Analysis

tinyxml_objs

tinyxml2.cpp:2481 Medium V547 CWE-570 Expression '2147483647 < delta' is always false.
General Analysis

lib_objs

astutils.cpp:564 Medium V764 CWE-683 Possible incorrect order of arguments passed to 'isOppositeCond' function: 'cond2' and 'cond1'.
General Analysis

lib_objs

astutils.cpp:199 Medium V681 CWE-758 The language standard does not define an order in which the 'next' functions will be called during evaluation of arguments.
General Analysis

lib_objs

astutils.cpp:926 Medium V560 CWE-571 A part of conditional expression is always true: arg.
General Analysis

lib_objs

checkclass.cpp:2507 Medium V779 CWE-561 Unreachable code detected. It is possible that an error is present.
General Analysis

lib_objs

checkother.cpp:2469 Medium V681 CWE-758 The language standard does not define an order in which the 'next' functions will be called during evaluation of arguments.
General Analysis

lib_objs

checkstl.cpp:106 Medium V681 CWE-758 The language standard does not define an order in which the 'next' functions will be called during evaluation of arguments.
General Analysis

lib_objs

checkstl.cpp:100 Medium V681 CWE-758 The language standard does not define an order in which the 'next' functions will be called during evaluation of arguments.
General Analysis

lib_objs

checkstl.cpp:581 Medium V614 CWE-457 Potentially uninitialized variable 'operandPosition' used.
General Analysis

lib_objs

checkuninitvar.cpp:931 Medium V560 CWE-571 A part of conditional expression is always true: pointer.
General Analysis

lib_objs

symboldatabase.cpp:208 Medium V1004 CWE-476 The 'new_scope->definedType' pointer was used unsafely after it was verified against nullptr. Check lines: 206, 208.
General Analysis

lib_objs

symboldatabase.cpp:578 Medium V1004 CWE-476 The 'scope->definedType' pointer was used unsafely after it was verified against nullptr. Check lines: 575, 578.
General Analysis

lib_objs

templatesimplifier.cpp:2612 Medium V560 CWE-570 A part of conditional expression is always false: !specialized.
General Analysis

lib_objs

templatesimplifier.cpp:245 Medium V1004 CWE-476 The 'tok' pointer was used unsafely after it was verified against nullptr. Check lines: 242, 245.
General Analysis

lib_objs

templatesimplifier.cpp:2582 Medium V560 CWE-570 A part of conditional expression is always false: !specialized.
General Analysis

lib_objs

templatesimplifier.cpp:380 Medium V560 CWE-571 A part of conditional expression is always true: tok.
General Analysis

cli_objs (...)

templatesimplifier.h:71 Medium V690 The 'TokenAndName' class implements a copy constructor, but lacks the '=' operator. It is dangerous to use such a class.
General Analysis

lib_objs

tokenize.cpp:11084 Medium V523 CWE-691 The 'then' statement is equivalent to the 'else' statement.
General Analysis

lib_objs

tokenize.cpp:654 Medium V1004 CWE-476 The 'tokOffset' pointer was used unsafely after it was verified against nullptr. Check lines: 650, 654.
General Analysis

lib_objs

tokenize.cpp:886 Medium V1004 CWE-476 The 'argEnd' pointer was used unsafely after it was verified against nullptr. Check lines: 883, 886.
General Analysis

lib_objs

tokenize.cpp:2063 Medium V1004 CWE-476 The 'type' pointer was used unsafely after it was verified against nullptr. Check lines: 2059, 2063.
General Analysis

lib_objs

tokenize.cpp:900 Medium V1004 CWE-476 The 'tok' pointer was used unsafely after it was verified against nullptr. Check lines: 897, 900.
General Analysis

lib_objs

tokenize.cpp:936 Medium V1004 CWE-476 The 'argFuncRetEnd' pointer was used unsafely after it was verified against nullptr. Check lines: 933, 936.
General Analysis

lib_objs

tokenize.cpp:954 Medium V1004 CWE-476 The 'argFuncRetStart' pointer was used unsafely after it was verified against nullptr. Check lines: 951, 954.
General Analysis

lib_objs

tokenize.cpp:3062 Medium V1004 CWE-476 The 'tok' pointer was used unsafely after it was verified against nullptr. Check lines: 3052, 3062.
General Analysis

lib_objs

tokenize.cpp:991 Medium V1004 CWE-476 The 'arrayEnd' pointer was used unsafely after it was verified against nullptr. Check lines: 988, 991.
General Analysis

lib_objs

tokenize.cpp:5437 Medium V1004 CWE-476 The 'tokEndNextNext' pointer was used unsafely after it was verified against nullptr. Check lines: 5435, 5437.
General Analysis

lib_objs

tokenize.cpp:1895 Medium V547 CWE-570 Expression 'isVariable' is always false.
General Analysis

lib_objs

tokenize.cpp:1374 Medium V1004 CWE-476 The 'tok2' pointer was used unsafely after it was verified against nullptr. Check lines: 1371, 1374.
General Analysis

lib_objs

tokenize.cpp:5482 Medium V1004 CWE-476 The 'tokEnd' pointer was used unsafely after it was verified against nullptr. Check lines: 5479, 5482.
General Analysis

lib_objs

tokenize.cpp:5464 Medium V1004 CWE-476 The 'tokAfterCondition' pointer was used unsafely after it was verified against nullptr. Check lines: 5461, 5464.
General Analysis

lib_objs

tokenize.cpp:6363 Medium V1004 CWE-476 The 'tok' pointer was used unsafely after it was verified against nullptr. Check lines: 6361, 6363.
General Analysis

lib_objs

tokenize.cpp:6519 Medium V1004 CWE-476 The 'tok2' pointer was used unsafely after it was verified against nullptr. Check lines: 6517, 6519.
General Analysis

lib_objs

tokenize.cpp:6256 Medium V1004 CWE-476 The 'tok' pointer was used unsafely after it was verified against nullptr. Check lines: 6236, 6256.
General Analysis

lib_objs

valueflow.cpp:5331 Medium V681 CWE-758 The language standard does not define an order in which the 'next' functions will be called during evaluation of arguments.
General Analysis

lib_objs

valueflow.cpp:2104 Medium V681 CWE-758 The language standard does not define an order in which the 'next' functions will be called during evaluation of arguments.
General Analysis

lib_objs

valueflow.cpp:1470 Medium V779 CWE-561 Unreachable code detected. It is possible that an error is present.
General Analysis

lib_objs

valueflow.cpp:995 Medium V601 CWE-704 The bool type is implicitly cast to the class type.
General Analysis

cli_objs (...)

valueflow.h:65 Medium V1037 Two or more case-branches perform the same actions. Check lines: 65, 84, 88
General Analysis

lib_objs

picojson.h:377 Low V550 CWE-682 An odd precise comparison: modf(u_.number_, & tmp) == 0. It's probably better to use a comparison with defined precision: fabs(A - B) < Epsilon.
General Analysis

lib_objs

picojson.h:318 Low V550 CWE-682 An odd precise comparison: u_.number_ != 0. It's probably better to use a comparison with defined precision: fabs(A - B) > Epsilon.
General Analysis

simplecpp_objs

simplecpp.cpp:1702 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'lastToken'.
General Analysis

simplecpp_objs

simplecpp.cpp:2435 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'htok'.
General Analysis

simplecpp_objs

simplecpp.cpp:589 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'cback()'.
General Analysis

simplecpp_objs

simplecpp.cpp:757 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'tok->next'.
General Analysis

simplecpp_objs

simplecpp.cpp:1693 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'tok4'.
General Analysis

simplecpp_objs

simplecpp.cpp:2687 Low V783 CWE-119 Dereferencing of the invalid iterator 'filedata.find(header2)' might take place.
General Analysis

simplecpp_objs

simplecpp.cpp:1693 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'tok3'.
General Analysis

tinyxml_objs

tinyxml2.cpp:594 Low V522 CWE-628 Dereferencing of the null pointer 'str' might take place. The potential null pointer is passed into 'ToInt' function. Inspect the first argument. Check lines: 594, 1638.
General Analysis

tinyxml_objs

tinyxml2.cpp:844 Low V522 CWE-628 Dereferencing of the null pointer 'addThis' might take place. The potential null pointer is passed into 'InsertEndChild' function. Inspect the first argument. Check lines: 844, 2075.
General Analysis

tinyxml_objs

tinyxml2.cpp:629 Low V522 CWE-628 Dereferencing of the null pointer 'str' might take place. The potential null pointer is passed into 'ToFloat' function. Inspect the first argument. Check lines: 629, 1703.
General Analysis

tinyxml_objs

tinyxml2.cpp:638 Low V522 CWE-628 Dereferencing of the null pointer 'str' might take place. The potential null pointer is passed into 'ToDouble' function. Inspect the first argument. Check lines: 638, 1690.
General Analysis

tinyxml_objs

tinyxml2.cpp:594 Low V522 CWE-628 Dereferencing of the null pointer 'str' might take place. The potential null pointer is passed into 'ToBool' function. Inspect the first argument. Check lines: 594, 611, 1677.
General Analysis

tinyxml_objs

tinyxml2.cpp:648 Low V522 CWE-628 Dereferencing of the null pointer 'str' might take place. The potential null pointer is passed into 'ToInt64' function. Inspect the first argument. Check lines: 648, 1664.
General Analysis

tinyxml_objs

tinyxml2.cpp:602 Low V522 CWE-628 Dereferencing of the null pointer 'str' might take place. The potential null pointer is passed into 'ToUnsigned' function. Inspect the first argument. Check lines: 602, 1651.
General Analysis

tinyxml_objs

tinyxml2.cpp:1136 Low V666 CWE-805 Consider inspecting third argument of the function 'ParseText'. It is possible that the value does not correspond with the length of a string which was passed with the second argument.
General Analysis

lib_objs

tinyxml2.h:380 Low V547 CWE-571 Expression 'result != 0' is always true.
General Analysis

lib_objs

astutils.cpp:391 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'varTok1'.
General Analysis

lib_objs

astutils.cpp:396 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'varTok2'.
General Analysis

lib_objs

astutils.cpp:871 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'tok'.
General Analysis

lib_objs

astutils.cpp:839 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'parent'.
General Analysis

lib_objs

astutils.cpp:778 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'prev'.
General Analysis

lib_objs

astutils.cpp:612 Low V537 CWE-682 Consider reviewing the correctness of 'value1' item's usage.
General Analysis

lib_objs

checkbufferoverrun.cpp:588 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'argtok'.
General Analysis

lib_objs

checkclass.cpp:1195 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'tok->variable()->typeScope()'.
General Analysis

lib_objs

checkclass.cpp:2320 Low V783 CWE-119 Dereferencing of the invalid iterator 'virtualFunctionCallsMap.find(& function)' might take place.
General Analysis

lib_objs

checkclass.cpp:1184 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'typeTok'.
General Analysis

lib_objs

checkio.cpp:956 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'argListTok'.
General Analysis

lib_objs

checkio.cpp:463 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'argTok'.
General Analysis

lib_objs

checkio.cpp:261 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'fileTok'.
General Analysis

lib_objs

checkio.cpp:1504 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'tok1'.
General Analysis

lib_objs

checkio.cpp:629 Low V783 CWE-119 Dereferencing of the invalid iterator 'i' might take place.
General Analysis

lib_objs

checkio.cpp:908 Low V783 CWE-119 Dereferencing of the invalid iterator 'i ++' might take place.
General Analysis

lib_objs

checknullpointer.cpp:116 Low V783 CWE-119 Dereferencing of the invalid iterator 'i' might take place.
General Analysis

lib_objs

checkother.cpp:2678 Low V656 Variables 'declarations', 'definitions' are initialized through the call to the same function. It's probably an error or un-optimized code. Consider inspecting the 'function->argCount()' expression. Check lines: 2677, 2678.
General Analysis

lib_objs

checkother.cpp:2705 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'decl'.
General Analysis

lib_objs

checkother.cpp:1833 Low V537 CWE-682 Consider reviewing the correctness of 'astOperand1' item's usage.
General Analysis

lib_objs

checkother.cpp:1518 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'value'.
General Analysis

lib_objs

checkother.cpp:340 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'toTok'.
General Analysis

lib_objs

checksizeof.cpp:179 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'variable2'.
General Analysis

lib_objs

checksizeof.cpp:206 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'tokSize'.
General Analysis

lib_objs

checkstl.cpp:664 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'argtok'.
General Analysis

lib_objs

checkstl.cpp:1304 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'startTok'.
General Analysis

lib_objs

checkstl.cpp:1208 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'funcTok'.
General Analysis

lib_objs

checkstl.cpp:984 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'function'.
General Analysis

lib_objs

checktype.cpp:317 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'tok'.
General Analysis

lib_objs

checkuninitvar.cpp:1189 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'ftok'.
General Analysis

lib_objs

checkuninitvar.cpp:423 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'vartok'.
General Analysis

lib_objs

checkunusedfunctions.cpp:213 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'funcname'.
General Analysis

lib_objs

checkunusedvar.cpp:920 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'tok'.
General Analysis

lib_objs

checkunusedvar.cpp:773 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'skipBrackets(tok)'.
General Analysis

lib_objs

checkvaarg.cpp:72 Low V783 CWE-119 Dereferencing of the invalid iterator 'it' might take place.
General Analysis

lib_objs

errorlogger.cpp:197 Low V656 Variables 'mShortMessage', 'mVerboseMessage' are initialized through the call to the same function. It's probably an error or un-optimized code. Consider inspecting the 'replaceStr(msg, "$symbol", symbolName)' expression. Check lines: 196, 197.
General Analysis

lib_objs

mathlib.cpp:721 Low V1037 Two or more case-branches perform the same actions. Check lines: 721, 723
General Analysis

lib_objs

platform.cpp:74 Low V525 CWE-682 The code contains the collection of similar blocks. Check items '4', '4', '4', '8' in lines 74, 94, 114, 134.
General Analysis

lib_objs

preprocessor.cpp:204 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'next2'.
General Analysis

lib_objs

settings.cpp:115 Low V1037 Two or more case-branches perform the same actions. Check lines: 115, 117
General Analysis

lib_objs

symboldatabase.cpp:3326 Low V1037 Two or more case-branches perform the same actions. Check lines: 3326, 3328
General Analysis

lib_objs

symboldatabase.cpp:1441 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'tok1'.
General Analysis

lib_objs

symboldatabase.cpp:4298 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'argtok'.
General Analysis

lib_objs

symboldatabase.cpp:4096 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'funcarg'.
General Analysis

lib_objs

symboldatabase.cpp:4017 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'valuetype->typeScope'.
General Analysis

lib_objs

symboldatabase.cpp:3597 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'localVarTok'.
General Analysis

lib_objs

symboldatabase.cpp:3560 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'check'.
General Analysis

lib_objs

symboldatabase.cpp:1689 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'declEnd'.
General Analysis

lib_objs

symboldatabase.cpp:1659 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'lib'.
General Analysis

lib_objs

symboldatabase.cpp:1622 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'tok'.
General Analysis

lib_objs

symboldatabase.cpp:1458 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'tok2'.
General Analysis

lib_objs

symboldatabase.cpp:5041 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'typeStart'.
General Analysis

lib_objs

symboldatabase.cpp:1156 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'var->typeScope()'.
General Analysis

lib_objs

symboldatabase.cpp:1149 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'tok2'.
General Analysis

lib_objs

symboldatabase.cpp:974 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'var->typeScope()'.
General Analysis

lib_objs

symboldatabase.cpp:149 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'tok2'.
General Analysis

lib_objs

symboldatabase.cpp:73 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'tok'.
General Analysis

lib_objs

symboldatabase.cpp:4421 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'var->typeScope()'.
General Analysis

lib_objs

symboldatabase.cpp:4906 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'vt2'.
General Analysis

lib_objs

templatesimplifier.cpp:1977 Low V525 CWE-682 The code contains the collection of similar blocks. Check items 'deleteNext', 'deleteThis', 'deleteNext' in lines 1977, 1978, 1979.
General Analysis

lib_objs

templatesimplifier.cpp:1988 Low V525 CWE-682 The code contains the collection of similar blocks. Check items 'deleteNext', 'deleteThis', 'deleteNext' in lines 1988, 1989, 1990.
General Analysis

lib_objs

templatesimplifier.cpp:2134 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'tok'.
General Analysis

lib_objs

templatesimplifier.cpp:1597 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'tok5'.
General Analysis

lib_objs

templatesimplifier.cpp:1526 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'start'.
General Analysis

lib_objs

templatesimplifier.cpp:1265 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'tok'.
General Analysis

lib_objs

templatesimplifier.cpp:1240 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'tok'.
General Analysis

lib_objs

templatesimplifier.cpp:704 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'tok'.
General Analysis

lib_objs

token.cpp:730 Low V783 CWE-119 Dereferencing of the invalid iterator 'it' might take place.
General Analysis

lib_objs

token.cpp:586 Low V526 The 'strncmp' function returns 0 if corresponding strings are equal. Consider examining the condition for mistakes.
General Analysis

lib_objs

token.cpp:772 Low V783 CWE-119 Dereferencing of the invalid iterator 'it' might take place.
General Analysis

lib_objs

tokenize.cpp:6238 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'tok2'.
General Analysis

lib_objs

tokenize.cpp:807 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'tokOffset2'.
General Analysis

lib_objs

tokenize.cpp:10329 Low V525 CWE-682 The code contains the collection of similar blocks. Check items 'deleteNext', 'deleteThis', 'deleteNext' in lines 10329, 10330, 10331.
General Analysis

lib_objs

tokenize.cpp:10335 Low V525 CWE-682 The code contains the collection of similar blocks. Check items 'deleteNext', 'deleteThis', 'deleteNext' in lines 10335, 10336, 10337.
General Analysis

lib_objs

tokenize.cpp:4024 Low V525 CWE-682 The code contains the collection of similar blocks. Check items 'deleteNext', 'deleteThis', 'deleteNext' in lines 4024, 4025, 4026.
General Analysis

lib_objs

tokenize.cpp:3999 Low V525 CWE-682 The code contains the collection of similar blocks. Check items 'deleteNext', 'deleteThis', 'deleteNext' in lines 3999, 4000, 4001.
General Analysis

lib_objs

tokenize.cpp:3987 Low V525 CWE-682 The code contains the collection of similar blocks. Check items 'deleteNext', 'deleteThis', 'deleteNext' in lines 3987, 3988, 3989.
General Analysis

lib_objs

tokenize.cpp:2428 Low V525 CWE-682 The code contains the collection of similar blocks. Check items 'deleteThis', 'deleteThis', 'deleteNext' in lines 2428, 2429, 2430.
General Analysis

lib_objs

tokenize.cpp:9905 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'endasm'.
General Analysis

lib_objs

tokenize.cpp:9865 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'tok2'.
General Analysis

lib_objs

tokenize.cpp:9085 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'prev'.
General Analysis

lib_objs

tokenize.cpp:6725 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'tok2'.
General Analysis

lib_objs

tokenize.cpp:6488 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'varName'.
General Analysis

lib_objs

tokenize.cpp:6424 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'tok2'.
General Analysis

lib_objs

tokenize.cpp:5889 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'tok2'.
General Analysis

lib_objs

tokenize.cpp:4948 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'tok3'.
General Analysis

lib_objs

tokenize.cpp:4918 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'tok2'.
General Analysis

lib_objs

tokenize.cpp:4847 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'start'.
General Analysis

lib_objs

tokenize.cpp:4070 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'nametok'.
General Analysis

lib_objs

tokenize.cpp:2751 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'tok'.
General Analysis

lib_objs

tokenize.cpp:2047 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'type'.
General Analysis

lib_objs

tokenize.cpp:1811 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'tok2'.
General Analysis

lib_objs

tokenize.cpp:1792 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'tok1'.
General Analysis

lib_objs

tokenize.cpp:1487 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'tok4'.
General Analysis

lib_objs

tokenize.cpp:1359 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'namespaceEnd'.
General Analysis

lib_objs

tokenize.cpp:111 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'tok'.
General Analysis

lib_objs

tokenlist.cpp:591 Low V601 CWE-704 The 'true' value is implicitly cast to the integer type.
General Analysis

lib_objs

valueflow.cpp:5027 Low V1037 Two or more case-branches perform the same actions. Check lines: 5027, 5029
General Analysis

lib_objs

valueflow.cpp:2022 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'start1'.
General Analysis

lib_objs

valueflow.cpp:3796 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'startTokens[i]'.
General Analysis

lib_objs

valueflow.cpp:4778 Low V522 CWE-690 There might be dereferencing of a potential null pointer 'partok'.
General Analysis

lib_objs

valueflow.cpp:1496 Low V783 CWE-119 Dereferencing of the invalid iterator 'var' might take place.
Micro-optimizations

lib_objs

astutils.cpp:1243 High V817 It is more efficient to seek '<' character rather than a string.
Micro-optimizations

lib_objs

checkunusedvar.cpp:1258 High V817 It is more efficient to seek '<' character rather than a string.
Micro-optimizations

lib_objs

cppcheck.cpp:601 High V817 It is more efficient to seek ']' character rather than a string.
Micro-optimizations

lib_objs

cppcheck.cpp:581 High V817 It is more efficient to seek '\n' character rather than a string.
Micro-optimizations

lib_objs

cppcheck.cpp:613 High V817 It is more efficient to seek ')' character rather than a string.
Micro-optimizations

lib_objs

templatesimplifier.cpp:1301 High V817 It is more efficient to seek ' ' character rather than a string.
Micro-optimizations

lib_objs

templatesimplifier.cpp:839 High V808 'scopeName1' object of 'basic_string' type was created but was not utilized.
Micro-optimizations

cli_objs

cmdlineparser.cpp:233 Medium V812 Decreased performance. Ineffective use of the 'count' function. It can possibly be replaced by the call to the 'find' function.
Micro-optimizations

cli_objs

cmdlineparser.cpp:561 Medium V815 Decreased performance. Consider replacing the expression 'platform == ""' with 'platform.empty()'.
Micro-optimizations

lib_objs

astutils.cpp:260 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'expr->function()' expression repeatedly.
Micro-optimizations

lib_objs

checkautovariables.cpp:604 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->variable()' expression repeatedly.
Micro-optimizations

lib_objs

checkautovariables.cpp:472 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->variable()' expression repeatedly.
Micro-optimizations

lib_objs

checkautovariables.cpp:645 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->scope()' expression repeatedly.
Micro-optimizations

lib_objs

checkclass.cpp:1191 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->variable()' expression repeatedly.
Micro-optimizations

lib_objs

checkcondition.cpp:1010 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->astOperand2()' expression repeatedly.
Micro-optimizations

lib_objs

checkfunctions.cpp:130 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'argtok->next()' expression repeatedly.
Micro-optimizations

lib_objs

checkio.cpp:468 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'argTok->variable()' expression repeatedly.
Micro-optimizations

lib_objs

checkio.cpp:474 Medium V807 Decreased performance. Consider creating a reference to avoid using the 'argTok->values()' expression repeatedly.
Micro-optimizations

lib_objs

checkleakautovar.cpp:711 Medium V807 Decreased performance. Consider creating a reference to avoid using the 'var->second' expression repeatedly.
Micro-optimizations

lib_objs

checkleakautovar.cpp:840 Medium V807 Decreased performance. Consider creating a reference to avoid using the 'it->second' expression repeatedly.
Micro-optimizations

lib_objs

checkmemoryleak.cpp:547 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->next()' expression repeatedly.
Micro-optimizations

lib_objs

checkother.cpp:1842 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->astOperand2()' expression repeatedly.
Micro-optimizations

lib_objs

checkother.cpp:1573 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->next()' expression repeatedly.
Micro-optimizations

lib_objs

checkother.cpp:455 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->astOperand1()' expression repeatedly.
Micro-optimizations

lib_objs

checkstl.cpp:157 Medium V820 The 'errorPath1' variable is not used after copying. Copying can be replaced with move/swap for optimization.
Micro-optimizations

lib_objs

checkstl.cpp:1192 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->variable()' expression repeatedly.
Micro-optimizations

lib_objs

checkuninitvar.cpp:1060 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'vartok->next()' expression repeatedly.
Micro-optimizations

lib_objs

checkuninitvar.cpp:994 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'vartok->previous()' expression repeatedly.
Micro-optimizations

lib_objs

checkuninitvar.cpp:1239 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->astParent()' expression repeatedly.
Micro-optimizations

lib_objs

checkuninitvar.cpp:690 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'var.typeStartToken()' expression repeatedly.
Micro-optimizations

lib_objs

ctu.cpp:305 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->astOperand1()' expression repeatedly.
Micro-optimizations

lib_objs

ctu.cpp:335 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'argtok->variable()' expression repeatedly.
Micro-optimizations

lib_objs

ctu.cpp:349 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'argtok->astOperand1()' expression repeatedly.
Micro-optimizations

lib_objs

importproject.cpp:541 Medium V820 The 'path' variable is not used after copying. Copying can be replaced with move/swap for optimization.
Micro-optimizations

lib_objs

library.cpp:972 Medium V807 Decreased performance. Consider creating a reference to avoid using the 'it1->second.argumentChecks' expression repeatedly.
Micro-optimizations

lib_objs

path.cpp:75 Medium V813 Decreased performance. The 'originalPath' argument should probably be rendered as a constant reference.
Micro-optimizations

lib_objs

symboldatabase.cpp:4136 Medium V807 Decreased performance. Consider creating a reference to avoid using the 'arguments[j]->str()' expression repeatedly.
Micro-optimizations

lib_objs

symboldatabase.cpp:3977 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'funcarg->typeStartToken()' expression repeatedly.
Micro-optimizations

lib_objs

symboldatabase.cpp:1352 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->link()' expression repeatedly.
Micro-optimizations

lib_objs

symboldatabase.cpp:3977 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'callarg->typeStartToken()' expression repeatedly.
Micro-optimizations

lib_objs

symboldatabase.cpp:2937 Medium V807 Decreased performance. Consider creating a reference to avoid using the 'scope->varlist' expression repeatedly.
Micro-optimizations

lib_objs

symboldatabase.cpp:1906 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'second->next()' expression repeatedly.
Micro-optimizations

lib_objs

symboldatabase.cpp:5188 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'type->type()' expression repeatedly.
Micro-optimizations

lib_objs

symboldatabase.cpp:1114 Medium V807 Decreased performance. Consider creating a reference to avoid using the 'varId->second' expression repeatedly.
Micro-optimizations

lib_objs

symboldatabase.cpp:2815 Medium V807 Decreased performance. Consider creating a reference to avoid using the 'scope->nestedList' expression repeatedly.
Micro-optimizations

lib_objs

symboldatabase.cpp:2016 Medium V820 The 'short_path' variable is not used after copying. Copying can be replaced with move/swap for optimization.
Micro-optimizations

lib_objs

symboldatabase.cpp:2937 Medium V807 Decreased performance. Consider creating a reference to avoid using the 'scope->functionList' expression repeatedly.
Micro-optimizations

lib_objs

symboldatabase.h:54 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

lib_objs

templatesimplifier.cpp:1441 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'dst->previous()' expression repeatedly.
Micro-optimizations

lib_objs

timer.cpp:55 Medium V807 Decreased performance. Consider creating a reference to avoid using the 'iter->second' expression repeatedly.
Micro-optimizations

lib_objs

tokenize.cpp:9599 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->next()->link()' expression repeatedly.
Micro-optimizations

lib_objs

tokenize.cpp:1959 Medium V820 The 'name' variable is not used after copying. Copying can be replaced with move/swap for optimization.
Micro-optimizations

lib_objs

tokenize.cpp:7056 Medium V803 Decreased performance. In case 'constantVar' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator.
Micro-optimizations

lib_objs

tokenize.cpp:9182 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'list.back()' expression repeatedly.
Micro-optimizations

lib_objs

tokenize.cpp:10335 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->next()' expression repeatedly.
Micro-optimizations

lib_objs

tokenize.cpp:7351 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'tok3->previous()' expression repeatedly.
Micro-optimizations

lib_objs

tokenize.cpp:9378 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'end->previous()' expression repeatedly.
Micro-optimizations

lib_objs

tokenize.cpp:10198 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->previous()' expression repeatedly.
Micro-optimizations

lib_objs

valueflow.cpp:3056 Medium V820 The 'er' variable is not used after copying. Copying can be replaced with move/swap for optimization.
Micro-optimizations

lib_objs

valueflow.cpp:2879 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->astParent()' expression repeatedly.
Micro-optimizations

lib_objs

valueflow.cpp:2311 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'tok2->next()' expression repeatedly.
Micro-optimizations

lib_objs

valueflow.cpp:1044 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->astParent()' expression repeatedly.
Micro-optimizations

lib_objs

valueflow.cpp:929 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'sz1->variable()' expression repeatedly.
Micro-optimizations

lib_objs

valueflow.cpp:3030 Medium V820 The 'er' variable is not used after copying. Copying can be replaced with move/swap for optimization.
Micro-optimizations

lib_objs

valueflow.cpp:1400 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->astOperand1()->valueType()' expression repeatedly.
Micro-optimizations

lib_objs

valueflow.cpp:3082 Medium V820 The 'er' variable is not used after copying. Copying can be replaced with move/swap for optimization.
Micro-optimizations

lib_objs

valueflow.cpp:3353 Medium V820 The 'errorPath' variable is not used after copying. Copying can be replaced with move/swap for optimization.
Micro-optimizations

lib_objs

valueflow.cpp:3375 Medium V820 The 'errorPath' variable is not used after copying. Copying can be replaced with move/swap for optimization.
Micro-optimizations

lib_objs

valueflow.cpp:3405 Medium V820 The 'errorPath' variable is not used after copying. Copying can be replaced with move/swap for optimization.
Micro-optimizations

lib_objs

valueflow.cpp:4436 Medium V807 Decreased performance. Consider creating a reference to avoid using the 'values.back()' expression repeatedly.
Micro-optimizations

lib_objs

valueflow.cpp:1393 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->astOperand2()' expression repeatedly.
Micro-optimizations

simplecpp_objs

simplecpp.cpp:1629 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'temp.cback()' expression repeatedly.
Micro-optimizations

lib_objs

astutils.cpp:1409 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->astParent()' expression repeatedly.
Micro-optimizations

lib_objs

astutils.cpp:478 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok1->previous()' expression repeatedly.
Micro-optimizations

lib_objs

astutils.cpp:1357 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->variable()' expression repeatedly.
Micro-optimizations

lib_objs

astutils.cpp:1336 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->astOperand1()' expression repeatedly.
Micro-optimizations

lib_objs

astutils.cpp:1267 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'parent->astParent()' expression repeatedly.
Micro-optimizations

lib_objs

astutils.cpp:793 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'prev->previous()' expression repeatedly.
Micro-optimizations

lib_objs

astutils.cpp:443 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok1->function()' expression repeatedly.
Micro-optimizations

lib_objs

astutils.cpp:424 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok1->next()' expression repeatedly.
Micro-optimizations

lib_objs

astutils.cpp:778 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'prev->link()' expression repeatedly.
Micro-optimizations

lib_objs

astutils.cpp:1491 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->function()' expression repeatedly.
Micro-optimizations

lib_objs

checkbool.cpp:415 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->astOperand1()' expression repeatedly.
Micro-optimizations

lib_objs

checkbool.cpp:477 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->astOperand1()' expression repeatedly.
Micro-optimizations

lib_objs

checkbufferoverrun.cpp:502 Low V807 Decreased performance. Consider creating a reference to avoid using the 'var->dimensions()' expression repeatedly.
Micro-optimizations

lib_objs

checkbufferoverrun.cpp:194 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'array->variable()' expression repeatedly.
Micro-optimizations

lib_objs

checkbufferoverrun.cpp:758 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'argtok->astParent()' expression repeatedly.
Micro-optimizations

lib_objs

checkbufferoverrun.cpp:212 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'array->valueType()' expression repeatedly.
Micro-optimizations

lib_objs

checkclass.cpp:2231 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'vars[j].var' expression repeatedly.
Micro-optimizations

lib_objs

checkclass.cpp:2023 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'lhs->previous()' expression repeatedly.
Micro-optimizations

lib_objs

checkclass.cpp:1666 Low V807 Decreased performance. Consider creating a reference to avoid using the 'scope->definedType->derivedFrom[j]' expression repeatedly.
Micro-optimizations

lib_objs

checkclass.cpp:368 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'it->second' expression repeatedly.
Micro-optimizations

lib_objs

checkclass.cpp:168 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'var.type()' expression repeatedly.
Micro-optimizations

lib_objs

checkcondition.cpp:1349 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->variable()' expression repeatedly.
Micro-optimizations

lib_objs

checkcondition.cpp:1268 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->astOperand2()' expression repeatedly.
Micro-optimizations

lib_objs

checkcondition.cpp:1554 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->next()' expression repeatedly.
Micro-optimizations

lib_objs

checkfunctions.cpp:278 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->next()' expression repeatedly.
Micro-optimizations

lib_objs

checkio.cpp:1554 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'variableInfo->typeStartToken()' expression repeatedly.
Micro-optimizations

lib_objs

checkio.cpp:1511 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'variableInfo->type()' expression repeatedly.
Micro-optimizations

lib_objs

checkio.cpp:1456 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok1->next()' expression repeatedly.
Micro-optimizations

lib_objs

checkio.cpp:150 Low V807 Decreased performance. Consider creating a reference to avoid using the 'i->second' expression repeatedly.
Micro-optimizations

lib_objs

checkmemoryleak.cpp:143 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok2->astOperand1()' expression repeatedly.
Micro-optimizations

lib_objs

checknullpointer.cpp:186 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'parent->astParent()' expression repeatedly.
Micro-optimizations

lib_objs

checkother.cpp:1895 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->astOperand1()' expression repeatedly.
Micro-optimizations

lib_objs

checkother.cpp:1838 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'var1->valueType()' expression repeatedly.
Micro-optimizations

lib_objs

checkother.cpp:2832 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->astParent()' expression repeatedly.
Micro-optimizations

lib_objs

checkother.cpp:1796 Low V807 Decreased performance. Consider creating a reference to avoid using the 'it->second' expression repeatedly.
Micro-optimizations

lib_objs

checkother.cpp:1838 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'var2->valueType()' expression repeatedly.
Micro-optimizations

lib_objs

checkother.cpp:1277 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->variable()' expression repeatedly.
Micro-optimizations

lib_objs

checkother.cpp:1491 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->astOperand1()' expression repeatedly.
Micro-optimizations

lib_objs

checkother.cpp:158 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->astOperand1()' expression repeatedly.
Micro-optimizations

lib_objs

checkother.cpp:436 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->previous()' expression repeatedly.
Micro-optimizations

lib_objs

checkother.cpp:2875 Low V807 Decreased performance. Consider creating a reference to avoid using the 'tok->values()' expression repeatedly.
Micro-optimizations

lib_objs

checkother.cpp:1133 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'var->scope()' expression repeatedly.
Micro-optimizations

lib_objs

checkother.cpp:2061 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->astOperand2()' expression repeatedly.
Micro-optimizations

lib_objs

checkother.cpp:2060 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->astOperand1()' expression repeatedly.
Micro-optimizations

lib_objs

checkstl.cpp:98 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->next()' expression repeatedly.
Micro-optimizations

lib_objs

checkstl.cpp:2189 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->next()' expression repeatedly.
Micro-optimizations

lib_objs

checkstl.cpp:2145 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->astOperand2()' expression repeatedly.
Micro-optimizations

lib_objs

checkstl.cpp:98 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->next()->astOperand2()' expression repeatedly.
Micro-optimizations

lib_objs

checkstl.cpp:2145 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->astOperand1()' expression repeatedly.
Micro-optimizations

lib_objs

checkstl.cpp:1627 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->next()' expression repeatedly.
Micro-optimizations

lib_objs

checkstl.cpp:1805 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->tokAt(4)' expression repeatedly.
Micro-optimizations

lib_objs

checkstl.cpp:1346 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->next()' expression repeatedly.
Micro-optimizations

lib_objs

checkstl.cpp:1314 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'top->astOperand1()' expression repeatedly.
Micro-optimizations

lib_objs

checkstl.cpp:789 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->next()' expression repeatedly.
Micro-optimizations

lib_objs

checkstl.cpp:767 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'var->nameToken()' expression repeatedly.
Micro-optimizations

lib_objs

checkstl.cpp:1415 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->previous()' expression repeatedly.
Micro-optimizations

lib_objs

checkstring.cpp:265 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->astOperand2()' expression repeatedly.
Micro-optimizations

lib_objs

checkuninitvar.cpp:110 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'var.nameToken()' expression repeatedly.
Micro-optimizations

lib_objs

checkuninitvar.cpp:408 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->next()' expression repeatedly.
Micro-optimizations

lib_objs

checkuninitvar.cpp:172 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'arg.typeStartToken()' expression repeatedly.
Micro-optimizations

lib_objs

checkuninitvar.cpp:1104 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'vartok->variable()' expression repeatedly.
Micro-optimizations

lib_objs

checkunusedvar.cpp:1050 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->next()' expression repeatedly.
Micro-optimizations

lib_objs

checkunusedvar.cpp:648 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'i->nameToken()->previous()' expression repeatedly.
Micro-optimizations

lib_objs

checkunusedvar.cpp:648 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'i->nameToken()' expression repeatedly.
Micro-optimizations

lib_objs

checkunusedvar.cpp:1142 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->astOperand1()->variable()' expression repeatedly.
Micro-optimizations

lib_objs

checkunusedvar.cpp:1142 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->astOperand1()' expression repeatedly.
Micro-optimizations

lib_objs

errorlogger.cpp:487 Low V807 Decreased performance. Consider creating a reference to avoid using the '_callStack.back()' expression repeatedly.
Micro-optimizations

lib_objs

library.cpp:1088 Low V807 Decreased performance. Consider creating a reference to avoid using the 'it2->second' expression repeatedly.
Micro-optimizations

lib_objs

symboldatabase.cpp:2642 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'var->type()' expression repeatedly.
Micro-optimizations

lib_objs

symboldatabase.cpp:2864 Low V807 Decreased performance. Consider creating a reference to avoid using the 'type->derivedFrom' expression repeatedly.
Micro-optimizations

lib_objs

symboldatabase.cpp:4967 Low V821 Decreased performance. The 'vt' variable can be constructed in a lower level scope.
Micro-optimizations

lib_objs

symboldatabase.cpp:2887 Low V807 Decreased performance. Consider creating a reference to avoid using the 'type->friendList' expression repeatedly.
Micro-optimizations

lib_objs

symboldatabase.cpp:2093 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'argStart->link()' expression repeatedly.
Micro-optimizations

lib_objs

symboldatabase.cpp:1906 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'first->next()' expression repeatedly.
Micro-optimizations

lib_objs

symboldatabase.cpp:1783 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'argDef->link()' expression repeatedly.
Micro-optimizations

lib_objs

symboldatabase.cpp:1297 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'dimension.tok->valueType()' expression repeatedly.
Micro-optimizations

lib_objs

symboldatabase.cpp:4098 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'callarg->typeStartToken()' expression repeatedly.
Micro-optimizations

lib_objs

symboldatabase.cpp:4098 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'funcarg->typeStartToken()' expression repeatedly.
Micro-optimizations

lib_objs

symboldatabase.cpp:1184 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->function()' expression repeatedly.
Micro-optimizations

lib_objs

symboldatabase.cpp:4808 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'type->type()' expression repeatedly.
Micro-optimizations

lib_objs

symboldatabase.cpp:2381 Low V821 Decreased performance. The 'errmsg' variable can be constructed in a lower level scope.
Micro-optimizations

lib_objs

symboldatabase.cpp:4981 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'parent->astOperand2()' expression repeatedly.
Micro-optimizations

lib_objs

symboldatabase.cpp:1183 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->next()->link()->next()' expression repeatedly.
Micro-optimizations

lib_objs

symboldatabase.cpp:5265 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->valueType()' expression repeatedly.
Micro-optimizations

lib_objs

symboldatabase.cpp:5375 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->previous()' expression repeatedly.
Micro-optimizations

lib_objs

symboldatabase.cpp:5421 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->astOperand1()->astOperand1()' expression repeatedly.
Micro-optimizations

lib_objs

symboldatabase.cpp:5426 Low V807 Decreased performance. Consider creating a reference to avoid using the 'it->second' expression repeatedly.
Micro-optimizations

lib_objs

symboldatabase.cpp:1114 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'membervar->nameToken()' expression repeatedly.
Micro-optimizations

lib_objs

symboldatabase.cpp:1050 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'func->functionScope' expression repeatedly.
Micro-optimizations

lib_objs

symboldatabase.cpp:967 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->next()' expression repeatedly.
Micro-optimizations

lib_objs

symboldatabase.cpp:155 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok2->next()' expression repeatedly.
Micro-optimizations

lib_objs

symboldatabase.cpp:5005 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'parent->astParent()' expression repeatedly.
Micro-optimizations

lib_objs

templatesimplifier.cpp:2022 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->previous()' expression repeatedly.
Micro-optimizations

lib_objs

tokenize.cpp:10591 Low V807 Decreased performance. Consider creating a reference to avoid using the 'classInfo.back()' expression repeatedly.
Micro-optimizations

lib_objs

tokenize.cpp:10387 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok2->previous()' expression repeatedly.
Micro-optimizations

lib_objs

tokenize.cpp:9884 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->next()' expression repeatedly.
Micro-optimizations

lib_objs

tokenize.cpp:6693 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->next()' expression repeatedly.
Micro-optimizations

lib_objs

tokenize.cpp:9655 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->previous()' expression repeatedly.
Micro-optimizations

lib_objs

tokenize.cpp:9848 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->next()' expression repeatedly.
Micro-optimizations

lib_objs

tokenize.cpp:245 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->previous()' expression repeatedly.
Micro-optimizations

lib_objs

tokenize.cpp:304 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->next()' expression repeatedly.
Micro-optimizations

lib_objs

tokenize.cpp:383 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'typeDef->next()' expression repeatedly.
Micro-optimizations

lib_objs

tokenize.cpp:861 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tokOffset->next()' expression repeatedly.
Micro-optimizations

lib_objs

tokenize.cpp:858 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tokOffset->link()' expression repeatedly.
Micro-optimizations

lib_objs

tokenize.cpp:1657 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'list.front()' expression repeatedly.
Micro-optimizations

lib_objs

tokenize.cpp:2463 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->next()' expression repeatedly.
Micro-optimizations

lib_objs

tokenize.cpp:3251 Low V807 Decreased performance. Consider creating a reference to avoid using the 'scopeStack.top()' expression repeatedly.
Micro-optimizations

lib_objs

tokenize.cpp:3850 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'token->previous()' expression repeatedly.
Micro-optimizations

lib_objs

tokenize.cpp:487 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok2->next()' expression repeatedly.
Micro-optimizations

lib_objs

tokenize.cpp:6260 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->link()' expression repeatedly.
Micro-optimizations

lib_objs

tokenize.cpp:6950 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->tokAt(2)' expression repeatedly.
Micro-optimizations

lib_objs

tokenize.cpp:7354 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'valueToken->next()' expression repeatedly.
Micro-optimizations

lib_objs

tokenize.cpp:7673 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok4->next()' expression repeatedly.
Micro-optimizations

lib_objs

tokenize.cpp:7678 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok4->tokAt(3)' expression repeatedly.
Micro-optimizations

lib_objs

tokenize.cpp:9605 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->next()->link()->next()' expression repeatedly.
Micro-optimizations

lib_objs

tokenize.cpp:7789 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->link()' expression repeatedly.
Micro-optimizations

lib_objs

tokenize.cpp:9569 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->next()' expression repeatedly.
Micro-optimizations

lib_objs

tokenize.cpp:9599 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->next()' expression repeatedly.
Micro-optimizations

lib_objs

tokenize.cpp:5928 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->next()->link()' expression repeatedly.
Micro-optimizations

lib_objs

tokenlist.cpp:1105 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->next()' expression repeatedly.
Micro-optimizations

lib_objs

tokenlist.cpp:397 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->previous()' expression repeatedly.
Micro-optimizations

lib_objs

tokenlist.cpp:1050 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->astParent()' expression repeatedly.
Micro-optimizations

lib_objs

valueflow.cpp:715 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->valueType()' expression repeatedly.
Micro-optimizations

lib_objs

valueflow.cpp:1516 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->next()' expression repeatedly.
Micro-optimizations

lib_objs

valueflow.cpp:946 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'var->type()' expression repeatedly.
Micro-optimizations

lib_objs

valueflow.cpp:1086 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->astParent()' expression repeatedly.
Micro-optimizations

lib_objs

valueflow.cpp:1101 Low V807 Decreased performance. Consider creating a reference to avoid using the 'tok->values()' expression repeatedly.
Micro-optimizations

lib_objs

valueflow.cpp:1475 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->variable()' expression repeatedly.
Micro-optimizations

lib_objs

valueflow.cpp:1479 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->valueType()' expression repeatedly.
Micro-optimizations

lib_objs

valueflow.cpp:1483 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->next()' expression repeatedly.
Micro-optimizations

lib_objs

valueflow.cpp:1508 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->variable()' expression repeatedly.
Micro-optimizations

lib_objs

valueflow.cpp:1512 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->valueType()' expression repeatedly.
Micro-optimizations

lib_objs

valueflow.cpp:1523 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->astParent()' expression repeatedly.
Micro-optimizations

lib_objs

valueflow.cpp:4109 Low V807 Decreased performance. Consider creating a reference to avoid using the 'expr->astOperand1()->values()' expression repeatedly.
Micro-optimizations

lib_objs

valueflow.cpp:1996 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok2->link()' expression repeatedly.
Micro-optimizations

lib_objs

valueflow.cpp:2827 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->astOperand1()' expression repeatedly.
Micro-optimizations

lib_objs

valueflow.cpp:2960 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->astTop()' expression repeatedly.
Micro-optimizations

lib_objs

valueflow.cpp:3033 Low V807 Decreased performance. Consider creating a reference to avoid using the 'tok->values()' expression repeatedly.
Micro-optimizations

lib_objs

valueflow.cpp:3059 Low V807 Decreased performance. Consider creating a reference to avoid using the 'tok->values()' expression repeatedly.
Micro-optimizations

lib_objs

valueflow.cpp:3285 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->scope()' expression repeatedly.
Micro-optimizations

lib_objs

valueflow.cpp:3644 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->astOperand1()' expression repeatedly.
Micro-optimizations

lib_objs

valueflow.cpp:3654 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->astOperand2()' expression repeatedly.
Micro-optimizations

lib_objs

valueflow.cpp:3987 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'expr->astOperand1()' expression repeatedly.
Micro-optimizations

lib_objs

valueflow.cpp:4181 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->next()->astOperand2()' expression repeatedly.
Micro-optimizations

lib_objs

valueflow.cpp:5052 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->next()' expression repeatedly.
Micro-optimizations

lib_objs

valueflow.cpp:5105 Low V807 Decreased performance. Consider creating a reference to avoid using the 'var->dimensions()' expression repeatedly.
Micro-optimizations

lib_objs

valueflow.cpp:5135 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->valueType()' expression repeatedly.
Micro-optimizations

lib_objs

valueflow.cpp:1773 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok->astOperand1()' expression repeatedly.
Micro-optimizations

lib_objs

valueflow.cpp:909 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tok2->type()' expression repeatedly.