Date: | 08/06/23 11:44:00 |
---|---|
PVS-Studio Version: | 7.25.72091.245 |
Total Warnings (GA): | 180 |
Total Warnings (OP): | 1 |
Total Warnings (64): | 11 |
Group | Projects | Location | Level | Code | CWE | Message |
---|---|---|---|---|---|---|
64-bit errors | UnRAR |
consio.cpp:86 | High | V220 | Suspicious sequence of types castings: memsize -> 32-bit integer -> memsize. The value being cast: 'wcslen(Msg)'. | |
64-bit errors | UnRAR |
crypt.cpp:99 | 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 | UnRAR |
encname.cpp:58 | Medium | V127 | An overflow of the 32-bit 'Length' variable is possible inside a long cycle which utilizes a memsize-type loop counter. | |
64-bit errors | UnRAR |
file.cpp:400 | Medium | V127 | An overflow of the 32-bit 'ReadSize' variable is possible inside a long cycle which utilizes a memsize-type loop counter. | |
64-bit errors | UnRAR |
file.cpp:402 | Medium | V127 | An overflow of the 32-bit 'TotalRead' variable is possible inside a long cycle which utilizes a memsize-type loop counter. | |
64-bit errors | UnRAR |
file.cpp:562 | Medium | V303 | The function 'SetFilePointer' is deprecated in the Win64 system. It is safer to use the 'SetFilePointerEx' function. | |
64-bit errors | UnRAR |
file.cpp:593 | Medium | V303 | The function 'SetFilePointer' is deprecated in the Win64 system. It is safer to use the 'SetFilePointerEx' function. | |
64-bit errors | UnRAR |
list.cpp:110 | Medium | V127 | An overflow of the 32-bit 'FileCount' variable is possible inside a long cycle which utilizes a memsize-type loop counter. | |
64-bit errors | UnRAR |
rdwrfn.cpp:108 | Medium | V127 | An overflow of the 32-bit 'TotalRead' variable is possible inside a long cycle which utilizes a memsize-type loop counter. | |
64-bit errors | UnRAR |
threadmisc.cpp:134 | 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 | UnRAR |
unpack.cpp:236 | Medium | V127 | An overflow of the 32-bit 'LengthCount[LengthTable[I] & 0xf]' variable is possible inside a long cycle which utilizes a memsize-type loop counter. | |
General Analysis | UnRAR |
arccmt.cpp:67 | Medium | V1051 | CWE-754 | Consider checking for misprints. It's possible that the 'UnpCmtLength' should be checked here. |
General Analysis | UnRAR |
archive.cpp:119 | Medium | V560 | CWE-571 | A part of conditional expression is always true: D[6] > 1. |
General Analysis | UnRAR |
archive.cpp:206 | Medium | V648 | CWE-783 | Priority of the '&&' operation is higher than that of the '||' operation. |
General Analysis | UnRAR |
archive.cpp:6 | Medium | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: CurHeaderType, ShortBlock, MarkHead, FileHead, SubBlockHead, SubHead, ... |
General Analysis | UnRAR |
arcread.cpp:816 | Medium | V1051 | CWE-754 | Consider checking for misprints. It's possible that the 'hd->FileAttr' should be checked here. |
General Analysis | UnRAR |
arcread.cpp:1432 | Medium | V648 | CWE-783 | Priority of the '&&' operation is higher than that of the '||' operation. |
General Analysis | UnRAR |
arcread.cpp:337 | Medium | V688 | The 'FileName' local variable possesses the same name as one of the class members, which can result in a confusion. | |
General Analysis | UnRAR |
arcread.cpp:857 | Medium | V688 | The 'FileName' local variable possesses the same name as one of the class members, which can result in a confusion. | |
General Analysis | UnRAR |
arcread.cpp:17 | Medium | V719 | The switch statement does not cover all values of the 'RARFORMAT' enum: RARFMT_FUTURE, RARFMT_NONE. | |
General Analysis | UnRAR |
arcread.cpp:334 | Low | V1051 | CWE-754 | Consider checking for misprints. It's possible that the 'hd->UnpSize' should be checked here. |
General Analysis | UnRAR |
arcread.cpp:1241 | Low | V601 | CWE-704 | The 'false' value is implicitly cast to the integer type. |
General Analysis | UnRAR |
arcread.cpp:1264 | Low | V601 | CWE-704 | The 'false' value is implicitly cast to the integer type. |
General Analysis | UnRAR |
arcread.cpp:399 | Low | V634 | CWE-783 | The priority of the '*' operation is higher than that of the '>>' operation. It's possible that parentheses should be used in the expression. |
General Analysis | UnRAR |
arcread.cpp:1288 | Low | V688 | The 'FileName' local variable possesses the same name as one of the class members, which can result in a confusion. | |
General Analysis | UnRAR |
blake2s.cpp:137 | High | V1040 | Possible typo in the spelling of a pre-defined macro name. The '_WIN_32' macro is similar to '_WIN32'. | |
General Analysis | UnRAR |
blake2s.hpp:41 | Medium | V730 | CWE-457 | It is possible that not all members of a class are initialized inside the constructor. Consider inspecting: ubuf, buflen, last_node. |
General Analysis | UnRAR |
blake2sp.cpp:107 | High | V595 | CWE-476 | The 'S->ThPool' pointer was utilized before it was verified against nullptr. Check lines: 107, 116. |
General Analysis | UnRAR |
blake2s_sse.cpp:8 | High | V1040 | Possible typo in the spelling of a pre-defined macro name. The '_WIN_64' macro is similar to '_WIN64'. | |
General Analysis | UnRAR |
blake2s_sse.cpp:27 | High | V1040 | Possible typo in the spelling of a pre-defined macro name. The '_WIN_64' macro is similar to '_WIN64'. | |
General Analysis | UnRAR |
blake2s_sse.cpp:37 | High | V1040 | Possible typo in the spelling of a pre-defined macro name. The '_WIN_32' macro is similar to '_WIN32'. | |
General Analysis | UnRAR |
blake2s_sse.cpp:76 | High | V1040 | Possible typo in the spelling of a pre-defined macro name. The '_WIN_64' macro is similar to '_WIN64'. | |
General Analysis | UnRAR |
blake2s_sse.cpp:109 | Medium | V1032 | CWE-843 | The pointer 'block' is cast to a more strictly aligned pointer type. |
General Analysis | UnRAR |
blake2s_sse.cpp:40 | Low | V1003 | The macro 'mm_rotr_epi32' is a dangerous expression. The parameter 'c' must be surrounded by parentheses. | |
General Analysis | UnRAR |
blake2s_sse.cpp:43 | Low | V1003 | The macro 'mm_rotr_epi32' is a dangerous expression. The parameter 'c' must be surrounded by parentheses. | |
General Analysis | UnRAR |
cmdfilter.cpp:290 | Medium | V648 | CWE-783 | Priority of the '&&' operation is higher than that of the '||' operation. |
General Analysis | UnRAR |
cmdmix.cpp:19 | High | V1040 | Possible typo in the spelling of a pre-defined macro name. The '_WIN_32' macro is similar to '_WIN32'. | |
General Analysis | UnRAR |
cmdmix.cpp:19 | High | V1040 | Possible typo in the spelling of a pre-defined macro name. The '_WIN_64' macro is similar to '_WIN64'. | |
General Analysis | UnRAR |
cmdmix.cpp:22 | High | V1040 | Possible typo in the spelling of a pre-defined macro name. The '_WIN_32' macro is similar to '_WIN32'. | |
General Analysis | UnRAR |
cmdmix.cpp:25 | High | V1040 | Possible typo in the spelling of a pre-defined macro name. The '_WIN_64' macro is similar to '_WIN64'. | |
General Analysis | UnRAR |
coder.cpp:9 | Low | V688 | The 'UnpackRead' function argument possesses the same name as one of the class members, which can result in a confusion. | |
General Analysis | UnRAR |
consio.cpp:196 | Medium | V557 | CWE-787 | Array overrun is possible. The value of 'TrailRead' index could reach 126. |
General Analysis | UnRAR |
crypt.cpp:11 | Medium | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: SubstTable20, Key20, Key13, Key15. |
General Analysis | UnRAR |
crypt.cpp:114 | Low | V676 | CWE-253 | It is incorrect to compare the variable of BOOL type with TRUE. |
General Analysis | UnRAR |
crypt.cpp:46 | Low | V688 | The 'Method' function argument possesses the same name as one of the class members, which can result in a confusion. | |
General Analysis | UnRAR |
crypt.hpp:131 | Medium | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: Lg2Count, Salt, InitV, PswCheck. |
General Analysis | UnRAR |
crypt.hpp:155 | Low | V688 | The 'PswCheck' local variable possesses the same name as one of the class members, which can result in a confusion. | |
General Analysis | UnRAR |
crypt2.cpp:3 | Low | V1003 | The macro 'substLong' is a dangerous expression. The parameter 't' must be surrounded by parentheses. | |
General Analysis | UnRAR |
errhnd.cpp:239 | Low | V688 | The 'ExitCode' function argument possesses the same name as one of the class members, which can result in a confusion. | |
General Analysis | UnRAR |
extinfo.cpp:139 | High | V781 | CWE-20 | The value of the 'I' index is checked after it was used. Perhaps there is a mistake in program logic. |
General Analysis | UnRAR |
extract.cpp:1052 | Medium | V547 | CWE-571 | Expression '!RefMove' is always true. |
General Analysis | UnRAR |
extract.cpp:663 | Medium | V560 | CWE-571 | A part of conditional expression is always true: !UserReject. |
General Analysis | UnRAR |
extract.cpp:771 | Medium | V560 | CWE-571 | A part of conditional expression is always true: !SkipSolid. |
General Analysis | UnRAR |
extract.cpp:834 | Medium | V648 | CWE-783 | Priority of the '&&' operation is higher than that of the '||' operation. |
General Analysis | UnRAR |
extract.cpp:929 | Medium | V648 | CWE-783 | Priority of the '&&' operation is higher than that of the '||' operation. |
General Analysis | UnRAR |
extract.cpp:1473 | Medium | V688 | The 'ArcName' function argument possesses the same name as one of the class members, which can result in a confusion. | |
General Analysis | UnRAR |
extract.cpp:1498 | Medium | V688 | The 'FirstFile' local variable possesses the same name as one of the class members, which can result in a confusion. | |
General Analysis | UnRAR |
extract.cpp:3 | Low | V688 | The 'Cmd' function argument possesses the same name as one of the class members, which can result in a confusion. | |
General Analysis | UnRAR |
extract.cpp:1012 | Low | V688 | The 'ArcName' function argument possesses the same name as one of the class members, which can result in a confusion. | |
General Analysis | UnRAR |
extract.cpp:3 | Low | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: FileCount, MatchedArgs, FirstFile, AllMatchesExact, ReconstructDone, UseExactVolName, ... |
General Analysis | UnRAR |
extract.cpp:1255 | Low | V796 | CWE-484 | It is possible that 'break' statement is missing in switch statement. |
General Analysis | UnRAR |
file.cpp:3 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: NoSequentialRead, SeekBuf. |
General Analysis | UnRAR |
file.cpp:530 | Medium | V648 | CWE-783 | Priority of the '&&' operation is higher than that of the '||' operation. |
General Analysis | UnRAR |
file.cpp:400 | Low | V1026 | CWE-190 | The 'ReadSize' variable is incremented in the loop. Undefined behavior will occur in case of signed integer overflow. |
General Analysis | UnRAR |
file.cpp:402 | Low | V1026 | CWE-190 | The 'TotalRead' variable is incremented in the loop. Undefined behavior will occur in case of signed integer overflow. |
General Analysis | UnRAR |
file.cpp:834 | Low | V1051 | CWE-754 | Consider checking for misprints. It's possible that the 'CopySize' should be checked here. |
General Analysis | UnRAR |
file.cpp:253 | Low | V676 | CWE-253 | It is incorrect to compare the variable of BOOL type with TRUE. Correct expression is: 'CloseHandle(hFile) != FALSE'. |
General Analysis | UnRAR |
file.cpp:330 | Low | V676 | CWE-253 | It is incorrect to compare the variable of BOOL type with TRUE. |
General Analysis | UnRAR |
file.cpp:336 | Low | V676 | CWE-253 | It is incorrect to compare the variable of BOOL type with TRUE. |
General Analysis | UnRAR |
file.cpp:649 | Low | V676 | CWE-253 | It is incorrect to compare the variable of BOOL type with TRUE. Correct expression is: 'SetEndOfFile(hFile) != FALSE'. |
General Analysis | UnRAR |
file.cpp:52 | Low | V688 | The 'OpenShared' local variable possesses the same name as one of the class members, which can result in a confusion. | |
General Analysis | UnRAR |
file.hpp:54 | Medium | V690 | The 'File' class implements the copy assignment operator, but lacks a copy constructor. It is dangerous to use such a class. | |
General Analysis | UnRAR |
getbits.cpp:3 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: InAddr, InBit. |
General Analysis | UnRAR |
hash.cpp:42 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: CurCRC32. |
General Analysis | UnRAR |
hash.cpp:3 | Low | V688 | The 'Type' function argument possesses the same name as one of the class members, which can result in a confusion. | |
General Analysis | UnRAR |
hash.cpp:67 | Low | V688 | The 'MaxThreads' function argument possesses the same name as one of the class members, which can result in a confusion. | |
General Analysis | UnRAR |
headers.hpp:178 | Medium | V690 | The 'FileHeader' class implements the copy assignment operator, but lacks a copy constructor. It is dangerous to use such a class. | |
General Analysis | UnRAR |
isnt.cpp:94 | Low | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'pEnumerator'. |
General Analysis | UnRAR |
list.cpp:43 | High | V547 | CWE-570 | Expression 'SetCount ++ > 0' is always false. |
General Analysis | UnRAR |
list.cpp:45 | High | V547 | CWE-571 | Expression 'SetCount ++ > 0' is always true. |
General Analysis | UnRAR |
list.cpp:47 | High | V547 | CWE-571 | Expression 'SetCount ++ > 0' is always true. |
General Analysis | UnRAR |
list.cpp:53 | High | V547 | CWE-571 | Expression 'SetCount ++ > 0' is always true. |
General Analysis | UnRAR |
list.cpp:58 | High | V547 | CWE-571 | Expression 'SetCount ++ > 0' is always true. |
General Analysis | UnRAR |
list.cpp:60 | High | V547 | CWE-571 | Expression 'SetCount ++ > 0' is always true. |
General Analysis | UnRAR |
list.cpp:62 | High | V547 | CWE-571 | Expression 'SetCount ++ > 0' is always true. |
General Analysis | UnRAR |
list.cpp:64 | High | V547 | CWE-571 | Expression 'SetCount ++ > 0' is always true. |
General Analysis | UnRAR |
list.cpp:326 | Medium | V547 | CWE-571 | Expression 'WinTitles' is always true. |
General Analysis | UnRAR |
list.cpp:330 | Medium | V547 | CWE-571 | Expression 'WinTitles' is always true. |
General Analysis | UnRAR |
list.cpp:335 | Medium | V547 | CWE-571 | Expression 'WinTitles' is always true. |
General Analysis | UnRAR |
list.cpp:159 | Medium | V648 | CWE-783 | Priority of the '&&' operation is higher than that of the '||' operation. |
General Analysis | UnRAR |
model.cpp:330 | Medium | V602 | CWE-480 | Consider inspecting the '(ns > 3)' expression. '>' possibly should be replaced with '>>'. |
General Analysis | UnRAR |
model.cpp:618 | Medium | V648 | CWE-783 | Priority of the '&&' operation is higher than that of the '||' operation. |
General Analysis | UnRAR |
model.cpp:639 | Medium | V648 | CWE-783 | Priority of the '&&' operation is higher than that of the '||' operation. |
General Analysis | UnRAR |
model.cpp:360 | Low | V1003 | The macro 'GET_MEAN' is a dangerous expression. The parameters 'SUMM', 'ROUND' must be surrounded by parentheses. | |
General Analysis | UnRAR |
model.cpp:151 | Low | V1019 | CWE-480 | Compound assignment expression 'NumStats -= i' is used inside condition. |
General Analysis | UnRAR |
model.cpp:55 | Low | V522 | CWE-690 | There might be dereferencing of a potential null pointer 'MinContext->U.Stats'. |
General Analysis | UnRAR |
model.cpp:74 | Low | V688 | The 'MaxOrder' function argument possesses the same name as one of the class members, which can result in a confusion. | |
General Analysis | UnRAR |
model.cpp:573 | Low | V688 | The 'MaxOrder' local variable possesses the same name as one of the class members, which can result in a confusion. | |
General Analysis | UnRAR |
model.cpp:30 | Low | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: SEE2Cont, DummySEE2Cont, FoundState, NumMasked, InitEsc, OrderFall, ... |
General Analysis | UnRAR |
pathfn.cpp:1047 | Medium | V560 | CWE-571 | A part of conditional expression is always true: I > 0. |
General Analysis | UnRAR |
pathfn.cpp:470 | Medium | V648 | CWE-783 | Priority of the '&&' operation is higher than that of the '||' operation. |
General Analysis | UnRAR |
pathfn.cpp:1033 | Medium | V648 | CWE-783 | Priority of the '&&' operation is higher than that of the '||' operation. |
General Analysis | UnRAR |
pathfn.cpp:1064 | Medium | V648 | CWE-783 | Priority of the '&&' operation is higher than that of the '||' operation. |
General Analysis | UnRAR |
qopen.cpp:210 | Low | V658 | CWE-190 | A value is being subtracted from the unsigned variable. This can result in an overflow. In such a case, the '<' comparison operation can potentially behave unexpectedly. |
General Analysis | UnRAR |
qopen.cpp:237 | Low | V658 | CWE-190 | A value is being subtracted from the unsigned variable. This can result in an overflow. In such a case, the '<' comparison operation can potentially behave unexpectedly. Consider inspecting the 'MaxBufSize - ReadBufPos < 0x100' expression. |
General Analysis | UnRAR |
qopen.cpp:17 | Low | V688 | The 'Arc' function argument possesses the same name as one of the class members, which can result in a confusion. | |
General Analysis | UnRAR |
qopen.cpp:17 | Low | V688 | The 'WriteMode' function argument possesses the same name as one of the class members, which can result in a confusion. | |
General Analysis | UnRAR |
qopen.cpp:3 | Low | V730 | CWE-457 | It is possible that not all members of a class are initialized inside the constructor. Consider inspecting: QOHeaderPos, RawDataStart, RawDataSize, RawDataPos, ReadBufSize, ReadBufPos, ... |
General Analysis | UnRAR |
rar.cpp:71 | Medium | V768 | CWE-571 | The variable 'ShutdownOnClose' is of enum type. It is odd that it is used as a variable of a Boolean-type. |
General Analysis | UnRAR |
rardefs.hpp:33 | Low | V1003 | The macro 'ALIGN_VALUE' is a dangerous expression. The parameter 'a' must be surrounded by parentheses. | |
General Analysis | UnRAR |
rarvm.cpp:3 | Medium | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: R. |
General Analysis | UnRAR |
rarvm.hpp:14 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: InitR, FilteredData. |
General Analysis | UnRAR |
rawint.hpp:4 | Low | V1003 | The macro 'rotls' is a dangerous expression. The parameter 'xsize' must be surrounded by parentheses. | |
General Analysis | UnRAR |
rawint.hpp:5 | Low | V1003 | The macro 'rotrs' is a dangerous expression. The parameter 'xsize' must be surrounded by parentheses. | |
General Analysis | UnRAR |
rawread.cpp:10 | Low | V688 | The 'SrcFile' function argument possesses the same name as one of the class members, which can result in a confusion. | |
General Analysis | UnRAR |
rawread.hpp:22 | Medium | V1071 | Consider inspecting the 'GetV' function. The return value is not always used. Total calls: 37, discarded results: 1. | |
General Analysis | UnRAR |
rawread.hpp:36 | Low | V688 | The 'Crypt' function argument possesses the same name as one of the class members, which can result in a confusion. | |
General Analysis | UnRAR |
rdwrfn.cpp:125 | Medium | V648 | CWE-783 | Priority of the '&&' operation is higher than that of the '||' operation. |
General Analysis | UnRAR |
rdwrfn.cpp:3 | Medium | V730 | CWE-457 | It is possible that not all members of a class are initialized inside the constructor. Consider inspecting: UnpackFromMemorySize, UnpackFromMemoryAddr, UnpackToMemorySize, UnpackToMemoryAddr. |
General Analysis | UnRAR |
rdwrfn.cpp:108 | Low | V1026 | CWE-190 | The 'TotalRead' variable is incremented in the loop. Undefined behavior will occur in case of signed integer overflow. |
General Analysis | UnRAR |
rdwrfn.cpp:232 | Low | V688 | The 'DestFile' function argument possesses the same name as one of the class members, which can result in a confusion. | |
General Analysis | UnRAR |
rdwrfn.cpp:232 | Low | V688 | The 'SrcFile' function argument possesses the same name as one of the class members, which can result in a confusion. | |
General Analysis | UnRAR |
recvol.cpp:25 | Medium | V1074 | Boundary between escape sequence and string is unclear. The escape sequence ends with a letter and the next character is also a letter. Check for typos. | |
General Analysis | UnRAR |
recvol.cpp:99 | Medium | V1074 | Boundary between escape sequence and string is unclear. The escape sequence ends with a letter and the next character is also a letter. Check for typos. | |
General Analysis | UnRAR |
recvol3.cpp:424 | Medium | V507 | CWE-562 | Pointer to local array 'Erasures' is stored outside the scope of this array. Such a pointer will become invalid. |
General Analysis | UnRAR |
recvol3.cpp:245 | Medium | V560 | CWE-570 | A part of conditional expression is always false: SrcPos < 0. |
General Analysis | UnRAR |
recvol3.cpp:471 | Medium | V688 | The 'Buf' local variable possesses the same name as one of the class members, which can result in a confusion. | |
General Analysis | UnRAR |
recvol3.cpp:12 | Low | V688 | The 'RecVolNumber' function argument possesses the same name as one of the class members, which can result in a confusion. | |
General Analysis | UnRAR |
recvol5.cpp:7 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: ReadBuffer, ValidFlags, MissingVolumes. |
General Analysis | UnRAR |
recvol5.cpp:450 | Medium | V1074 | Boundary between escape sequence and string is unclear. The escape sequence ends with a letter and the next character is also a letter. Check for typos. | |
General Analysis | UnRAR |
recvol5.cpp:7 | Medium | V1077 | CWE-457 | The 'RecVolumes5' constructor contains potentially uninitialized members. Inspect the following: Buf. |
General Analysis | UnRAR |
rijndael.cpp:83 | Low | V730 | CWE-457 | It is possible that not all members of a class are initialized inside the constructor. Consider inspecting: AES_NI, m_uRounds, m_initVector, m_expandedKey. |
General Analysis | UnRAR |
rs.cpp:5 | Low | V688 | The 'ParSize' function argument possesses the same name as one of the class members, which can result in a confusion. | |
General Analysis | UnRAR |
rs16.cpp:171 | High | V781 | CWE-20 | The value of the 'Kf' index is checked after it was used. Perhaps there is a mistake in program logic. |
General Analysis | UnRAR |
rs16.cpp:290 | Medium | V547 | CWE-571 | Expression 'DirectAccess' is always true. |
General Analysis | UnRAR |
rs16.cpp:303 | Medium | V547 | CWE-571 | Expression 'DirectAccess' is always true. |
General Analysis | UnRAR |
scantree.cpp:3 | High | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: OrigCurMask, SearchAllInRoot, SpecPathLength. |
General Analysis | UnRAR |
scantree.cpp:237 | Medium | V648 | CWE-783 | Priority of the '&&' operation is higher than that of the '||' operation. |
General Analysis | UnRAR |
scantree.cpp:276 | Medium | V648 | CWE-783 | Priority of the '&&' operation is higher than that of the '||' operation. |
General Analysis | UnRAR |
scantree.cpp:3 | Low | V688 | The 'FileMasks' function argument possesses the same name as one of the class members, which can result in a confusion. | |
General Analysis | UnRAR |
scantree.cpp:3 | Low | V688 | The 'GetDirs' function argument possesses the same name as one of the class members, which can result in a confusion. | |
General Analysis | UnRAR |
scantree.cpp:3 | Low | V688 | The 'GetLinks' function argument possesses the same name as one of the class members, which can result in a confusion. | |
General Analysis | UnRAR |
scantree.cpp:3 | Low | V688 | The 'Recurse' function argument possesses the same name as one of the class members, which can result in a confusion. | |
General Analysis | UnRAR |
scantree.hpp:70 | Low | V688 | The 'Cmd' function argument possesses the same name as one of the class members, which can result in a confusion. | |
General Analysis | UnRAR |
sha1.cpp:42 | Medium | V1032 | CWE-843 | The pointer 'buffer' is cast to a more strictly aligned pointer type. |
General Analysis | UnRAR |
sha1.cpp:20 | Low | V1003 | The macro 'blk' is a dangerous expression. The parameter 'i' must be surrounded by parentheses. | |
General Analysis | UnRAR |
sha256.cpp:26 | Low | V1003 | The macro 'Ch' is a dangerous expression. The parameters 'x', 'y', 'z' must be surrounded by parentheses. | |
General Analysis | UnRAR |
sha256.cpp:27 | Low | V1003 | The macro 'Maj' is a dangerous expression. The parameters 'x', 'y', 'z' must be surrounded by parentheses. | |
General Analysis | UnRAR |
sha256.cpp:32 | Low | V1003 | The macro 'sg0' is a dangerous expression. The parameter 'x' must be surrounded by parentheses. | |
General Analysis | UnRAR |
sha256.cpp:33 | Low | V1003 | The macro 'sg1' is a dangerous expression. The parameter 'x' must be surrounded by parentheses. | |
General Analysis | UnRAR |
strlist.cpp:3 | Low | V730 | CWE-457 | It is possible that not all members of a class are initialized inside the constructor. Consider inspecting: SaveCurPos. |
General Analysis | UnRAR |
suballoc.cpp:251 | Medium | V619 | CWE-480 | The array 'FreeList' is being utilized as a pointer to single object. |
General Analysis | UnRAR |
suballoc.cpp:259 | Low | V1065 | CWE-682 | Expression can be simplified, check '1' and similar operands. |
General Analysis | UnRAR |
suballoc.cpp:11 | Low | V730 | CWE-457 | It is possible that not all members of a class are initialized inside the constructor. Consider inspecting: Indx2Units, Units2Indx, GlueCount, HeapStart, LoUnit, HiUnit, ... |
General Analysis | UnRAR |
threadmisc.cpp:145 | Medium | V547 | CWE-570 | Expression 'NumCPU < 1' is always false. |
General Analysis | UnRAR |
threadmisc.cpp:63 | Low | V513 | CWE-676 | Use _beginthreadex/_endthreadex functions instead of CreateThread/ExitThread functions. |
General Analysis | UnRAR |
threadpool.cpp:22 | Medium | V547 | CWE-570 | Expression is always false. |
General Analysis | UnRAR |
threadpool.cpp:10 | Medium | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: ThreadHandles, TaskQueue. |
General Analysis | UnRAR |
uiconsole.cpp:235 | Medium | V1037 | CWE-691 | Two or more case-branches perform the same actions. Check lines: 235, 378 |
General Analysis | UnRAR |
unicode.cpp:308 | Medium | V547 | CWE-571 | Expression '(uint) * Src < 0x10000' is always true. |
General Analysis | UnRAR |
unicode.cpp:285 | Medium | V560 | CWE-571 | A part of conditional expression is always true: c < 0x200000. |
General Analysis | UnRAR |
unpack.cpp:137 | High | V595 | CWE-476 | The 'Window' pointer was utilized before it was verified against nullptr. Check lines: 137, 139. |
General Analysis | UnRAR |
unpack.cpp:18 | Medium | V730 | CWE-457 | It is possible that not all members of a class are initialized inside the constructor. Consider inspecting: DestUnpSize, FileExtracted, PrevLowDist, LowDistRepCount. |
General Analysis | UnRAR |
unpack.cpp:129 | Low | V1004 | CWE-628 | The 'NewWindow' pointer was used unsafely after it was verified against nullptr. Check lines: 107, 129. |
General Analysis | UnRAR |
unpack.cpp:18 | Low | V1077 | CWE-457 | The 'Unpack' constructor contains potentially uninitialized members. Inspect the following: OldDist, OldDistPtr, LastLength, LastDist, BlockTables, UnpPtr, WrPtr, .... |
General Analysis | UnRAR |
unpack.cpp:42 | Low | V601 | CWE-704 | The 'false' value is implicitly cast to the integer type. Inspect the first argument. |
General Analysis | UnRAR |
unpack.hpp:382 | Low | V688 | The 'Suspended' function argument possesses the same name as one of the class members, which can result in a confusion. | |
General Analysis | UnRAR |
unpack.hpp:130 | Low | V730 | CWE-457 | Not all members of a class are initialized inside the constructor. Consider inspecting: UnpackPtr, HeaderRead, BlockHeader, TableRead, BlockTables, DataSize, ... |
General Analysis | UnRAR |
unpack15.cpp:309 | Medium | V648 | CWE-783 | Priority of the '&&' operation is higher than that of the '||' operation. |
General Analysis | UnRAR |
unpack20.cpp:133 | High | V547 | CWE-571 | Expression 'Number < 270' is always true. |
General Analysis | UnRAR |
unpack30.cpp:238 | High | V547 | CWE-571 | Expression 'Number < 272' is always true. |
General Analysis | UnRAR |
unpack30.cpp:583 | High | V561 | CWE-563 | It's probably better to assign value to 'ParentPrg' variable than to declare it anew. Previous declaration: unpack30.cpp, line 561. |
General Analysis | UnRAR |
unpack50.cpp:136 | High | V547 | CWE-571 | Expression 'MainSlot < 262' is always true. |
General Analysis | UnRAR |
unpack50.cpp:393 | Medium | V648 | CWE-783 | Priority of the '&&' operation is higher than that of the '||' operation. |
General Analysis | UnRAR |
unpack50.cpp:245 | Low | V1051 | CWE-754 | Consider checking for misprints. It's possible that the 'BlockHeader.BlockStart' should be checked here. |
General Analysis | UnRAR |
unpack50.cpp:158 | Low | V688 | The 'Inp' function argument possesses the same name as one of the class members, which can result in a confusion. | |
General Analysis | UnRAR |
unpack50.cpp:173 | Low | V688 | The 'Inp' function argument possesses the same name as one of the class members, which can result in a confusion. | |
General Analysis | UnRAR |
unpack50.cpp:535 | Low | V688 | The 'Inp' function argument possesses the same name as one of the class members, which can result in a confusion. | |
General Analysis | UnRAR |
unpack50.cpp:579 | Low | V688 | The 'Inp' function argument possesses the same name as one of the class members, which can result in a confusion. | |
General Analysis | UnRAR |
unpack50mt.cpp:237 | High | V1002 | CWE-665 | The 'UnpackThreadData' class, containing pointers, constructor and destructor, is copied by the automatically generated operator=. |
General Analysis | UnRAR |
unpack50mt.cpp:434 | High | V547 | CWE-571 | Expression 'MainSlot < 262' is always true. |
General Analysis | UnRAR |
unpack50mt.cpp:639 | High | V547 | CWE-571 | Expression 'MainSlot < 262' is always true. |
General Analysis | UnRAR |
unpack50mt.cpp:137 | Medium | V648 | CWE-783 | Priority of the '&&' operation is higher than that of the '||' operation. |
General Analysis | UnRAR |
unpack50mt.cpp:312 | Medium | V688 | The 'ReadBorder' local variable possesses the same name as one of the class members, which can result in a confusion. | |
General Analysis | UnRAR |
unpack50mt.cpp:542 | Medium | V688 | The 'ReadBorder' local variable possesses the same name as one of the class members, which can result in a confusion. | |
General Analysis | UnRAR |
unpack50mt.cpp:16 | Low | V574 | CWE-823 | The 'DL->D' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 16, 16. |
General Analysis | UnRAR |
unpack50mt.cpp:340 | Low | V769 | CWE-119 | The 'D.Decoded' pointer in the 'D.Decoded + D.DecodedSize ++' expression could be nullptr. In such case, resulting value will be senseless and it should not be used. Check lines: 340, 334. |
General Analysis | UnRAR |
unpack50mt.cpp:37 | Low | V780 | The object 'UnpThreadData' of a non-passive (non-PDS) type cannot be initialized using the memset function. | |
General Analysis | UnRAR |
unpackinline.cpp:82 | Low | V688 | The 'Inp' function argument possesses the same name as one of the class members, which can result in a confusion. | |
General Analysis | UnRAR |
unpackinline.cpp:127 | Low | V688 | The 'Inp' function argument possesses the same name as one of the class members, which can result in a confusion. | |
General Analysis | UnRAR |
volume.cpp:22 | Medium | V648 | CWE-783 | Priority of the '&&' operation is higher than that of the '||' operation. |
Micro-optimizations | UnRAR |
unpack.hpp:145 | Medium | V802 | On 64-bit platform, structure size can be reduced from 16 to 12 bytes by rearranging the fields according to their sizes in decreasing order. |