We regularly check various open-source projects with PVS-Studio and send analysis results to developers and usually describe them in our posts as well. Besides, we add them into our bug database. This database is posted below on this page.

The bugs are grouped according to the number of the diagnostic rule that is used to detect them. The right column contains a link to the corresponding error samples.

This database may serve a unique resource for reflection on coding standards development, concepts of articles on programming rules, and help you in other researches regarding enhancing software reliability. We wish you interesting researches.

You can offer us other open-source projects for analysis. The project types supported by PVS-Studio are given in the tool description .

We have deliberately refused to implement an option to view all the bugs found in a particular project: this might lead to an incorrect impression regarding the number of errors in the project and the analyzer's capabilities. You see, the tool is rapidly developing. While it found 10 bugs in a project one year ago, it doesn't mean at all that it will find the same amount now. Compare, for instance, the reports of ReactOS checks: first report , second report (a year and a half later).

Error Code Error Description Project List

V501 There are identical sub-expressions to the left and to the right of the 'foo' operator. PDFium, Protocol Buffers, SwiftShader, XNU kernel, TDLib, Krita, Android, Amazon Lumberyard, Azure Service Fabric, Vangers: One For The Road, ... View examples of errors for these projects

V502 Perhaps the '?:' operator works in a different way than it was expected. The '?:' operator has a lower priority than the 'foo' operator. Computational Network Toolkit, FreeBSD Kernel, OpenToonz, Open X-Ray Engine, OpenJDK, CryEngine V, GCC, Linux Kernel, Scilab, Amazon Lumberyard, ... View examples of errors for these projects

V503 This is a nonsensical comparison: pointer < 0. Scilab, OGDF, Asterisk, .NET CoreCLR, Haiku Operation System, GINV, FreeBSD Kernel, OpenToonz, Far2l, Tizen, ... View examples of errors for these projects

V504 It is highly probable that the semicolon ';' is missing after 'return' keyword. Inkscape. View examples of errors for these projects

V505 The 'alloca' function is used inside the loop. This can quickly overflow stack. Crystal Space 3D SDK, Multi-threaded Dynamic Queue, Pixie, DeSmuME, Synergy, Tizen, EFL Core Libraries. View examples of errors for these projects

V506 Pointer to local variable 'X' is stored outside the scope of this variable. Such a pointer will become invalid. WinSCP, Miranda NG, Unreal Engine 4, PHP:Hypertext Preprocessor, RT-Thread. View examples of errors for these projects

V507 Pointer to local array 'X' is stored outside the scope of this array. Such a pointer will become invalid. MySQL, Source Engine SDK, Scilab, Miranda NG, MAME, GNU Octave, Inkscape, GCC, Tizen, Android, ... View examples of errors for these projects

V509 The 'throw' operator inside the destructor should be placed within the try..catch block. Raising exception inside the destructor is illegal. Chromium, Geant4 software, Protocol Buffers, Source Engine SDK, Data Distribution Service, FlightGear, TortoiseGit, WebRTC, LibreOffice, 7-Zip, ... View examples of errors for these projects

V510 The 'Foo' function is not expected to receive class-type variable as 'N' actual argument. Quake-III-Arena, Wild Magic 5, Scilab, Unreal Engine 4, Chromium, Apple II emulator, Telegram, Computational Network Toolkit, CryEngine V, libusbx, ... View examples of errors for these projects

V511 The sizeof() operator returns size of the pointer, and not of the array, in given expression. Shareaza, Wolfenstein 3D, Chromium, MySQL, Intel AMT SDK, ReactOS, Samba, Source Engine SDK, Oracle VM Virtual Box. View examples of errors for these projects

V512 A call of the 'Foo' function will lead to a buffer overflow or underflow. Unreal Engine 4, FreeBSD Kernel, Stickies, CodeLite, CryEngine V, Tizen, EFL Core Libraries, Ardour, WebRTC, XNU kernel, ... View examples of errors for these projects

V513 Use _beginthreadex/_endthreadex functions instead of CreateThread/ExitThread functions. Multi