Если спросить программиста, какие баги чаще всего можно встретить в C и C++ коде, он назовёт разыменование нулевого указателя, неопределённое поведение, выход за границу массива и другие, на его взгляд, типовые паттерны ошибок. Скорее всего, он назовёт и случайное присваивание в условии. Но действительно ли эта ошибка распространена в наше время?
Рубрика «pvs-studio»
Объявляю ошибку вида if (x = 42) вымирающей и заношу её в Красную книгу C и C++ багов
2024-05-30 в 7:53, admin, рубрики: C, c++, pvs-studio, баги, Компиляторы, Красная книга, нотация Йоды, ошибки в коде, Программирование, Си, статический анализ кодаКак не надо проверять размер массива в С++
2024-04-05 в 11:14, admin, рубрики: c++, c++17, open source, openttd, pvs-studio, sizeof, массив, размер массиваКак часто вам приходится сталкиваться с конструкцией sizeof(array)/sizeof(array[0]) для определения размера массива? Очень надеюсь, что не часто, ведь на дворе уже 2024 год. В заметке поговорим о недостатках конструкции, откуда она берётся в современном коде и как от неё наконец избавиться.
![Как не надо проверять размер массива в С++ - 1 Как не надо проверять размер массива в С++ - 1](https://www.pvsm.ru/images/2024/04/07/kak-ne-nado-proveryat-razmer-massiva-v-s.png)
Чуть больше контекста
Как мы баг в PVS-Studio искали или 278 Гигабайтов логов
2022-10-28 в 12:39, admin, рубрики: c++, pvs, pvs-studio, static analysis, support, анализ кода, баги, Блог компании PVS-Studio, поддержка, С++, статический анализПредлагаем вашему вниманию интересную историю о поиске бага внутри анализатора PVS-Studio. Да, мы тоже допускаем ошибки, но мы готовы засучить рукава и залезть в самую глубину "кроличьей норы".
Небольшое предисловие
Наш коллега уже рассказывал про нашу техническую поддержку. Но всегда интересно послушать какие-то истории, и они у нас есть.
Если хочется программистской жести, то можете сразу переходить к следующему разделу. Если же хочется в целом познакомиться, как мы работаем, то продолжайте читать :). Также вы можете посмотреть юмористический доклад о поддержке С++ программистов.Читать полностью »
Почему в С++ массивы нужно удалять через delete[]
2022-07-27 в 12:18, admin, рубрики: array, c++, Cpp, delete, pvs, pvs-studio, static code analysis, Блог компании PVS-Studio, ПрограммированиеЗаметка рассчитана на начинающих C++ программистов, которым стало интересно, почему везде твердят, что нужно использовать delete[] для массивов, но вместо внятного объяснения – просто прикрываются магическим "undefined behavior". Немного кода, несколько картинок и взгляд под капот компиляторов – всех заинтересованных прошу под кат.
Насколько хорошо защищены ваши пароли? Проверка проекта Bitwarden
2022-05-13 в 12:55, admin, рубрики: .net, C#, pvs-studio, Блог компании PVS-Studio, статический анализ кодаBitwarden – менеджер паролей с открытым исходным кодом. Это программное обеспечение помогает генерировать уникальные пароли и управлять ими. Получится ли у анализатора PVS-Studio отыскать ошибки в таком проекте?
![Насколько хорошо защищены ваши пароли? Проверка проекта Bitwarden - 1 Насколько хорошо защищены ваши пароли? Проверка проекта Bitwarden - 1](https://www.pvsm.ru/images/2022/05/14/naskolko-horosho-zashisheny-vashi-paroli-proverka-proekta-Bitwarden.png)
Введение
Что нового появилось в PVS-Studio в 2021 году
2021-12-31 в 11:50, admin, рубрики: .net 6, CLion, MISRA, OWASP, pvs-studio, safety, SAST, security, static analysis, Unreal Engine, visual studio 2022, Блог компании PVS-Studio2021 вот-вот закончится, а значит, настало время подведения итогов! Сегодня мы поговорим о том, что нового появилось в анализаторе PVS-Studio за прошедший год. Устраивайтесь поудобнее, мы начинаем.
Брутальный Protocol Buffers от Google vs статический анализ кода
2021-11-05 в 10:58, admin, рубрики: c++, open source, protobuf, protocol buffers, pvs-studio, SAST, баги, Блог компании PVS-Studio, информационная безопасность, открытые проекты, статический анализ, статический анализ кодаProtocol Buffers — это очень популярный, крутой и качественный проект, развиваемый в основном компанией Google. Это хороший вызов для статического анализатора кода PVS-Studio. Найти хоть что-то — это уже достижение. Попробуем.
Выявляем ошибки в релизе LLVM 13.0.0
2021-10-08 в 19:16, admin, рубрики: c++, clang, clang static analyzer, Clang-Tidy, LLVM, llvm 13, open source, pvs-studio, баги, Блог компании PVS-Studio, информационная безопасность, Компиляторы, обзоры кода, опечатки, открытый исходный код, ошибки в коде, статический анализ кода
Задача коммерческих статических анализаторов выполнять более глубокий и полный анализ кода, чем компиляторы. Давайте посмотрим, что смог обнаружить PVS-Studio в исходном коде проекта LLVM 13.0.0.
Оптимизация .NET приложений: большой результат маленьких правок
2021-08-11 в 8:15, admin, рубрики: .net, C#, cil, gc, il, optimizations, performance, pvs-studio, Блог компании PVS-StudioСегодня мы посмотрим, как маленькие оптимизации в нужных местах приложения могут неплохо повысить его производительность. Убрали создание лишнего итератора в одном месте, избавились от упаковки в другом, а в итоге получается результат, несоизмеримый с правками.