
Possible null dereference
Continue readingThis content brought to you by Andrew Dominik from qualityguestpost
C++ is an extension of C language. C++ programming language is complex, but strongly preferred in today’s IT sector. You will come across some part of its codebase in generally every system or program. It is the first language developers interested in programming start with. You can learn it with ease as it is purely a concept-based language. The syntax is uncomplicated, so you can easily replicate its writing. Its use is regarded as a safe language due to its valuable features and security. People learn C++ because of several reasons –
Continue readingMissed semicolon
PVS-Studio warning: V504 It is highly probable that the semicolon ‘;’ is missing after ‘return’ keyword. AdvancedSettings.cpp:1476
void CAdvancedSettings::SetExtraArtwork(const TiXmlElement* arttypes, std::vector& artworkMap) { if (!arttypes) return artworkMap.clear(); const TiXmlNode* arttype = arttypes->FirstChild("arttype"); .... }
The code formatting suggests the following execution logic:
But the missing ‘;’ character breaks it all, and the actual execution logic is as follows:
To cut a long story short, this situation does look like a bug. After all, you hardly expect anyone to write expressions like return artworkMap.clear(); :).
Please click here to see more bugs from this project.
This story goes back to 2015, when Haiku OS and PVS-Studio static analyzer developers decided to join forces and improve this OS code quality. At first it was more like an experiment, as there was no Linux analyzer at that time and the team had to work only with the compiled executable analyzer file. The entire infrastructure for parsing compiler parameters, running preprocessor, analysis paralleling and so on was taken from the Compiler Monitoring UI utility in C#, which was ported in parts to the Mono platform in order to be run in Linux.
Many beginners and students find C/C++ language hard to master because it requires them to think a lot. There are many language-specific quirks, especially in C++, that give students and programmers a hard time. It also has a steep learning curve and is rarely used in modern application development, which prompts many people to give up learning C/C++. However, even with these challenges, it is important for students to continue learning this programming language. This article highlights reasons why one should keep learning C/C++.
Unchecked input data
Continue reading
Dangerous optimization (a vulnerability)
Continue reading
A guy sent an email to our support saying that the analyzer was producing four false positives at once on one line of his code.