﻿# PVS\-Studio 7\.37: enhanced taint analysis, MISRA version control, SLNX project support, and more

PVS\-Studio 7\.37 has been released\! Discover the expanded taint analysis mechanism, MISRA version selection, analysis of MSBuild projects in the SLNX format, and many other updates\. Check out the details in this release note\.

![1255_press_release/image1.png](https://import.viva64.com/docx/blog/1255_press_release/image1.png)


> You can download the latest PVS\\\-Studio version \[here\]\(https://pvs\-studio\.com/en/pvs\-studio/download/\)\\\.

## Expanded taint analysis

PVS\-Studio brings enhancements to taint analysis\!

In PVS\-Studio C\+\+ analyzer, this mechanism is now expanded to diagnostic rules of searching for other types of errors, including divisions by zero, buffer overflows, bitwise shifts, signed integer overflows, and passing tainted values as arguments\.

Plus, PVS\-Studio C\# and Java analyzers factor in tainted data when detecting array overruns, overflows, and potential divisions by zero\.

These changes help detect bugs and potential vulnerabilities in a wider range of scenarios\.

## MISRA version selection

Our team has introduced a new setting that lets users choose the version of the MISRA C Coding Guidelines in PVS\-Studio plugins for Visual Studio Code, Qt Creator, CLion, and Rider—as well as in the command\-line utilities, `PVS-Studio_Cmd.exe` and `pvs-studio-analyzer`\.

In the previous PVS\-Studio release, a similar setting has been added to the Visual Studio plugin\.

## Analysis of SLNX\-format projects

The analyzer for MSBuild projects now supports the SLNX format—a new, more streamlined solution format introduced in \.NET SDK 9\.0\.200\.

## C23 & Standard library: C and C\+\+ analyzer updates

We're excited to introduce support for the C23 language standard in PVS\-Studio C and C\+\+ analyzer\. Now it includes the `constexpr` and `alignas` keywords\.

Moreover, PVS\-Studio for C and C\+\+ now handles the standard library more efficiently\. We've enhanced parsing of `brace-initializer-list` for built\-in containers and added new annotations for `std::min`, `std::max`, `std::unique_ptr<T[]>::reset`, and `std::unique_ptr<T[]>::release`\.

## Settings for security\-related issues in \.pvsconfig

Previously, PVS\-Studio plugins for IDEs and command\-line utilities provided the option to enable SAST identifiers only for analyzer messages related to potential security threats\.

Now it is also available for `.pvsconfig` files\.


> \*\*Note\\\.\*\* To learn more about \`\.pvsconfig\` files, see the \[documentation\]\(https://pvs\-studio\.com/en/docs/manual/6630/\)\\\.

## Breaking Changes

These changes are not backward compatible with earlier versions of the analyzer\. You may need to adjust how you use the analyzer due to these changes\.

* [V1077](https://pvs-studio.com/en/docs/warnings/v1077/): This diagnostic rule has been modified\. You may need to re\-suppress warnings for this rule that were previously suppressed\.
* Taint analysis updates: Due to the expanded taint analysis mechanism to cover diagnostic rules [V557](https://pvs-studio.com/en/docs/warnings/v557/), [V609](https://pvs-studio.com/en/docs/warnings/v609/), [V610](https://pvs-studio.com/en/docs/warnings/v610/), [V1083](https://pvs-studio.com/en/docs/warnings/v1083/), and [V575](https://pvs-studio.com/en/docs/warnings/v575/), previously suppressed [V1010](https://pvs-studio.com/en/docs/warnings/v1010/) warnings may reappear\.

## New diagnostic rules

C, C\+\+:

* [V1118](https://pvs-studio.com/en/docs/warnings/v1118/)\. Excessive file permissions can lead to vulnerabilities\. Consider restricting file permissions\.

C\#:

* [V5630](https://pvs-studio.com/en/docs/warnings/v5630/)\. Possible cookie injection\. Potentially tainted data is used to create a cookie\.
* [V3222](https://pvs-studio.com/en/docs/warnings/v3222/)\. Potential resource leak\. An inner IDisposable object might remain non\-disposed if the constructor of the outer object throws an exception\.
* [V3223](https://pvs-studio.com/en/docs/warnings/v3223/)\. Inconsistent use of a potentially shared variable with and without a lock can lead to a data race\.

Java:

* [V6126](https://pvs-studio.com/en/docs/warnings/v6126/)\. Native synchronization used on high\-level concurrency class\.
* [V6127](https://pvs-studio.com/en/docs/warnings/v6127/)\. Closeable object is not closed\. This may lead to a resource leak\.
* [V6128](https://pvs-studio.com/en/docs/warnings/v6128/)\. Using a Closable object after it was closed can lead to an exception\.
* [V6129](https://pvs-studio.com/en/docs/warnings/v6129/)\. Possible deadlock due to incorrect synchronization order between locks\.
* [V6130](https://pvs-studio.com/en/docs/warnings/v6130/)\. Integer overflow in arithmetic expression\.
* [V6131](https://pvs-studio.com/en/docs/warnings/v6131/)\. Casting to a type with a smaller range will result in an overflow\.
* [V5331](https://pvs-studio.com/en/docs/warnings/v5331/)\. OWASP\. Hardcoded IP addresses are not secure\.
* [V5332](https://pvs-studio.com/en/docs/warnings/v5332/)\. OWASP\. Possible path traversal vulnerability\. Potentially tainted data might be used to access files or folders outside a target directory\.

## Articles

For C\+\+ developers:

* [Curling CPython around PVS\-Studio](https://pvs-studio.com/en/blog/posts/cpp/1246/)
* [Why SSDLC needs static analysis: a case study of 190 bugs in TDengine](https://pvs-studio.com/en/blog/posts/cpp/1249/)
* [Creating Sega Genesis emulator in C\+\+](https://pvs-studio.com/en/blog/posts/1252/)

For C\# developers:

* [\.NET Digest \#7](https://pvs-studio.com/en/blog/posts/csharp/1250/)
* [History of C\#: versions, \.NET, Unity, Blazor, and MAUI](https://pvs-studio.com/en/blog/posts/csharp/1248/)

For Java developers:

* [Searching in a search: let's check Elasticsearch](https://pvs-studio.com/en/blog/posts/java/1247/)
* [How NASA got the planet's source code wrong](https://pvs-studio.com/en/blog/posts/java/1253/)


> Do you want to check a project with PVS\\\-Studio? Then start from \[this page\]\(https://pvs\-studio\.com/en/pvs\-studio/try\-free/\)\\\.

If you would like to get news on the latest releases, subscribe to the PVS\-Studio newsletter [here](https://pvs-studio.com/en/subscribe/)\.