PVS-Studio: поиск ошибок в С/С++, С# и Java – Telegram
PVS-Studio: поиск ошибок в С/С++, С# и Java
1.74K subscribers
1.47K photos
65 videos
2 files
1.44K links
Статический анализатор на страже качества, защищённости (SAST) и безопасности кода.

Сайт: https://pvs-studio.ru/ru/
Download Telegram
🆕 Вышла новая версия PVS-Studio — 7.22

Что нового:
🔹Плагины для Visual Studio Code и Qt Creator
🔹Поддержка анализа .NET 7, C# 11 и Blazor компонентов
🔹Улучшения и доработки механизма Best Warnings
🔹7 новых диагностик для анализа C, C++ и C# кода

👉🏻 Читать подробнее о релизе

👉🏻 Попробовать новую версию анализатора


#релиз_PVS
🔥4👍1
Правильный ответ:
В цикле производится проверка значения переменной data. Если она равна null и её свойство Length имеет положительное значение, то производится выход из цикла. Очевидно, это невозможно. Более того, обращение к свойству Length переменной, имеющей значение null, приведёт к выбрасыванию исключения. Здесь же обращение производится именно тогда, когда data = null. Учитывая комментарий разработчика, в условии должен использоваться оператор '||'.

#задача_PVS
Новогодние праздники – одни из самых любимых и ожидаемых во всём мире 🎄🎅

Подарки, украшения, внимание к родным и близким – всё это неотъемлемый атрибут новогодней суматохи. Эта суматоха не обошла стороной и нас.

В преддверии новогодних праздников подготовили для вас развлечения и подарки, а вот какие именно — читайте в этой статье 🎁
5
Получить NullReferenceException на этапе разработки – не самый плохой сценарий, ведь проблему можно исправить сразу. Гораздо хуже, когда её находит пользователь при работе с продуктом.

Защититься от NRE помогают nullable reference типы. Они позволяют сделать приложение более безопасными и правильными с точки зрения архитектуры.

В этой статье рассказываем о неочевидных возможностях nullable reference типов.
👍2🤔1
Правильный ответ:
Рассмотрим подробнее выражение (12 * 1 « (2 * order)). Анализатор напоминает, что операция '*' имеет более высокий приоритет, чем операция битового сдвига '«'. Умножение 12 на 1 бессмысленно, а скобки вокруг 2 * order не нужны.

#задача_PVS
Любой бы на месте Бага позеленел и взбесился. Как порядочный интроверт он живёт в глубине кода и скрывается куда подальше от разработчиков, ревьюверов, тестировщиков и вообще всех.

Но эти «все» готовят грандиознейшее празднование Нового года и Рождества. Они шумят, всё украшают и дико бесят. Кто бы отказал себе в удовольствии испортить праздники? Баг решает украсть их.

Не дай Багу всё испортить! Пройди квиз, чтобы спасти новогодние праздники от обиженного крылатого монстра: https://pvs-studio.com/go.php?url=1950
6
За 2022 год мы написали много статей об ошибках, найденных в Open Source проектах.

Подводим итоги и представляем десяток самых интересных C#-срабатываний 🏆
pvs-studio.com/go.php?url=1955

А как бы выглядел ваш топ?
🔥4
С Наступающим! 🎄

В перерыве между нарезанием салатов, просмотром новогодних фильмов и другими предпраздничными хлопотами предлагаем сыграть в игру.

Правила просты: пишите в комментариях, какие пункты у вас совпали в этом году. Победитель получает новогоднее настроение и нормальный снег
🎄9
С Новым годом! 🎉
Праздники приходят и уходят, а поиск багов по расписанию 😄

Правильный ответ:
В начале производится обращение к свойству Id, объекта installedPackage, после чего он проверяется на null. Обращение по нулевой ссылке приведёт к выбрасыванию исключения типа NullReferenceException.

#задача_PVS
3🥴1
Топ-10 ошибок в C++ проектах за 2022 год

По традиции вспоминаем десять самых интересных срабатываний, которые нашёл PVS-Studio в 2022 году pvs-studio.com/go.php?url=1962
4🤔1