{"id":18739587,"url":"https://github.com/springmeyer/msan-blacklist-testcase","last_synced_at":"2025-11-19T13:30:17.828Z","repository":{"id":66365785,"uuid":"71414949","full_name":"springmeyer/msan-blacklist-testcase","owner":"springmeyer","description":null,"archived":false,"fork":false,"pushed_at":"2016-10-20T02:01:34.000Z","size":69,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-12-28T18:28:20.812Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/springmeyer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-10-20T01:45:29.000Z","updated_at":"2016-10-20T01:45:54.000Z","dependencies_parsed_at":"2023-02-20T16:15:22.608Z","dependency_job_id":null,"html_url":"https://github.com/springmeyer/msan-blacklist-testcase","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/springmeyer%2Fmsan-blacklist-testcase","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/springmeyer%2Fmsan-blacklist-testcase/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/springmeyer%2Fmsan-blacklist-testcase/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/springmeyer%2Fmsan-blacklist-testcase/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/springmeyer","download_url":"https://codeload.github.com/springmeyer/msan-blacklist-testcase/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239619570,"owners_count":19669447,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T15:36:25.447Z","updated_at":"2025-11-19T13:30:17.772Z","avatar_url":"https://github.com/springmeyer.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"This testcase demonstrates a situation where the MemorySanitizer does not respect the blacklist provided.\n\nGiven the `1.blacklist` file ignoring `main` I would expect no output and a zero return code from Memory Sanitizer.\n\nInstead an error is displayed. To replicate install clang++ and run `make`.\n\n\n```\nexport MSAN_OPTIONS=verbosity=3\nmake\n./a.out \n==23370==MemorySanitizer: failed to intercept '__isoc99_printf'\n==23370==MemorySanitizer: failed to intercept '__isoc99_sprintf'\n==23370==MemorySanitizer: failed to intercept '__isoc99_snprintf'\n==23370==MemorySanitizer: failed to intercept '__isoc99_fprintf'\n==23370==MemorySanitizer: failed to intercept '__isoc99_vprintf'\n==23370==MemorySanitizer: failed to intercept '__isoc99_vsprintf'\n==23370==MemorySanitizer: failed to intercept '__isoc99_vsnprintf'\n==23370==MemorySanitizer: failed to intercept '__isoc99_vfprintf'\n__msan_init 0x00000043d970\napp-1: 0 - ffffffffff\nshadow-2: 10000000000 - fffffffffff\ninvalid: 100000000000 - 10ffffffffff\norigin-2: 110000000000 - 1fffffffffff\nshadow-3: 200000000000 - 2fffffffffff\norigin-3: 300000000000 - 3fffffffffff\ninvalid: 400000000000 - 4fffffffffff\nshadow-1: 500000000000 - 50ffffffffff\napp-2: 510000000000 - 5fffffffffff\norigin-1: 600000000000 - 60ffffffffff\ninvalid: 610000000000 - 6fffffffffff\napp-3: 700000000000 - 7fffffffffff\n==23370==Using llvm-symbolizer found at: /wagyu/mason_packages/linux-x86_64/llvm/3.9.0/bin//llvm-symbolizer\nMemorySanitizer init done\n==23370==WARNING: MemorySanitizer: use-of-uninitialized-value\n    #0 0x52c91e in std::_Rb_tree\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, Catch::Ptr\u003cCatch::IReporterFactory\u003e \u003e, std::_Select1st\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, Catch::Ptr\u003cCatch::IReporterFactory\u003e \u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, Catch::Ptr\u003cCatch::IReporterFactory\u003e \u003e \u003e \u003e::_M_get_insert_unique_pos(std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026) (/msan-blacklist-testcase/a.out+0x52c91e)\n    #1 0x52c407 in std::_Rb_tree\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, Catch::Ptr\u003cCatch::IReporterFactory\u003e \u003e, std::_Select1st\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, Catch::Ptr\u003cCatch::IReporterFactory\u003e \u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, Catch::Ptr\u003cCatch::IReporterFactory\u003e \u003e \u003e \u003e::_M_insert_unique(std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, Catch::Ptr\u003cCatch::IReporterFactory\u003e \u003e const\u0026) (/msan-blacklist-testcase/a.out+0x52c407)\n    #2 0x52bd13 in std::map\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, Catch::Ptr\u003cCatch::IReporterFactory\u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, Catch::Ptr\u003cCatch::IReporterFactory\u003e \u003e \u003e \u003e::insert(std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, Catch::Ptr\u003cCatch::IReporterFactory\u003e \u003e const\u0026) (/msan-blacklist-testcase/a.out+0x52bd13)\n    #3 0x52b9c1 in Catch::ReporterRegistry::registerReporter(std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026, Catch::Ptr\u003cCatch::IReporterFactory\u003e const\u0026) (/msan-blacklist-testcase/a.out+0x52b9c1)\n    #4 0x4b6afb in Catch::(anonymous namespace)::RegistryHub::registerReporter(std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026, Catch::Ptr\u003cCatch::IReporterFactory\u003e const\u0026) (/msan-blacklist-testcase/a.out+0x4b6afb)\n    #5 0x4cb240 in Catch::ReporterRegistrar\u003cCatch::JunitReporter\u003e::ReporterRegistrar(std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026) (/msan-blacklist-testcase/a.out+0x4cb240)\n    #6 0x41e752 in __cxx_global_var_init.66 (/msan-blacklist-testcase/a.out+0x41e752)\n    #7 0x41ee8c in _GLOBAL__sub_I_test.cc (/msan-blacklist-testcase/a.out+0x41ee8c)\n    #8 0x62792c in __libc_csu_init (/msan-blacklist-testcase/a.out+0x62792c)\n    #9 0x7f6e516837be in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x207be)\n    #10 0x41eec8 in _start (/msan-blacklist-testcase/a.out+0x41eec8)\n\nSUMMARY: MemorySanitizer: use-of-uninitialized-value (/msan-blacklist-testcase/a.out+0x52c91e) in std::_Rb_tree\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e, std::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, Catch::Ptr\u003cCatch::IReporterFactory\u003e \u003e, std::_Select1st\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, Catch::Ptr\u003cCatch::IReporterFactory\u003e \u003e \u003e, std::less\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e \u003e, std::allocator\u003cstd::pair\u003cstd::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const, Catch::Ptr\u003cCatch::IReporterFactory\u003e \u003e \u003e \u003e::_M_get_insert_unique_pos(std::__cxx11::basic_string\u003cchar, std::char_traits\u003cchar\u003e, std::allocator\u003cchar\u003e \u003e const\u0026)\nExiting\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspringmeyer%2Fmsan-blacklist-testcase","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspringmeyer%2Fmsan-blacklist-testcase","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspringmeyer%2Fmsan-blacklist-testcase/lists"}