Описание тега memory-sanitizer
0
ответов
clang sanitize-blacklist не игнорирует функцию
Я использую clang 7.0.1-6 с -fsatize=memory и -fsanitize-blacklist, чтобы игнорировать унифицированную память в libc. К сожалению, кажется, что msan не игнорирует cap_init или его потомков. $ cat /buildslave/core-ci/build/core/blacklist fun:cap_init…
17 фев '19 в 18:05
1
ответ
Использование Memory Sanitizer с инструментами libC++
Я создал инструментированный libC++, как описано здесь. Я установил флаги, как показано на сайте выше: MSAN_CFLAGS="-fsanitize=memory -stdlib=libc++ -L/path_to/llvm-build-msan/lib -lc++abi -I/path_to/llvm-build-msan/include -I/path_to/llvm-build-msa…
25 окт '17 в 11:05
2
ответа
Средство очистки памяти clang++ сообщает об использовании неинициализированного значения
Этот код взят со страницы gitub IncludeOS. Я немного изменил его, чтобы он компилировался без других заголовочных файлов. find Функция от IncludeOS слишком многословна, поэтому я хочу упростить ее. Но после модификации код ведет себя не так, как я о…
25 ноя '17 в 13:56
1
ответ
Очиститель памяти / адреса vs Valgrind
Я хочу, чтобы какой-то инструмент диагностировал ошибки после освобождения пользователя и неинициализированные ошибки. Я рассматриваю Sanitizer (Память и / или Адрес) и Valgrind. Но я очень мало представляю их преимущества и недостатки. Кто-нибудь м…
12 ноя '17 в 17:08
3
ответа
Использование дезинфицирующего средства памяти с libstdC++
Я хочу использовать -fsanitize=memory флаг в Clang для анализа программы, как показано ниже: #include <string> #include <iostream> #include <fstream> using namespace std; void writeToFile(){ ofstream o; o.open("dum"); o<<"tes…
16 дек '13 в 18:08
1
ответ
Ошибка очистки памяти: clang5 + msan + fwrite структур с заполненными байтами
Минимальный пример: #include <fstream> struct TFoo { bool Field1_ = false; uint64_t Field2_ = 0; }; int main() { TFoo Foo_{}; const char* filename = "text.txt"; std::ofstream f(filename); f.write((char*)(&Foo_), sizeof(Foo_)); } clang с 5-…
26 янв '18 в 08:48
0
ответов
Использование Memory Sanitizer неинициализированного значения с помощью ifstream
Вот минимальный пример для воспроизведения - #include <iostream> #include <string> #include <fstream> using namespace std; int main() { ifstream names("lol.txt"); if(!names) { cerr << "Not found\n"; return -1; } cout <<…
11 дек '17 в 02:38
2
ответа
Как я могу практически использовать AddressSanitizer и MemorySanitizer?
AddressSanitizer и MemorySanitizer - очень полезные инструменты, но они требуют, чтобы вся программа была соответствующим образом оснащена. (По крайней мере, для версии Clang AddressSanitizer; см. Здесь в документации по MemorySanitizer и в разделе …
15 мар '17 в 22:35
1
ответ
Как заставить MemorySanitizer не останавливаться после одной ошибки
В документации Clang сказано, что "по умолчанию MemorySanitizer завершает работу при первой обнаруженной ошибке". Кто-нибудь знает, как заставить MemorySanitizer не останавливаться на ошибках? Приведенное выше предложение предполагает, что есть спо…
29 сен '17 в 08:05
0
ответов
Не может собрать очищающий память инструментальный libC++, который ссылается только на compile-rt (без libgcc)?
Я хочу использовать очиститель памяти C++ (msan) в репозитории с помощью цепочки инструментов llvm (libC++, libunwind, compiler-rt, clang ...). поэтому первое, что мне нужно сделать, - это создать libC++ с инструментарием MSAN. Из MemorySanitizerLib…
04 мар '19 в 20:01
1
ответ
Изменяет ли включение LLVM MemorySanitizer ABI библиотек
Проекты LLVM. MemorySanitizer имеет довольно сложное для удовлетворения ограничение, заключающееся в том, что все системные библиотеки также должны быть построены с помощью MemorySanitizer. Я думал о некоторых способах включения MSAN для проекта, на…
22 ноя '19 в 19:59
0
ответов
Увеличьте проблему с неопределенным символом при связывании со статической библиотекой с помощью средства очистки памяти
Я получаю ошибку ниже при создании статических библиотек uhd-типов и компоновке с библиотеками boost v1.74 с флагом дезинфекции памяти -fsanitize=memory. [ 63%] Built target uhd-types [ 65%] Linking CXX executable ../../bin/unit_tests /usr/bin/ld: .…
10 сен '20 в 08:52
2
ответа
Почему средство очистки памяти сообщает об использовании неинициализированного значения для std::map?
Я использую manjaro linux на x86-64. Средство очистки памяти в clang версии 10.0.1 сообщило об ошибке использования неинициализированного значения в std::map, что меня очень удивило. Я сделал что-то не так? $ cat test.cpp #include <map> int ma…
18 сен '20 в 02:48
0
ответов
Ошибка очистителя памяти Clang с встроенными функциями SSE
Вот фрагмент кода, который генерирует внутреннюю ошибку компилятора, если я компилирую и запускаю его с clang с включенным очистителем памяти. В основном он просто помещает некоторые данные в регистр SSE и вызывает функцию для преобразования половин…
07 сен '20 в 20:38
1
ответ
Дезинфицирующим средствам Clang не хватает чтения из неинициализированной памяти
У меня есть следующий код, который, я уверен, считывается из памяти мусора, но дезинфицирующие средства clang не жалуются. Могу ли я что-то сделать, чтобы они сработали, или я должен просто принять это как ограничение / ошибку? #include <algorith…
29 июл '21 в 16:04
0
ответов
Что означает `Неинициализированное значение было создано путем освобождения кучи`?
Сообщение об ошибке получено с помощью clang sanitizer, когда free() называется. Я не понимаю, как освобождение памяти может создать здесь ценность для выдачи предупреждения?
14 сен '21 в 13:52
1
ответ
MemorySanitzer предупреждает об использовании неопределенной памяти в struct stat; Я все же проверяю возвращаемое значение `stat`, хотя
struct stat st; if (stat(python_pkgdir, &st)) { qd_error_errno(errno, "Cannot find Python library path '%s'", python_pkgdir); return NULL; } else if (!S_ISDIR(st.st_mode)) { // dispatch.c, line 99 qd_error(QD_ERROR_RUNTIME, "Python library path…
19 ноя '21 в 11:40
0
ответов
Как создать общую библиотеку с очистителем памяти с помощью clang++?
Я использовал clang-10 с ubuntu 18.04. Я пытаюсь создать общую библиотеку с очистителем памяти. #include <stdio.h> int foo(int argc, char** argv) { int* a = new int[10]; a[5] = 0; if (a[argc]) printf("xx\n"); return 0; } Объект построен с: cla…
19 дек '21 в 03:41
0
ответов
Ложные срабатывания MemorySanitizer с длинным списком vararg
При запуске набора тестов пакета igraph с MemorySanitizer (clang 13.0) я получаю ложные срабатывания в некоторых (но не во всех) случаях, связанных с очень длинными списками vararg, например здесь: https://github.com/igraph/igraph/blob/70e9e32748144…
20 мар '22 в 20:02
1
ответ
Как мне заставить Clang-дезинфицирующее средство памяти игнорировать данные из определенных библиотек?
Например, я хотел бы игнорировать sqlite и zlib, потому что я знаю, что они хорошо протестированы. я схватил zpipe.cпример и построил его следующим образом. Имейте в виду, что я использую -lzи не строить zlib самостоятельно. Я только сам создаю zpip…
06 апр '22 в 17:51