Larger than 0 does not mean 1
Don't rely on the way the function is working now. If the documentation says that a function can return values less than or greater than 0, it does mean it. It means that the function can return -10,...
View ArticleGood and bad sides of virtual inheritance in C++
This time we will discuss virtual inheritance in C++ and find out why one should be very careful using it. It has both good and bad sides - the article describes that in detail.
View ArticleThe Last Line Effect – typos and fun
Our team has checked a big number of projects - more than 250 and collected about 9800 bugs. Thus, we have studied many errors caused by the use of the Copy-Paste method, and can assure you that...
View ArticleLong-Awaited Check of CryEngine V
In May 2016, German game-development company Crytek made a decision to upload the source code of their game engine CryEngine V to Github. The engine is written in C++ and has immediately attracted...
View ArticleBugs found in GCC
The article presents bugs that were found in GCC with PVS-Studio static code analyzer. GNU Compiler Collection (usually shortened to GCC) - is a set of compilers for different programming languages...
View ArticleChecking the Source Code of MSBuild
As we continue developing PVS-Studio static code analyzer, we often have to check large open-source projects by renowned developers. The fact that even such projects contain a certain amount of bugs...
View ArticleLast Line Effect
I have studied many errors caused by the use of the Copy-Paste method, and can assure you that programmers most often tend to make mistakes in the last fragment of a homogeneous code block. I have...
View ArticleLogical Expressions in C/C++. Mistakes Made by Professionals
In programming, a logical expression is a language construct that is evaluated as true or false. Many books that teach programming "from scratch" discuss possible operations on logical expressions...
View ArticlePVS-Studio Delved into Linux Kernel (3.18.1)
Our team decided to analyze the Linux kernel with our static code analyzer. The difficulty of this task makes it especially interesting. Linux source code has been checked, and is still checked, by a...
View ArticlePart 26. Peculiarities of creating installers for the 64-bit environment
When developing the 64-bit version of an application, you should also be very attentive to the issue of program distribution - you might encounter some peculiar problems when installing the program on...
View Article