We decided to write several small posts on how C/C++ programmers play with fire without knowing it. The first post will be devoted to an attempt to explicitly call a...
A great deal of compilation errors occurring when trying to recompile a 32-bit Windows application for 64-bit systems is related to inccorect function arguments. You may often see that in user...
When porting 32-bit code on a 64-bit system, Visual C++ compiler may generate a lot of warnings C4267 for the code where the result of the function std::string::find() is saved into a variable of...
The question if these types are equivalent and which of them and when should be used is discussed very much. But in practice you may consider them equivalent and use them as you...
While porting code from a 32-bit system to a 64-bit one, you may want to make the types size_t/ptrdiff_t 32-bit again to reduce the number of errors and warnings generated by the compiler. This...
Memsize-types DWORD_PTR, INT_PTR, LONG_PTR, UINT_PTR and ULONG_PTR are intended to support 64-bit code and can safely store a pointer regardless of the platform capacity. But these types might...
We decided to publish this article in our knowledge base to show programmers how easily private data can get out of the program handling them. There is the V597 diagnostic rule in PVS-Studio...
This is the fourth post in which I want to share with you some useful observations on error patterns and the ways of fighting them. This time I will touch upon the subject of handling rare...
The id Software company possesses a PVS-Studio license. However, we decided to test the source codes of Doom 3 that have been recently laid out on the Internet. The result is the following...
This document advertises the PVS-Studio static analyzer. It describes how using PVS-Studio reduces the number of errors in code of C/C++/C++11 projects and costs on code testing, debugging...