Telegram Web
💻Вторая часть истории о том, как C и C++ стали такими, какими мы их знаем сегодня. Здесь расскажем об официальной сертификации C и C++, а также о вышедших инструментах в период с 1991 года и до наших дней.

Переходите по ссылке 🔗

#cpp #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52
Коллеги, мы открываем сезон подкастов 🎙️

Вчера записали первый. Получилось интересно, забавно и живенько 😉

Мы обязательно анонсируем выпуск. Ждите!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19👍1
Вы наверняка помните, что в 2024 году вышел ГОСТ Р 71207. Мы не раз писали об этом, например, в этой статье.

Однако пользователям анализаторов сложно определять, насколько тот или иной инструмент соответствует критериям, изложенным в стандарте.

Поэтому ФСТЭК России в 2025 году организует испытания статических анализаторов, результаты которых будут опубликованы в конце года. Ближайший этап — это выработка критериев оценки.

В этой статье
изложены некоторые мысли по этой теме.
4👍4
Друзья, уже через 7 дней состоится наш совместный вебинар с Дмитрием Свиридкиным (27 февраля 14:00)

А пока предлагаем вам задать вопросы Дмитрию про книгу "Путеводитель C++ программиста по неопределённому поведению". Ответ на них получите на вебинаре. Кстати, вот ссылка для регистрации.

Ждем! 😉

#вебинар #cpp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Вышел новый релиз PVS-Studio — 7.35. Поддержка стандарта MISRA C, плагин для Qt Creator 15.X, анализ модифицированных файлов в Visual Studio, и это далеко не всё!

Больше подробностей в этой заметке🔗

#PVS_Studio #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6
PVS-Studio
#Задача_PVS #programming #java
Ответ на задачу: дефект заключается в том, что переменная делится на саму себя. Вследствие чего проверка на кратность будет проходить всегда, и, в случае некорректных входных данных (windowLenMs, numBuckets), исключение так и не будет выброшено.
Please open Telegram to view this post
VIEW IN TELEGRAM
Пришло время поломать голову и угадать, о каком термине идет речь 🧐
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Во второй части нашей трилогии об игровом движке Nau Engine мы обсудим важные аспекты оптимизации и повышения производительности. Наша цель — выявить проблемы, которые могут повлиять на эффективность и стабильность игр, созданных с использованием Nau Engine.

Переходите по ссылке 🔗

#статья #cpp #gamedev
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥2
22 февраля — День рождения Томаса Евгения Курца

Напишите в комментариях еще интересных фактов 😉

#праздник
❤‍🔥6
Действительно ли искусственный интеллект знает всё? Может ли он со 100% точностью ответить на вопросы о вас или вашей работе? В этой статье мы проверим, насколько ChatGPT осведомлён о компании PVS-Studio и об анализаторе.

Переходите по ссылке 🔗

#статья #PVS_Studio
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🤔2😁1
Поиск потенциальных уязвимостей в коде, часть 2: практика

В прошлый раз мы ознакомились с общими подходами в поиске уязвимостей безопасности в приложениях. В этот раз спустимся ближе к земле и посмотрим на то, как мы реализовали эти механизмы в нашем статическом анализаторе для Java.

Переходите по ссылке 🔗

#java #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32
Друзья, у нас начинается сезон конференций и митапов. Скоро мы анонсируем, где увидимся с вами в марте. А пока расскажем, куда мы отправляемся уже через два дня...

Едем мы в Йошкар-Олу на iSpring Tech Backend meetup! На этом митапе наш Developer Advocate расскажет про безопасную разработку, качественный код, технологии статического анализа и др. Кстати, доклад можно послушать онлайн. Все подробности по ссылке 🔗

P.s. если вдруг кто-то из вас там будет, дайте знать в комментариях 😉
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍1
🚀 Рассказываем про новые диагностики

Java отдел на связи! Мы продолжаем реализовывать диагностики, направленные на поиск потенциальных уязвимостей. В этот раз поговорим про XPath и новую диагностику V5312. Пример в студию:
@RestController("/xpathDemo")
public class XPathTestController {
private Document doc;

@GetMapping
public ResponseEntity<String> getXMLData(
@RequestParam("username")
String username,
@RequestParam("password")
String password
) {
var xpath = XPathFactory.newInstance()
.newXPath();

String query = "//users/user[" +
"username/text() = '%s' and" +
"passwordHash/text() = '%s']" +
"/data/text()";

query = String.format(query,
username,
password);

String result = "";
try {
result = xpath.evaluate(query, doc);
// ....
} catch (XPathExpressionException e) {
// ....
}
//....

return new ResponseEntity<>(result, HttpStatus.OK);
}
}


Здесь запрос на языке XPath формируется на основе данных, пришедших извне. В случае, если параметр username будет следующим - john' or ''=', то нам вернутся данные по пользователю john независимо от того, правильный нам пришёл пароль или нет.

Из этого следует, что всегда необходимо проверять, что за данные вы используете, особенно если они пришли снаружи.
И наша диагностика V5312 как раз выявляет случаи, когда для формирования XPath запроса используются непроверенные данные извне. Доступна эта диагностика с релиза 7.35.

#java #PVS_Studio
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
PVS-Studio
#Задача_PVS #programming #csharp
Ответ на задачу: разработчик использовал оператор '?.', подразумевая, что поле stack_instr может быть null. Скорее всего, ожидалось, что выражение stack_instr?.Count < length при stack_instr равным null вернёт true, и произойдёт выход из метода, но нет — результатом будет false.
Из этого следует, что при обращении к stack_instr!.Pop() может произойти разыменование null ссылки (несмотря на то, что вызов размечен с помощью '!').
Please open Telegram to view this post
VIEW IN TELEGRAM
2025/07/13 10:35:55
Back to Top
HTML Embed Code: