PVS-Studio Analysis Results

Source code:GameNetworkingSockets-master-git-57f0e5d7577bf41bcb2b1ebdf382acd1c592b3113
Date:04/04/18 09:12:53
PVS-Studio Version:6.23.25784.985
Total Warnings (GA):41
Total Warnings (64):6
Group Location Level Code Message
64-bit errors utlmemory.h:129 Medium V302 Member operator[] of 'CUtlMemory' class has a 32-bit type argument. Use memsize-type here.
64-bit errors utlmemory.h:130 Medium V302 Member operator[] of 'CUtlMemory' class has a 32-bit type argument. Use memsize-type here.
64-bit errors utlmemory.h:166 Medium V302 Member operator[] of 'CUtlMemoryFixed' class has a 32-bit type argument. Use memsize-type here.
64-bit errors utlmemory.h:167 Medium V302 Member operator[] of 'CUtlMemoryFixed' class has a 32-bit type argument. Use memsize-type here.
64-bit errors utlvector.h:69 Medium V302 Member operator[] of 'CUtlVector' class has a 32-bit type argument. Use memsize-type here.
64-bit errors utlvector.h:70 Medium V302 Member operator[] of 'CUtlVector' class has a 32-bit type argument. Use memsize-type here.
General Analysis curve25519.c:25 Medium V1009 Check the array initialization. Only the first element is initialized explicitly. The rest elements are initialized with zeros.
General Analysis curve25519-donna-scalarmult-base.h:10 Medium V1009 Check the array initialization. Only the first element is initialized explicitly. The rest elements are initialized with zeros.
General Analysis ed25519-donna-batchverify.h:237 Medium V557 Array overrun is possible. The value of 'i' index could reach 63.
General Analysis ed25519-donna-batchverify.h:228 Medium V557 Array overrun is possible. The value of 'i' index could reach 63.
General Analysis ed25519-donna-batchverify.h:223 Medium V557 Array overrun is possible. The value of 'i' index could reach 63.
General Analysis ed25519-donna-impl-base.h:194 Medium V1009 Check the array initialization. Only the first element is initialized explicitly. The rest elements are initialized with zeros.
General Analysis wchartypes.h:36 Medium V677 Custom declaration of a standard 'BYTE' type. The system header file should be used: #include <WinDef.h>.
General Analysis wchartypes.h:22 Medium V677 Custom declaration of a standard 'wchar_t' type. The system header file should be used: #include <STDDEF.H> or <STDLIB.H> or <CRTDEFS.H> or <SYS\STAT.H>.
General Analysis netadr.cpp:254 Medium V576 Incorrect format. Consider checking the sixth actual argument of the 'sscanf' function. A pointer to the signed int type is expected.
General Analysis netadr.cpp:254 Medium V576 Incorrect format. Consider checking the fifth actual argument of the 'sscanf' function. A pointer to the signed int type is expected.
General Analysis netadr.cpp:254 Medium V576 Incorrect format. Consider checking the fourth actual argument of the 'sscanf' function. A pointer to the signed int type is expected.
General Analysis netadr.cpp:254 Medium V576 Incorrect format. Consider checking the third actual argument of the 'sscanf' function. A pointer to the signed int type is expected.
General Analysis utlbuffer.cpp:1094 Medium V665 Possibly, the usage of '#pragma warning(default: X)' is incorrect in this context. The '#pragma warning(push/pop)' should be used instead. Check lines: 924, 1094.
General Analysis utlmemory.cpp:372 Medium V701 realloc() possible leak: when realloc() fails in allocating memory, original pointer 'm_pMemory' is lost. Consider assigning realloc() to a temporary pointer.
General Analysis utlmemory.cpp:298 Medium V701 realloc() possible leak: when realloc() fails in allocating memory, original pointer 'm_pMemory' is lost. Consider assigning realloc() to a temporary pointer.
General Analysis utlmemory.cpp:266 Medium V701 realloc() possible leak: when realloc() fails in allocating memory, original pointer 'm_pMemory' is lost. Consider assigning realloc() to a temporary pointer.
General Analysis utlmemory.cpp:106 Medium V575 The potential null pointer is passed into 'memcpy' function. Inspect the first argument. Check lines: 106, 105.
General Analysis curve25519-donna-64bit.h:262 Low V525 The code contains the collection of similar blocks. Check items 'x0', 'x0', 'x1' in lines 262, 263, 264.
General Analysis curve25519-donna-64bit.h:246 Low V1003 The macro 'F' is a dangerous expression. The parameter 's' must be surrounded by parentheses.
General Analysis curve25519-donna-portable.h:81 Low V1003 The macro 'hi128' is a dangerous expression. The parameter 'a' must be surrounded by parentheses.
General Analysis curve25519-donna-64bit.h:298 Low V1003 The macro 'F' is a dangerous expression. The parameter 's' must be surrounded by parentheses.
General Analysis curve25519-donna-64bit.h:314 Low V525 The code contains the collection of similar blocks. Check items 'x0', 'x0', 'x1' in lines 314, 315, 316.
General Analysis ed25519_valve.c:191 Low V1003 The macro 'Maj' is a dangerous expression. The parameters 'x', 'y', 'z' must be surrounded by parentheses.
General Analysis ed25519_valve.c:190 Low V1003 The macro 'Ch' is a dangerous expression. The parameters 'x', 'y', 'z' must be surrounded by parentheses.
General Analysis ed25519-donna-impl-base.h:7 Low V525 The code contains the collection of similar blocks. Check items 't', 'z', 't' in lines 7, 8, 9.
General Analysis ed25519-donna-portable.h:81 Low V1003 The macro 'hi128' is a dangerous expression. The parameter 'a' must be surrounded by parentheses.
General Analysis ed25519-hash.h:70 Low V1003 The macro 'Ch' is a dangerous expression. The parameters 'x', 'y', 'z' must be surrounded by parentheses.
General Analysis ed25519-hash.h:77 Low V1003 The macro 'W1' is a dangerous expression. The parameter 'i' must be surrounded by parentheses.
General Analysis ed25519-hash.h:76 Low V1003 The macro 'W0' is a dangerous expression. The parameter 'i' must be surrounded by parentheses.
General Analysis ed25519-hash.h:75 Low V1003 The macro 'G1' is a dangerous expression. The parameter 'x' must be surrounded by parentheses.
General Analysis ed25519-hash.h:74 Low V1003 The macro 'G0' is a dangerous expression. The parameter 'x' must be surrounded by parentheses.
General Analysis ed25519-hash.h:71 Low V1003 The macro 'Maj' is a dangerous expression. The parameters 'x', 'y', 'z' must be surrounded by parentheses.
General Analysis fmtstr.h:114 Low V550 An odd precise comparison: f == 0.0f. It's probably better to use a comparison with defined precision: fabs(A - B) < Epsilon.
General Analysis fmtstr.h:218 Low V524 It is odd that the body of 'String' function is fully equivalent to the body of 'Get' function.
General Analysis fmtstr.h:114 Low V550 An odd precise comparison: f == 1.0f. It's probably better to use a comparison with defined precision: fabs(A - B) < Epsilon.
General Analysis fmtstr.h:113 Low V550 An odd precise comparison: f == 1.0. It's probably better to use a comparison with defined precision: fabs(A - B) < Epsilon.
General Analysis fmtstr.h:113 Low V550 An odd precise comparison: f == 0.0. It's probably better to use a comparison with defined precision: fabs(A - B) < Epsilon.
General Analysis utlbuffer.h:760 Low V524 It is odd that the body of 'SizeAllocated' function is fully equivalent to the body of 'Size' function.
General Analysis netadr.cpp:307 Low V576 Incorrect format. Consider checking the eighth actual argument of the '_snprintf' function. The SIGNED integer type argument is expected.
General Analysis utlbuffer.cpp:1631 Low V656 Variables 'm_Put', 'm_nMaxPut' are initialized through the call to the same function. It's probably an error or un-optimized code. Consider inspecting the 'mem.Count()' expression. Check lines: 1630, 1631.
General Analysis utlmemory.cpp:332 Low V547 Expression 'numElements <= m_nAllocationCount' is always false.