MemorySanitizer (MSAN), когда он нужен и как внедрять

По разным оценкам, до 10% уязвимостей в коде на C и C++ являются следствием использования неинициализированной памяти (источники: 1 , 2 ). Задача MemorySanitizer (далее, MSAN) - выявлять использование неинициализированной памяти в коде, то есть мусора, например в блоке кода типа if (uninit_var) {...} . Кроме уязвимостей, неинициализированная память даёт о себе знать при портировании приложения на другую платформу, смене компилятора (или поднятии версии используемого), изменении уровня оптимизации или изменении кода таким образом, что то, что раньше "случайно" инициализировалось нулями, стало инициализироваться мусором. MSAN не является статическим анализатором, то есть для его работы требуется выполнение кода (нужны тесты/fuzzing/реальная нагрузка). Прежде чем переходить к самому MSAN, сначала разберемся почему недостаточно (или достаточно?) статического анализа, ведь даже компиляторы умеют предупреждать об использовании неинициализированных данных.

https://habr.com/ru/articles/937934/

#msan #работа_с_памятью #sanitizers #статический_анализ #aiagent

MemorySanitizer (MSAN), когда он нужен и как внедрять

По разным оценкам, до 10% уязвимостей в коде на C и C++ являются следствием использования неинициализированной памяти (источники: 1 , 2 ). Задача MemorySanitizer (далее, MSAN) - выявлять использование...

Хабр

C++OnSea 2024 SESSION ANNOUNCEMENT: LSAN and ASAN: Tips, Tricks and Hacks by Aleksei Veselovskii

https://cpponsea.uk/2024/sessions/lsan-and-asan-tips-tricks-and-hacks

Register now at https://cpponsea.uk/tickets/

#sanitizers #cpp #cplusplus #programming

C++ on Sea

C++OnSea 2024 SESSION ANNOUNCEMENT: LSAN and ASAN: Tips, Tricks and Hacks by Aleksei Veselovskii

https://cpponsea.uk/2024/sessions/lsan-and-asan-tips-tricks-and-hacks

Register now at https://cpponsea.uk/tickets/

#sanitizers #cpp #cplusplus #programming

C++ on Sea

Not All Sanitizers Are the Same: Why HOCL is a Better Choice for Restaurants | RestaurantNews.com

Francine L. Shaw, food safety specialist, podcaster, Founder of Savvy Food Safety, and author of "Who Watches the Kitchen?" sat down with Morten Larsen, CTO of EcoloxTech, to discuss the many significant benefits of Hypochlorous acid (HOCL), and why this sanitizer and disinfectant is the better choice for restaurants and other food businesses.

RestaurantNews.com

C++OnSea 2024 SESSION ANNOUNCEMENT: LSAN and ASAN: Tips, Tricks and Hacks by Aleksei Veselovskii

https://cpponsea.uk/2024/sessions/lsan-and-asan-tips-tricks-and-hacks

Register now at https://cpponsea.uk/tickets/

#sanitizers #cpp #cplusplus #programming

LSAN and ASAN: tips, tricks and hacks : C++ On Sea

Address Sanitizer (ASAN) and Leak Sanitizer (LSAN) have a lot of options and additional functions which sometimes could be used not only for detecting memory errors and leaks

[Перевод] Выявление ошибок в работе с памятью в C и C++: Сравниваем Sanitizers и Valgrind

В этой статье вашему вниманию представлено сравнение двух инструментов для поиска ошибок в работе с памятью в программах, написанных на memory-unsafe (небезопасных при работе с памятью) языках — Sanitizers и Valgrind . Эти два инструмента работают совершенно по-разному. Поэтому, хоть Sanitizers (разработанный инженерами Google) имеет ряд преимуществ перед Valgrind, у каждого из них есть свои сильные и слабые стороны. Следует сразу отметить, что проект Sanitizers имеет название во множественном числе, потому что он состоит из нескольких инструментов, которые мы рассмотрим в этой статье в совокупности.

https://habr.com/ru/companies/otus/articles/801123/

#работа_с_памятью #Sanitizers #Valgrind #динамические_структуры_данных

Выявление ошибок в работе с памятью в C и C++: Сравниваем Sanitizers и Valgrind

В этой статье вашему вниманию представлено сравнение двух инструментов для поиска ошибок в работе с памятью в программах, написанных на memory-unsafe (небезопасных при работе с памятью) языках —...

Хабр

We have released a new CppCon 2023 Video!

Back to Basics: Debugging in Cpp – Greg Law – CppCon 2023
https://youtu.be/qgszy9GquRs
#BackToBasics #BestPractices #cpp #cppBasics #Debugging #gdb #Sanitizers #Tooling

Back to Basics: Debugging in Cpp - Greg Law - CppCon 2023

YouTube

We have released a new CppCon 2023 Video!

How Visual Studio Code Helps You Develop More Efficiently in C++ – Alexandra Kemper and Sinem Akinci
https://youtu.be/Soy3RjGYUJw
#Compilers #cpp #Debugging #GameDevelopment #Git #IDE #Microsoft #PackageManager #Sanitizers #Tooling #VisualStudio

How Visual Studio Code Helps You Develop More Efficiently in C++ - Alexandra Kemper and Sinem Akinci

YouTube

We have released a new CppCon 2023 Video!

New in Visual Studio: CMake Debugger, Better Diagnostics, and Video Games – David Li & Mryam Girmay
https://youtu.be/0UbkMysE7OM
#Compilers #Debugging #GameDevelopment #Git #IDE #Microsoft #PackageManager #Sanitizers #Tooling #VisualStudio

New in Visual Studio: CMake Debugger, Better Diagnostics, and Video Games - David Li & Mryam Girmay

YouTube

Фильтруем логи санитайзеров и valgrind на примере приложения с Qt

Периодически встречающаяся проблемами кода на С и C++ являются утечки памяти и неопределенное поведение. Даже если вы используете умные указатели, то от ошибок в библиотеках сторонних разработчиков вы не застрахованы. Для поиска ошибок в коде существуют специальные инструменты: санитайзеры и valgrind. Однако, не вся информация об ошибках имеет для нас ценность, рассмотрим методы её фильтрации.

https://habr.com/ru/companies/stc_spb/articles/776528/

#sanitizers #valgrind #c++ #qt

Фильтруем логи санитайзеров и valgrind на примере приложения с Qt

Мотивация Периодически встречающаяся проблемами кода на С и C++ являются утечки памяти и неопределенное поведение. Даже если вы используете умные указатели, то от ошибок в библиотеках сторонних...

Хабр