diff --git a/src/csgrep.cc b/src/csgrep.cc index 022f2a51..f9c5ffd9 100644 --- a/src/csgrep.cc +++ b/src/csgrep.cc @@ -215,6 +215,23 @@ class ToolPredicate: public IPredicate { } }; +class ImpLevelFilter: public AbstractFilter { + private: + const int minLevel_; + + public: + ImpLevelFilter(AbstractWriter *agent, const int minLevel): + AbstractFilter(agent), + minLevel_(minLevel) + { + } + + protected: + bool matchDef(const Defect &def) override { + return minLevel_ <= def.imp; + } +}; + class KeyEventPredicate: public IPredicate { private: const RE re_; @@ -526,7 +543,7 @@ bool chainFilters( return false; } - return true; + return chainDecoratorIntArg(pEng, vm, "imp-level"); } int main(int argc, char *argv[]) @@ -552,6 +569,7 @@ int main(int argc, char *argv[]) ("tool", po::value(), "defect matches if it was detected by tool that matches the given regex") ("annot", po::value(), "defect matches if its annotation matches the given regex") ("src-annot", po::value(), "defect matches if an annotation in the _source_ file matches the given regex") + ("imp-level", po::value(), "defect matches if the importance level is greater or equal than the given number") ("drop-scan-props", "do not propagate scan properties") ("embed-context,U", po::value(), "embed a number of lines of context from the source file for the key event") diff --git a/tests/csgrep/0115-csgrep-imp-filter-args.txt b/tests/csgrep/0115-csgrep-imp-filter-args.txt new file mode 100644 index 00000000..beb90b4d --- /dev/null +++ b/tests/csgrep/0115-csgrep-imp-filter-args.txt @@ -0,0 +1 @@ +--mode=json --imp-level=1 diff --git a/tests/csgrep/0115-csgrep-imp-filter-stdin.txt b/tests/csgrep/0115-csgrep-imp-filter-stdin.txt new file mode 100644 index 00000000..754a1459 --- /dev/null +++ b/tests/csgrep/0115-csgrep-imp-filter-stdin.txt @@ -0,0 +1,11219 @@ +{ + "defects": [ + { + "checker": "MISSING_MOVE_ASSIGNMENT", + "function": "null", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-bitset.h", + "line": 209, + "event": "missing_move_assignment", + "message": "Class \"bpf::bitset::set1\" may benefit from adding a move assignment operator. See other events which show the copy assignment operator being applied to rvalue(s), where a move assignment may be faster.", + "verbosity_level": 0 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-opt.cxx", + "line": 633, + "event": "copy_assignment", + "message": "Example 1: Copy assignment is performed on an object (rvalue) of type \"bpf::bitset::set1\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-opt.cxx", + "line": 528, + "event": "copy_assignment", + "message": "Example 2: Copy assignment is performed on an object (rvalue) of type \"bpf::bitset::set1\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-opt.cxx", + "line": 533, + "event": "copy_assignment", + "message": "Example 3: Copy assignment is performed on an object (rvalue) of type \"bpf::bitset::set1\".", + "verbosity_level": 1 + } + ] + }, + { + "checker": "UNINIT_CTOR", + "cwe": 457, + "function": "bpf::life_data::life_data(unsigned long, unsigned long)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 1, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-opt.cxx", + "line": 475, + "event": "member_decl", + "message": "Class member declaration for \"npartitions\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-opt.cxx", + "line": 487, + "event": "uninit_member", + "message": "Non-static class member \"npartitions\" is not initialized in this constructor nor in any functions that it calls.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "UNINIT_CTOR", + "cwe": 457, + "function": "bpf::bpf_unparser::bpf_unparser(bpf::program &, bpf::globals &)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 4, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 310, + "event": "path", + "message": "No elements left in \"this->glob.session->c_macros\", leaving loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 175, + "event": "member_decl", + "message": "Class member declaration for \"error_status\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 324, + "event": "uninit_member", + "message": "Non-static class member \"error_status\" is not initialized in this constructor nor in any functions that it calls.", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 284, + "event": "member_decl", + "message": "Class member declaration for \"adjust_pos\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 324, + "event": "uninit_member", + "message": "Non-static class member \"adjust_pos\" is not initialized in this constructor nor in any functions that it calls.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "STREAM_FORMAT_STATE", + "function": "bpf::operator <<(std::basic_ostream > &, bpf::asm_stmt const &)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 7, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 854, + "event": "path", + "message": "Condition \"stmt.kind == \"label\"\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 856, + "event": "path", + "message": "Condition \"stmt.kind == \"opcode\"\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 858, + "event": "format_changed", + "message": "\"hex\" changes the format state of \"o\" for category basefield.", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 861, + "event": "path", + "message": "Condition \"stmt.off != 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 862, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 865, + "event": "path", + "message": "Condition \"stmt.jmp_target != \"\"\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 870, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 886, + "event": "end_of_path", + "message": "Changing format state of stream \"o\" for category basefield without later restoring it.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "UNINIT_CTOR", + "cwe": 457, + "function": "bpf::BPF_Section::BPF_Section(std::__cxx11::basic_string, std::allocator > const &)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 1, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 4032, + "event": "member_decl", + "message": "Class member declaration for \"shdr\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 4044, + "event": "uninit_member", + "message": "Non-static class member \"shdr\" is not initialized in this constructor nor in any functions that it calls.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "RESOURCE_LEAK", + "cwe": 404, + "imp": 1, + "function": "bpf::output_probe(bpf::BPF_Output &, bpf::program &, std::__cxx11::basic_string, std::allocator > const &, unsigned int)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 15, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 4625, + "event": "path", + "message": "Condition \"i != std::vector >::iterator(prog.blocks.end())\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 4661, + "event": "path", + "message": "Condition \"buf\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 4661, + "event": "path", + "message": "Condition \"(bool)buf\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 4662, + "event": "alloc_fn", + "message": "Storage is returned from allocation function \"calloc\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 4662, + "event": "var_assign", + "message": "Assigning: \"rel\" = storage returned from \"calloc(16UL, nreloc)\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 4663, + "event": "path", + "message": "Condition \"rel\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 4663, + "event": "path", + "message": "Condition \"(bool)rel\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 4666, + "event": "path", + "message": "Condition \"bi != std::vector >::iterator(prog.blocks.end())\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 4719, + "event": "path", + "message": "Condition \"i == ninsns\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 4719, + "event": "path", + "message": "Condition \"i == ninsns\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 4719, + "event": "path", + "message": "Condition \"(bool)(i == ninsns)\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 4720, + "event": "path", + "message": "Condition \"r == nreloc\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 4720, + "event": "path", + "message": "Condition \"r == nreloc\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 4720, + "event": "path", + "message": "Condition \"(bool)(r == nreloc)\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 4732, + "event": "path", + "message": "Condition \"nreloc\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 4744, + "event": "leaked_storage", + "message": "Variable \"rel\" going out of scope leaks the storage it points to.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "TOCTOU", + "cwe": 367, + "function": "clean_cache(systemtap_session &)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 5, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 234, + "event": "path", + "message": "Condition \"s.cache_path != \"\"\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 242, + "event": "path", + "message": "Condition \"cache_max_file.is_open()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 246, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 265, + "event": "path", + "message": "Condition \"cache_clean_interval_file.is_open()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 269, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 284, + "event": "fs_check_call", + "message": "Calling function \"stat\" to perform check on \"cache_clean_interval_filename.c_str()\".", + "verbosity_level": 0 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 284, + "event": "path", + "message": "Condition \"stat(cache_clean_interval_filename.c_str(), &sb) < 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 293, + "event": "path", + "message": "Condition \"difftime(current_time.tv_sec, sb.st_mtim.tv_sec) < cache_clean_interval\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 304, + "event": "path", + "message": "Condition \"s.verbose > 1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 313, + "event": "path", + "message": "Condition \"i < 32\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 314, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 313, + "event": "path", + "message": "Condition \"i < 32\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 314, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 313, + "event": "path", + "message": "Condition \"i < 32\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 317, + "event": "path", + "message": "Condition \"rc\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 324, + "event": "path", + "message": "Condition \"rc\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 332, + "event": "path", + "message": "Condition \"i < cache_glob.gl_pathc\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 337, + "event": "path", + "message": "Condition \"rc\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 338, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 343, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 332, + "event": "path", + "message": "Condition \"i < cache_glob.gl_pathc\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 337, + "event": "path", + "message": "Condition \"rc\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 338, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 343, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 332, + "event": "path", + "message": "Condition \"i < cache_glob.gl_pathc\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 351, + "event": "path", + "message": "Condition \"it != std::_Rb_tree_const_iterator, std::allocator > const, std::vector, std::allocator >, std::allocator, std::allocator > > > > >::_Self const(std::map, std::allocator >, std::vector, std::allocator >, std::allocator, std::allocator > > >, std::less, std::allocator > >, std::allocator, std::allocator > const, std::vector, std::allocator >, std::allocator, std::allocator > > > > > >::iterator(cache_groups.end()))\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 355, + "event": "path", + "message": "Condition \"cache_contents.insert(cur_info).second\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 357, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 351, + "event": "path", + "message": "Condition \"it != std::_Rb_tree_const_iterator, std::allocator > const, std::vector, std::allocator >, std::allocator, std::allocator > > > > >::_Self const(std::map, std::allocator >, std::vector, std::allocator >, std::allocator, std::allocator > > >, std::less, std::allocator > >, std::allocator, std::allocator > const, std::vector, std::allocator >, std::allocator, std::allocator > > > > > >::iterator(cache_groups.end()))\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 363, + "event": "path", + "message": "Condition \"i != std::set, std::allocator >::iterator(cache_contents.end())\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 366, + "event": "path", + "message": "Condition \"r_cache_size < cache_mb_max * 1024 * 1024\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 367, + "event": "path", + "message": "Breaking from loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 377, + "event": "path", + "message": "Condition \"s.verbose > 1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 377, + "event": "path", + "message": "Condition \"!removed.empty()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 380, + "event": "path", + "message": "Condition \"i < removed.size()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 381, + "event": "path", + "message": "Condition \"j < removed[i]->paths.size()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 382, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 381, + "event": "path", + "message": "Condition \"j < removed[i]->paths.size()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 382, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 381, + "event": "path", + "message": "Condition \"j < removed[i]->paths.size()\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 382, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 380, + "event": "path", + "message": "Condition \"i < removed.size()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 381, + "event": "path", + "message": "Condition \"j < removed[i]->paths.size()\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 382, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 380, + "event": "path", + "message": "Condition \"i < removed.size()\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/cache.cxx", + "line": 385, + "event": "toctou", + "message": "Calling function \"utime\" that uses \"cache_clean_interval_filename.c_str()\" after a check function. This can cause a time-of-check, time-of-use race condition.", + "verbosity_level": 1 + } + ] + }, + { + "checker": "RESOURCE_LEAK", + "cwe": 404, + "imp": 1, + "function": "sql_stmt(sqlite3 *, char const *)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 3, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/coveragedb.cxx", + "line": 148, + "event": "alloc_arg", + "message": "\"sqlite3_exec\" allocates memory that is stored into \"errmsg\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/coveragedb.cxx", + "line": 150, + "event": "path", + "message": "Condition \"ret != 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/coveragedb.cxx", + "line": 151, + "event": "noescape", + "message": "Resource \"errmsg\" is not freed or pointed-to in \"operator <<\". [Note: The source code implementation of the function has been overridden by a builtin model.]", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/coveragedb.cxx", + "line": 154, + "event": "leaked_storage", + "message": "Variable \"errmsg\" going out of scope leaks the storage it points to.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "UNINIT_CTOR", + "cwe": 457, + "function": "functioncall_security_check::functioncall_security_check(systemtap_session &, functioncall *)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 1, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/elaborate.cxx", + "line": 3091, + "event": "member_decl", + "message": "Class member declaration for \"current_function\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/elaborate.cxx", + "line": 3093, + "event": "uninit_member", + "message": "Non-static class member \"current_function\" is not initialized in this constructor nor in any functions that it calls.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "SECURE_TEMP", + "cwe": 377, + "function": "edit_cmd::handler(systemtap_session &, std::vector, std::allocator >, std::allocator, std::allocator > > > &, std::__cxx11::basic_string, std::allocator > &)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 1, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/interactive.cxx", + "line": 829, + "event": "path", + "message": "Condition \"(editor = getenv(\"EDITOR\")) == NULL\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/interactive.cxx", + "line": 833, + "event": "secure_temp", + "message": "Calling \"mkstemp\" without securely setting umask first.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "STREAM_FORMAT_STATE", + "function": "interactive_usage()", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 8, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/interactive.cxx", + "line": 1344, + "event": "path", + "message": "Condition \"it != std::vector >::iterator(command_vec.end())\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/interactive.cxx", + "line": 1347, + "event": "path", + "message": "Condition \"(*it)->usage.size() > width\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/interactive.cxx", + "line": 1349, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/interactive.cxx", + "line": 1344, + "event": "path", + "message": "Condition \"it != std::vector >::iterator(command_vec.end())\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/interactive.cxx", + "line": 1351, + "event": "path", + "message": "Condition \"it != std::vector >::iterator(command_vec.end())\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/interactive.cxx", + "line": 1354, + "event": "format_changed", + "message": "\"left\" changes the format state of \"std::cout\" for category adjustfield.", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/interactive.cxx", + "line": 1356, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/interactive.cxx", + "line": 1351, + "event": "path", + "message": "Condition \"it != std::vector >::iterator(command_vec.end())\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/interactive.cxx", + "line": 1357, + "event": "end_of_path", + "message": "Changing format state of stream \"std::cout\" for category adjustfield without later restoring it.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "location_context::location_context(target_symbol *, expression *)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 1, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/loc2stap.cxx", + "line": 36, + "event": "path", + "message": "Condition \"pp\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/loc2stap.cxx", + "line": 38, + "event": "alloc_new", + "message": "Allocating memory by calling \"new vardecl\".", + "verbosity_level": 0 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/loc2stap.cxx", + "line": 38, + "event": "assign", + "message": "Assigning: \"v\" = \"new vardecl\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/loc2stap.cxx", + "line": 42, + "event": "assign", + "message": "Assigning: \"this->pointer\" = \"v\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/loc2stap.cxx", + "line": 46, + "event": "path", + "message": "Condition \"i < ee->components.size()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/loc2stap.cxx", + "line": 47, + "event": "path", + "message": "Condition \"ee->components[i].type == target_symbol::comp_expression_array_index\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/loc2stap.cxx", + "line": 62, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/loc2stap.cxx", + "line": 46, + "event": "path", + "message": "Condition \"i < ee->components.size()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/loc2stap.cxx", + "line": 47, + "event": "path", + "message": "Condition \"ee->components[i].type == target_symbol::comp_expression_array_index\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/loc2stap.cxx", + "line": 62, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/loc2stap.cxx", + "line": 46, + "event": "path", + "message": "Condition \"i < ee->components.size()\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/loc2stap.cxx", + "line": 42, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"pointer\" of \"location_context\" but there is no destructor.", + "verbosity_level": 1 + } + ] + }, + { + "checker": "UNINIT_CTOR", + "cwe": 457, + "function": "location_context::location_context(target_symbol *, expression *)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 11, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/loc2stap.cxx", + "line": 36, + "event": "path", + "message": "Condition \"pp\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/loc2stap.cxx", + "line": 46, + "event": "path", + "message": "Condition \"i < ee->components.size()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/loc2stap.cxx", + "line": 47, + "event": "path", + "message": "Condition \"ee->components[i].type == target_symbol::comp_expression_array_index\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/loc2stap.cxx", + "line": 62, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/loc2stap.cxx", + "line": 46, + "event": "path", + "message": "Condition \"i < ee->components.size()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/loc2stap.cxx", + "line": 47, + "event": "path", + "message": "Condition \"ee->components[i].type == target_symbol::comp_expression_array_index\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/loc2stap.cxx", + "line": 62, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/loc2stap.cxx", + "line": 46, + "event": "path", + "message": "Condition \"i < ee->components.size()\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/loc2stap.h", + "line": 73, + "event": "member_decl", + "message": "Class member declaration for \"parameter_ref\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/loc2stap.cxx", + "line": 63, + "event": "uninit_member", + "message": "Non-static class member \"parameter_ref\" is not initialized in this constructor nor in any functions that it calls.", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/loc2stap.h", + "line": 85, + "event": "member_decl", + "message": "Class member declaration for \"userspace_p\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/loc2stap.cxx", + "line": 63, + "event": "uninit_member", + "message": "Non-static class member \"userspace_p\" is not initialized in this constructor nor in any functions that it calls.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "REVERSE_INULL", + "cwe": 476, + "function": "nss_get_specified_server_info(systemtap_session &, std::vector > &, bool)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 1, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/nss-server-info.cxx", + "line": 1572, + "event": "deref_ptr_in_call", + "message": "Dereferencing pointer \"backend\". (The dereference happens because this is a virtual function call.)", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/nss-server-info.cxx", + "line": 1639, + "event": "check_after_deref", + "message": "Null-checking \"backend\" suggests that it may be null, but it has already been dereferenced on all paths leading to the check.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "DC.WEAK_CRYPTO", + "cwe": 676, + "function": "generate_private_key(std::__cxx11::basic_string, std::allocator > const &, PK11SlotInfoStr *, SECKEYPublicKeyStr **)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/nsscommon.cxx", + "line": 482, + "event": "dont_call", + "message": "\"rand\" should not be used for security-related applications, because linear congruential algorithms are too easy to break.", + "verbosity_level": 0 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/nsscommon.cxx", + "line": 482, + "event": "remediation", + "message": "Use a compliant random number generator, such as \"/dev/random\" or \"/dev/urandom\" on Unix-like systems, and CNG (Cryptography API: Next Generation) on Windows.", + "verbosity_level": 1 + } + ] + }, + { + "checker": "CONSTANT_EXPRESSION_RESULT", + "cwe": 569, + "function": "parser::expect_number(long &)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 1358, + "event": "result_independent_of_operands", + "message": "\"(unsigned long long)value > 18446744073709551615ULL\" is always false regardless of the values of its operands. This occurs as the logical second operand of \"||\".", + "verbosity_level": 0 + } + ] + }, + { + "checker": "NULL_RETURNS", + "cwe": 476, + "function": "parser::do_parse_functiondecl(std::vector > &, token const *, std::__cxx11::basic_string, std::allocator > const &, bool)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 17, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2397, + "event": "path", + "message": "Condition \"!(t->type == tok_identifier)\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2397, + "event": "path", + "message": "Condition \"t->type == tok_keyword\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2397, + "event": "path", + "message": "Condition \"t->content == \"string\"\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2397, + "event": "path", + "message": "Condition \"t->content == \"long\"\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2413, + "event": "path", + "message": "Condition \"t->type == tok_operator\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2413, + "event": "path", + "message": "Condition \"t->content == \":\"\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2417, + "event": "path", + "message": "Condition \"t->type == tok_keyword\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2417, + "event": "path", + "message": "Condition \"t->content == \"string\"\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2418, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2427, + "event": "path", + "message": "Condition \"t->type == tok_operator\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2427, + "event": "path", + "message": "Condition \"t->content == \"(\"\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2431, + "event": "path", + "message": "Condition \"true /* 1 */\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2436, + "event": "path", + "message": "Condition \"t->type == tok_operator\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2436, + "event": "path", + "message": "Condition \"t->content == \")\"\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2439, + "event": "path", + "message": "Breaking from loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2485, + "event": "returned_null", + "message": "\"peek\" returns \"nullptr\" (checked 72 out of 79 times).", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2485, + "event": "var_assigned", + "message": "Assigning: \"t\" = \"nullptr\" return value from \"peek\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2486, + "event": "dereference", + "message": "Dereferencing \"t\", which is known to be \"nullptr\".", + "verbosity_level": 0 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2736, + "event": "example_assign", + "message": "Example 1: Assigning: \"n\" = return value from \"this->peek()\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2737, + "event": "example_checked", + "message": "Example 1 (cont.): \"n\" has its value checked in \"n != NULL\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 3753, + "event": "example_assign", + "message": "Example 2: Assigning: \"t\" = return value from \"this->peek()\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 3754, + "event": "example_checked", + "message": "Example 2 (cont.): \"t\" has its value checked in \"t\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 4275, + "event": "example_assign", + "message": "Example 3: Assigning: \"t\" = return value from \"this->peek()\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 4276, + "event": "example_checked", + "message": "Example 3 (cont.): \"t\" has its value checked in \"t\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 4341, + "event": "example_assign", + "message": "Example 4: Assigning: \"t\" = return value from \"this->peek()\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 4342, + "event": "example_checked", + "message": "Example 4 (cont.): \"t\" has its value checked in \"t != NULL\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 3705, + "event": "example_assign", + "message": "Example 5: Assigning: \"t\" = return value from \"this->peek()\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 3706, + "event": "example_checked", + "message": "Example 5 (cont.): \"t\" has its value checked in \"t\".", + "verbosity_level": 1 + } + ] + }, + { + "checker": "RESOURCE_LEAK", + "cwe": 404, + "imp": 1, + "function": "parser::parse_components()", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 32, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2546, + "event": "path", + "message": "Condition \"true /* 1 */\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2551, + "event": "path", + "message": "Condition \"pps.empty()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2552, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2585, + "event": "path", + "message": "Condition \"t\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2585, + "event": "path", + "message": "Condition \"t->type == tok_operator\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2585, + "event": "path", + "message": "Condition \"t->content == \".\"\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2594, + "event": "path", + "message": "Condition \"t\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2594, + "event": "path", + "message": "Condition \"t->type == tok_operator\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2594, + "event": "path", + "message": "Condition \"t->content == \"?\"\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2597, + "event": "path", + "message": "Condition \"i < pps.size()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2599, + "event": "path", + "message": "Condition \"pps[i]->optional\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2599, + "event": "path", + "message": "Condition \"pps[i]->sufficient\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2602, + "event": "path", + "message": "Condition \"t->content == \"!\"\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2603, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2597, + "event": "path", + "message": "Condition \"i < pps.size()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2599, + "event": "path", + "message": "Condition \"pps[i]->optional\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2599, + "event": "path", + "message": "Condition \"pps[i]->sufficient\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2602, + "event": "path", + "message": "Condition \"t->content == \"!\"\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2603, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2597, + "event": "path", + "message": "Condition \"i < pps.size()\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2610, + "event": "path", + "message": "Condition \"t\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2610, + "event": "path", + "message": "Condition \"t->type == tok_keyword\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2610, + "event": "path", + "message": "Condition \"t->content == \"if\"\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2614, + "event": "path", + "message": "Condition \"t\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2614, + "event": "path", + "message": "Condition \"t->type == tok_operator\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2614, + "event": "path", + "message": "Condition \"t->content == \"(\"\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2618, + "event": "alloc_fn", + "message": "Storage is returned from allocation function \"parse_expression\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2618, + "event": "var_assign", + "message": "Assigning: \"e\" = storage returned from \"this->parse_expression()\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2619, + "event": "path", + "message": "Condition \"i < pps.size()\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2627, + "event": "path", + "message": "Condition \"t\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2627, + "event": "path", + "message": "Condition \"t->type == tok_operator\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2627, + "event": "path", + "message": "Condition \"t->content == \")\"\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2630, + "event": "leaked_storage", + "message": "Variable \"e\" going out of scope leaks the storage it points to.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "REVERSE_INULL", + "cwe": 476, + "function": "parser::parse_component()", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 1, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2641, + "event": "deref_ptr", + "message": "Directly dereferencing pointer \"t\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2648, + "event": "check_after_deref", + "message": "Null-checking \"t\" suggests that it may be null, but it has already been dereferenced on all paths leading to the check.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "CONSTANT_EXPRESSION_RESULT", + "cwe": 569, + "function": "parser::parse_literal()", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2804, + "event": "result_independent_of_operands", + "message": "\"(unsigned long long)value > 18446744073709551615ULL\" is always false regardless of the values of its operands. This occurs as the logical second operand of \"||\".", + "verbosity_level": 0 + } + ] + }, + { + "checker": "NULL_RETURNS", + "cwe": 476, + "function": "parser::parse_return_statement()", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 5, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2876, + "event": "path", + "message": "Condition \"t->type == tok_keyword\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2876, + "event": "path", + "message": "Condition \"t->content == \"return\"\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2878, + "event": "path", + "message": "Condition \"this->context != con_function\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2883, + "event": "returned_null", + "message": "\"peek\" returns \"nullptr\" (checked 72 out of 79 times).", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2883, + "event": "var_assigned", + "message": "Assigning: \"t\" = \"nullptr\" return value from \"peek\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2884, + "event": "dereference", + "message": "Dereferencing \"t\", which is known to be \"nullptr\".", + "verbosity_level": 0 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2736, + "event": "example_assign", + "message": "Example 1: Assigning: \"n\" = return value from \"this->peek()\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2737, + "event": "example_checked", + "message": "Example 1 (cont.): \"n\" has its value checked in \"n != NULL\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 3753, + "event": "example_assign", + "message": "Example 2: Assigning: \"t\" = return value from \"this->peek()\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 3754, + "event": "example_checked", + "message": "Example 2 (cont.): \"t\" has its value checked in \"t\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 4275, + "event": "example_assign", + "message": "Example 3: Assigning: \"t\" = return value from \"this->peek()\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 4276, + "event": "example_checked", + "message": "Example 3 (cont.): \"t\" has its value checked in \"t\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 4341, + "event": "example_assign", + "message": "Example 4: Assigning: \"t\" = return value from \"this->peek()\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 4342, + "event": "example_checked", + "message": "Example 4 (cont.): \"t\" has its value checked in \"t != NULL\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 3705, + "event": "example_assign", + "message": "Example 5: Assigning: \"t\" = return value from \"this->peek()\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 3706, + "event": "example_checked", + "message": "Example 5 (cont.): \"t\" has its value checked in \"t\".", + "verbosity_level": 1 + } + ] + }, + { + "checker": "UNCAUGHT_EXCEPT", + "cwe": 248, + "function": "direct::~direct()", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/remote.cxx", + "line": 123, + "event": "exn_spec_violation", + "message": "An exception of type \"boost::wrapexcept\" is thrown but the throw list \"noexcept\" doesn't allow it to be thrown. This will cause a call to unexpected() which usually calls terminate().", + "verbosity_level": 0 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/remote.cxx", + "line": 123, + "event": "fun_call_w_exception", + "message": "Called function throws an exception of type \"boost::wrapexcept\".", + "verbosity_level": 1 + } + ] + }, + { + "checker": "STRING_OVERFLOW", + "cwe": 120, + "function": "unix_stapsh::unix_stapsh(systemtap_session &, uri_decoder const &)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 7, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/remote.cxx", + "line": 687, + "event": "path", + "message": "Condition \"i < s.perpass_verbose[4]\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/remote.cxx", + "line": 688, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/remote.cxx", + "line": 687, + "event": "path", + "message": "Condition \"i < s.perpass_verbose[4]\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/remote.cxx", + "line": 688, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/remote.cxx", + "line": 687, + "event": "path", + "message": "Condition \"i < s.perpass_verbose[4]\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/remote.cxx", + "line": 692, + "event": "path", + "message": "Condition \"ud.path.empty()\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/remote.cxx", + "line": 694, + "event": "path", + "message": "Condition \"ud.path.size() > 107UL /* sizeof (server.sun_path) - 1 */\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/remote.cxx", + "line": 696, + "event": "fixed_size_dest", + "message": "You might overrun the 108-character fixed-size string \"server.sun_path\" by copying the return value of \"c_str\" without checking the length.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "UNINIT_CTOR", + "cwe": 457, + "function": "systemtap_session::systemtap_session(systemtap_session const &, std::__cxx11::basic_string, std::allocator > const &, std::__cxx11::basic_string, std::allocator > const &)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 3, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.h", + "line": 238, + "event": "member_decl", + "message": "Class member declaration for \"read_stdin\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 419, + "event": "uninit_member", + "message": "Non-static class member \"read_stdin\" is not initialized in this constructor nor in any functions that it calls.", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.h", + "line": 269, + "event": "member_decl", + "message": "Class member declaration for \"use_bpf_raw_tracepoint\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 419, + "event": "uninit_member", + "message": "Non-static class member \"use_bpf_raw_tracepoint\" is not initialized in this constructor nor in any functions that it calls.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "FORWARD_NULL", + "cwe": 476, + "function": "systemtap_session::parse_cmdline(int, char * const *)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 11, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 748, + "event": "path", + "message": "Condition \"true\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 756, + "event": "path", + "message": "Condition \"grc < 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 758, + "event": "path", + "message": "Switch case value \"LONG_OPT_DOWNLOAD_DEBUGINFO\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 1163, + "event": "path", + "message": "Condition \"optarg\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 1163, + "event": "var_compare_op", + "message": "Comparing \"optarg\" to null implies that \"optarg\" might be null.", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 1183, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 1675, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 748, + "event": "path", + "message": "Condition \"true\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 756, + "event": "path", + "message": "Condition \"grc < 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 758, + "event": "path", + "message": "Switch case value \"LONG_OPT_TMPDIR\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 1154, + "event": "path", + "message": "Condition \"this->client_options\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 1159, + "event": "var_deref_model", + "message": "Passing null pointer \"optarg\" to \"operator =\", which dereferences it. [Note: The source code implementation of the function has been overridden by a builtin model.]", + "verbosity_level": 0 + } + ] + }, + { + "checker": "FORWARD_NULL", + "cwe": 476, + "function": "systemtap_session::parse_cmdline(int, char * const *)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 11, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 748, + "event": "path", + "message": "Condition \"true\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 756, + "event": "path", + "message": "Condition \"grc < 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 758, + "event": "path", + "message": "Switch case value \"LONG_OPT_DOWNLOAD_DEBUGINFO\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 1163, + "event": "path", + "message": "Condition \"optarg\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 1163, + "event": "var_compare_op", + "message": "Comparing \"optarg\" to null implies that \"optarg\" might be null.", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 1183, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 1675, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 748, + "event": "path", + "message": "Condition \"true\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 756, + "event": "path", + "message": "Condition \"grc < 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 758, + "event": "path", + "message": "Switch case value \"LONG_OPT_REMOTE\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 1311, + "event": "path", + "message": "Condition \"this->client_options\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 1316, + "event": "var_deref_model", + "message": "Passing null pointer \"optarg\" to \"basic_string\", which dereferences it. [Note: The source code implementation of the function has been overridden by a builtin model.]", + "verbosity_level": 0 + } + ] + }, + { + "checker": "FORWARD_NULL", + "cwe": 476, + "function": "systemtap_session::parse_cmdline(int, char * const *)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 11, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 748, + "event": "path", + "message": "Condition \"true\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 756, + "event": "path", + "message": "Condition \"grc < 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 758, + "event": "path", + "message": "Switch case value \"LONG_OPT_DOWNLOAD_DEBUGINFO\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 1163, + "event": "path", + "message": "Condition \"optarg\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 1163, + "event": "var_compare_op", + "message": "Comparing \"optarg\" to null implies that \"optarg\" might be null.", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 1183, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 1675, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 748, + "event": "path", + "message": "Condition \"true\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 756, + "event": "path", + "message": "Condition \"grc < 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 758, + "event": "path", + "message": "Switch case value \"LONG_OPT_SYSENV\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 1530, + "event": "path", + "message": "Condition \"this->client_options\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 1534, + "event": "var_deref_model", + "message": "Passing null pointer \"optarg\" to \"basic_string\", which dereferences it. [Note: The source code implementation of the function has been overridden by a builtin model.]", + "verbosity_level": 0 + } + ] + }, + { + "checker": "FORWARD_NULL", + "cwe": 476, + "function": "systemtap_session::parse_cmdline(int, char * const *)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 10, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 748, + "event": "path", + "message": "Condition \"true\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 756, + "event": "path", + "message": "Condition \"grc < 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 758, + "event": "path", + "message": "Switch case value \"LONG_OPT_DOWNLOAD_DEBUGINFO\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 1163, + "event": "path", + "message": "Condition \"optarg\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 1163, + "event": "var_compare_op", + "message": "Comparing \"optarg\" to null implies that \"optarg\" might be null.", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 1183, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 1675, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 748, + "event": "path", + "message": "Condition \"true\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 756, + "event": "path", + "message": "Condition \"grc < 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 758, + "event": "path", + "message": "Switch case value \"LONG_OPT_RUNTIME\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/session.cxx", + "line": 1569, + "event": "var_deref_model", + "message": "Passing null pointer \"optarg\" to \"basic_string\", which dereferences it. [Note: The source code implementation of the function has been overridden by a builtin model.]", + "verbosity_level": 0 + } + ] + }, + { + "checker": "TAINTED_SCALAR", + "cwe": 606, + "function": "_Z19get_kernel_build_idB5cxx11R17systemtap_session", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 18, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/setupdwfl.cxx", + "line": 743, + "event": "path", + "message": "Condition \"s.verbose > 2\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/setupdwfl.cxx", + "line": 747, + "event": "path", + "message": "Condition \"buildIDfile.is_open()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/setupdwfl.cxx", + "line": 750, + "event": "path", + "message": "Condition \"buildIDfile.good()\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/setupdwfl.cxx", + "line": 759, + "event": "path", + "message": "Condition \"found == false\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/setupdwfl.cxx", + "line": 759, + "event": "path", + "message": "Condition \"s.native_build\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/setupdwfl.cxx", + "line": 761, + "event": "path", + "message": "Condition \"s.verbose > 1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/setupdwfl.cxx", + "line": 766, + "event": "path", + "message": "Condition \"fd < 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/setupdwfl.cxx", + "line": 769, + "event": "path", + "message": "Condition \"true /* (bool)(sizeof (Elf32_Nhdr) == sizeof (GElf_Nhdr)) */\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/setupdwfl.cxx", + "line": 770, + "event": "path", + "message": "Condition \"true /* (bool)(sizeof (Elf64_Nhdr) == sizeof (GElf_Nhdr)) */\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/setupdwfl.cxx", + "line": 778, + "event": "tainted_argument", + "message": "Calling function \"read\" taints argument \"*buf.data\". [Note: The source code implementation of the function has been overridden by a builtin model.]", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/setupdwfl.cxx", + "line": 781, + "event": "path", + "message": "Condition \"n <= 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/setupdwfl.cxx", + "line": 784, + "event": "var_assign_var", + "message": "Assigning: \"p\" = \"buf.data\". Both are now tainted.", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/setupdwfl.cxx", + "line": 785, + "event": "path", + "message": "Condition \"p < &buf.data[n]\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/setupdwfl.cxx", + "line": 788, + "event": "var_assign_var", + "message": "Assigning: \"nhdr\" = \"(GElf_Nhdr *)p\". Both are now tainted.", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/setupdwfl.cxx", + "line": 795, + "event": "path", + "message": "Condition \"p <= &buf.data[n]\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/setupdwfl.cxx", + "line": 795, + "event": "path", + "message": "Condition \"nhdr->n_type == 3\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/setupdwfl.cxx", + "line": 795, + "event": "path", + "message": "Condition \"nhdr->n_namesz == 4UL /* sizeof (\"GNU\") */\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/setupdwfl.cxx", + "line": 795, + "event": "path", + "message": "Condition \"!memcmp(name, \"GNU\", 4UL /* sizeof (\"GNU\") */)\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/setupdwfl.cxx", + "line": 801, + "event": "tainted_data", + "message": "Passing tainted expression \"nhdr->n_descsz\" to \"hex_dump\", which uses it as a loop boundary.", + "verbosity_level": 0 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/setupdwfl.cxx", + "line": 801, + "event": "remediation", + "message": "Ensure that tainted values are properly sanitized, by checking that their values are within a permissible range.", + "verbosity_level": 1 + } + ] + }, + { + "checker": "TOCTOU", + "cwe": 367, + "function": "handleRequest(std::__cxx11::basic_string, std::allocator > const &, std::__cxx11::basic_string, std::allocator > const &, std::__cxx11::basic_string, std::allocator >)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 17, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stap-serverd.cxx", + "line": 1729, + "event": "path", + "message": "Condition \"f\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stap-serverd.cxx", + "line": 1733, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stap-serverd.cxx", + "line": 1739, + "event": "path", + "message": "Condition \"file_exists(filename)\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stap-serverd.cxx", + "line": 1750, + "event": "path", + "message": "Condition \"((versionfile >> kernel_version) >> kernel_version)->operator bool()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stap-serverd.cxx", + "line": 1752, + "event": "path", + "message": "Condition \"std::map, std::allocator >, std::__cxx11::basic_string, std::allocator >, std::less, std::allocator > >, std::allocator, std::allocator > const, std::__cxx11::basic_string, std::allocator > > > >::iterator(kernel_build_tree.find(kernel_version)) != std::map, std::allocator >, std::__cxx11::basic_string, std::allocator >, std::less, std::allocator > >, std::allocator, std::allocator > const, std::__cxx11::basic_string, std::allocator > > > >::iterator(kernel_build_tree.end())\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stap-serverd.cxx", + "line": 1755, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stap-serverd.cxx", + "line": 1762, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stap-serverd.cxx", + "line": 1774, + "event": "path", + "message": "Condition \"rc\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stap-serverd.cxx", + "line": 1780, + "event": "path", + "message": "Condition \"u < words.we_wordc\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stap-serverd.cxx", + "line": 1781, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stap-serverd.cxx", + "line": 1780, + "event": "path", + "message": "Condition \"u < words.we_wordc\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stap-serverd.cxx", + "line": 1781, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stap-serverd.cxx", + "line": 1780, + "event": "path", + "message": "Condition \"u < words.we_wordc\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stap-serverd.cxx", + "line": 1787, + "event": "path", + "message": "Condition \"rc\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stap-serverd.cxx", + "line": 1795, + "event": "path", + "message": "Condition \"true\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stap-serverd.cxx", + "line": 1803, + "event": "path", + "message": "Condition \"retlen < 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stap-serverd.cxx", + "line": 1803, + "event": "path", + "message": "Condition \"retlen >= 4096\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stap-serverd.cxx", + "line": 1809, + "event": "fs_check_call", + "message": "Calling function \"stat\" to perform check on \"stapargfile\".", + "verbosity_level": 0 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stap-serverd.cxx", + "line": 1810, + "event": "path", + "message": "Condition \"rc\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stap-serverd.cxx", + "line": 1813, + "event": "path", + "message": "Condition \"!arg\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stap-serverd.cxx", + "line": 1819, + "event": "toctou", + "message": "Calling function \"fopen\" that uses \"stapargfile\" after a check function. This can cause a time-of-check, time-of-use race condition.", + "verbosity_level": 1 + } + ] + }, + { + "checker": "OVERFLOW_BEFORE_WIDEN", + "cwe": 190, + "function": "bpf_interpret(unsigned long, bpf_insn const *, bpf_transport_context *)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapbpf/bpfinterp.cxx", + "line": 858, + "event": "overflow_before_widen", + "message": "Potentially overflowing expression \"(uint32_t)dr << s1\" with type \"uint32_t\" (32 bits, unsigned) is evaluated using 32-bit arithmetic, and then used in a context that expects an expression of type \"uint64_t\" (64 bits, unsigned).", + "verbosity_level": 0 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapbpf/bpfinterp.cxx", + "line": 858, + "event": "remediation", + "message": "To avoid overflow, cast \"(uint32_t)dr\" to type \"uint64_t\" rather than casting the result of the potential overflow.", + "verbosity_level": 1 + } + ] + }, + { + "checker": "UNINIT_CTOR", + "cwe": 457, + "function": "procfsprobe_data::procfsprobe_data(std::__cxx11::basic_string, std::allocator >, unsigned long, char, unsigned long, std::vector >)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 4, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapbpf/stapbpf.cxx", + "line": 167, + "event": "path", + "message": "Condition \"type == 'w'\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapbpf/stapbpf.cxx", + "line": 167, + "event": "path", + "message": "Condition \"type == 'w'\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapbpf/stapbpf.cxx", + "line": 167, + "event": "path", + "message": "Condition \"(bool)(type == 'w')\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapbpf/stapbpf.cxx", + "line": 156, + "event": "member_decl", + "message": "Class member declaration for \"read_prog\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapbpf/stapbpf.cxx", + "line": 167, + "event": "uninit_member", + "message": "Non-static class member \"read_prog\" is not initialized in this constructor nor in any functions that it calls.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "STRING_NULL", + "cwe": 170, + "imp": 1, + "function": "procfs_write_event_loop(procfsprobe_data *, bpf_transport_context *)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 5, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapbpf/stapbpf.cxx", + "line": 1935, + "event": "path", + "message": "Condition \"true\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapbpf/stapbpf.cxx", + "line": 1939, + "event": "path", + "message": "Condition \"fd == -1\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapbpf/stapbpf.cxx", + "line": 1957, + "event": "string_null_argument", + "message": "Function \"read\" does not terminate string \"*buffer_feed\". [Note: The source code implementation of the function has been overridden by a builtin model.]", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapbpf/stapbpf.cxx", + "line": 1959, + "event": "path", + "message": "Condition \"bytes_read == -1\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapbpf/stapbpf.cxx", + "line": 1963, + "event": "path", + "message": "Condition \"bytes_read > 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapbpf/stapbpf.cxx", + "line": 1964, + "event": "string_null", + "message": "Passing unterminated string \"buffer_feed\" to \"basic_string\", which expects a null-terminated string. [Note: The source code implementation of the function has been overridden by a builtin model.]", + "verbosity_level": 0 + } + ] + }, + { + "checker": "UNCAUGHT_EXCEPT", + "cwe": 248, + "function": "main", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapdyn/dynsdt.cxx", + "line": 333, + "event": "root_function", + "message": "In function \"main(int, char const **)\" an exception of type \"std::runtime_error\" is thrown and never caught.", + "verbosity_level": 0 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapdyn/dynsdt.cxx", + "line": 351, + "event": "fun_call_w_exception", + "message": "Called function throws an exception of type \"std::runtime_error\".", + "verbosity_level": 1 + } + ] + }, + { + "checker": "UNCAUGHT_EXCEPT", + "cwe": 248, + "function": "main", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapdyn/stapdyn.cxx", + "line": 65, + "event": "root_function", + "message": "In function \"main(int, char * const *)\" an exception of type \"std::runtime_error\" is thrown and never caught.", + "verbosity_level": 0 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapdyn/stapdyn.cxx", + "line": 149, + "event": "fun_call_w_exception", + "message": "Called function throws an exception of type \"std::runtime_error\".", + "verbosity_level": 1 + } + ] + }, + { + "checker": "UNCAUGHT_EXCEPT", + "cwe": 248, + "function": "main", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapdyn/stapdyn.cxx", + "line": 65, + "event": "root_function", + "message": "In function \"main(int, char * const *)\" an exception of type \"std::runtime_error\" is thrown and never caught.", + "verbosity_level": 0 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapdyn/stapdyn.cxx", + "line": 155, + "event": "fun_call_w_exception", + "message": "Called function throws an exception of type \"std::runtime_error\".", + "verbosity_level": 1 + } + ] + }, + { + "checker": "UNCAUGHT_EXCEPT", + "cwe": 248, + "function": "main", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapdyn/stapdyn.cxx", + "line": 65, + "event": "root_function", + "message": "In function \"main(int, char * const *)\" an exception of type \"std::runtime_error\" is thrown and never caught.", + "verbosity_level": 0 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapdyn/stapdyn.cxx", + "line": 158, + "event": "fun_call_w_exception", + "message": "Called function throws an exception of type \"std::runtime_error\".", + "verbosity_level": 1 + } + ] + }, + { + "checker": "UNCAUGHT_EXCEPT", + "cwe": 248, + "function": "main", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapdyn/stapdyn.cxx", + "line": 65, + "event": "root_function", + "message": "In function \"main(int, char * const *)\" an exception of type \"std::runtime_error\" is thrown and never caught.", + "verbosity_level": 0 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapdyn/stapdyn.cxx", + "line": 161, + "event": "fun_call_w_exception", + "message": "Called function throws an exception of type \"std::runtime_error\".", + "verbosity_level": 1 + } + ] + }, + { + "checker": "UNCAUGHT_EXCEPT", + "cwe": 248, + "function": "main", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapdyn/stapdyn.cxx", + "line": 65, + "event": "root_function", + "message": "In function \"main(int, char * const *)\" an exception of type \"std::runtime_error\" is thrown and never caught.", + "verbosity_level": 0 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapdyn/stapdyn.cxx", + "line": 164, + "event": "fun_call_w_exception", + "message": "Called function throws an exception of type \"std::runtime_error\".", + "verbosity_level": 1 + } + ] + }, + { + "checker": "FORWARD_NULL", + "cwe": 476, + "function": "open_output_file", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 2, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 326, + "event": "path", + "message": "Condition \"output_file == NULL\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 326, + "event": "var_compare_op", + "message": "Comparing \"output_file\" to null implies that \"output_file\" might be null.", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 333, + "event": "var_deref_model", + "message": "Passing null pointer \"output_file\" to \"sprintf\", which dereferences it. [Note: The source code implementation of the function has been overridden by a builtin model.]", + "verbosity_level": 0 + } + ] + }, + { + "checker": "DIVIDE_BY_ZERO", + "cwe": 369, + "function": "output_cpu_logs", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 23, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 356, + "event": "path", + "message": "Condition \"!subbuf\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 360, + "event": "path", + "message": "Condition \"i < kt->cpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.subbufs_produced == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.offset == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 364, + "event": "path", + "message": "Condition \"is_global == 1\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 369, + "event": "path", + "message": "Continuing loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 360, + "event": "path", + "message": "Condition \"i < kt->cpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.subbufs_produced == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.offset == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 364, + "event": "path", + "message": "Condition \"is_global == 1\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 369, + "event": "path", + "message": "Continuing loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 360, + "event": "path", + "message": "Condition \"i < kt->cpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.subbufs_produced == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.offset == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 364, + "event": "path", + "message": "Condition \"is_global == 1\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 369, + "event": "path", + "message": "Continuing loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 360, + "event": "path", + "message": "Condition \"i < kt->cpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.subbufs_produced == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "cond_const", + "message": "Checking \"pcd->buf.subbufs_produced == 0UL\" implies that \"pcd->buf.subbufs_produced\" is 0 on the true branch.", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.offset == 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 374, + "event": "path", + "message": "Condition \"pcd->buf.subbufs_produced >= chan.n_subbufs\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 374, + "event": "cond_at_most", + "message": "Checking \"pcd->buf.subbufs_produced >= chan.n_subbufs\" implies that \"chan.n_subbufs\" may be up to 0 on the true branch.", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 376, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 383, + "event": "divide_by_zero", + "message": "In expression \"(end - 1UL) % chan.n_subbufs\", modulo by expression \"chan.n_subbufs\" which may be zero has undefined behavior.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "DIVIDE_BY_ZERO", + "cwe": 369, + "function": "output_cpu_logs", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 23, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 356, + "event": "path", + "message": "Condition \"!subbuf\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 360, + "event": "path", + "message": "Condition \"i < kt->cpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.subbufs_produced == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.offset == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 364, + "event": "path", + "message": "Condition \"is_global == 1\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 369, + "event": "path", + "message": "Continuing loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 360, + "event": "path", + "message": "Condition \"i < kt->cpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.subbufs_produced == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.offset == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 364, + "event": "path", + "message": "Condition \"is_global == 1\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 369, + "event": "path", + "message": "Continuing loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 360, + "event": "path", + "message": "Condition \"i < kt->cpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.subbufs_produced == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.offset == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 364, + "event": "path", + "message": "Condition \"is_global == 1\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 369, + "event": "path", + "message": "Continuing loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 360, + "event": "path", + "message": "Condition \"i < kt->cpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.subbufs_produced == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "cond_const", + "message": "Checking \"pcd->buf.subbufs_produced == 0UL\" implies that \"pcd->buf.subbufs_produced\" is 0 on the true branch.", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.offset == 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 374, + "event": "path", + "message": "Condition \"pcd->buf.subbufs_produced >= chan.n_subbufs\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 374, + "event": "cond_at_most", + "message": "Checking \"pcd->buf.subbufs_produced >= chan.n_subbufs\" implies that \"chan.n_subbufs\" may be up to 0 on the true branch.", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 376, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 383, + "event": "divide_by_zero", + "message": "In expression \"start % chan.n_subbufs\", modulo by expression \"chan.n_subbufs\" which may be zero has undefined behavior.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "DIVIDE_BY_ZERO", + "cwe": 369, + "function": "output_cpu_logs", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 35, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 356, + "event": "path", + "message": "Condition \"!subbuf\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 360, + "event": "path", + "message": "Condition \"i < kt->cpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.subbufs_produced == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.offset == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 364, + "event": "path", + "message": "Condition \"is_global == 1\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 369, + "event": "path", + "message": "Continuing loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 360, + "event": "path", + "message": "Condition \"i < kt->cpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.subbufs_produced == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.offset == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 364, + "event": "path", + "message": "Condition \"is_global == 1\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 369, + "event": "path", + "message": "Continuing loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 360, + "event": "path", + "message": "Condition \"i < kt->cpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.subbufs_produced == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.offset == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 364, + "event": "path", + "message": "Condition \"is_global == 1\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 369, + "event": "path", + "message": "Continuing loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 360, + "event": "path", + "message": "Condition \"i < kt->cpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.subbufs_produced == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "cond_const", + "message": "Checking \"pcd->buf.subbufs_produced == 0UL\" implies that \"pcd->buf.subbufs_produced\" is 0 on the true branch.", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.offset == 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 374, + "event": "path", + "message": "Condition \"pcd->buf.subbufs_produced >= chan.n_subbufs\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 374, + "event": "cond_at_most", + "message": "Checking \"pcd->buf.subbufs_produced >= chan.n_subbufs\" implies that \"chan.n_subbufs\" may be up to 0 on the true branch.", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 376, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 393, + "event": "path", + "message": "Condition \"n < end\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 433, + "event": "path", + "message": "Condition \"retrieve_all == 1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 433, + "event": "path", + "message": "Condition \"start != 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 447, + "event": "path", + "message": "Condition \"len\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 450, + "event": "path", + "message": "Condition \"fwrite(subbuf, len, 1, outfp) != 1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 458, + "event": "path", + "message": "Condition \"is_global == 1\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 460, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 360, + "event": "path", + "message": "Condition \"i < kt->cpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.subbufs_produced == 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 374, + "event": "path", + "message": "Condition \"pcd->buf.subbufs_produced >= chan.n_subbufs\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 376, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 393, + "event": "path", + "message": "Condition \"n < end\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 395, + "event": "divide_by_zero", + "message": "In expression \"n % chan.n_subbufs\", modulo by expression \"chan.n_subbufs\" which may be zero has undefined behavior.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "DIVIDE_BY_ZERO", + "cwe": 369, + "function": "output_cpu_logs", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 26, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 356, + "event": "path", + "message": "Condition \"!subbuf\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 360, + "event": "path", + "message": "Condition \"i < kt->cpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.subbufs_produced == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.offset == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 364, + "event": "path", + "message": "Condition \"is_global == 1\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 369, + "event": "path", + "message": "Continuing loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 360, + "event": "path", + "message": "Condition \"i < kt->cpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.subbufs_produced == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.offset == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 364, + "event": "path", + "message": "Condition \"is_global == 1\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 369, + "event": "path", + "message": "Continuing loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 360, + "event": "path", + "message": "Condition \"i < kt->cpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.subbufs_produced == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.offset == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 364, + "event": "path", + "message": "Condition \"is_global == 1\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 369, + "event": "path", + "message": "Continuing loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 360, + "event": "path", + "message": "Condition \"i < kt->cpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.subbufs_produced == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "cond_const", + "message": "Checking \"pcd->buf.subbufs_produced == 0UL\" implies that \"pcd->buf.subbufs_produced\" is 0 on the true branch.", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.offset == 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 374, + "event": "path", + "message": "Condition \"pcd->buf.subbufs_produced >= chan.n_subbufs\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 374, + "event": "cond_at_most", + "message": "Checking \"pcd->buf.subbufs_produced >= chan.n_subbufs\" implies that \"chan.n_subbufs\" may be up to 0 on the true branch.", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 376, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 393, + "event": "path", + "message": "Condition \"n < end\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 433, + "event": "path", + "message": "Condition \"retrieve_all == 1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 433, + "event": "path", + "message": "Condition \"start != 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 436, + "event": "divide_by_zero", + "message": "In expression \"(start - 1UL) % chan.n_subbufs\", modulo by expression \"chan.n_subbufs\" which may be zero has undefined behavior.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "DIVIDE_BY_ZERO", + "cwe": 369, + "function": "output_cpu_logs", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 26, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 356, + "event": "path", + "message": "Condition \"!subbuf\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 360, + "event": "path", + "message": "Condition \"i < kt->cpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.subbufs_produced == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.offset == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 364, + "event": "path", + "message": "Condition \"is_global == 1\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 369, + "event": "path", + "message": "Continuing loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 360, + "event": "path", + "message": "Condition \"i < kt->cpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.subbufs_produced == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.offset == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 364, + "event": "path", + "message": "Condition \"is_global == 1\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 369, + "event": "path", + "message": "Continuing loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 360, + "event": "path", + "message": "Condition \"i < kt->cpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.subbufs_produced == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.offset == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 364, + "event": "path", + "message": "Condition \"is_global == 1\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 369, + "event": "path", + "message": "Continuing loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 360, + "event": "path", + "message": "Condition \"i < kt->cpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.subbufs_produced == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "cond_const", + "message": "Checking \"pcd->buf.subbufs_produced == 0UL\" implies that \"pcd->buf.subbufs_produced\" is 0 on the true branch.", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 363, + "event": "path", + "message": "Condition \"pcd->buf.offset == 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 374, + "event": "path", + "message": "Condition \"pcd->buf.subbufs_produced >= chan.n_subbufs\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 374, + "event": "cond_at_most", + "message": "Checking \"pcd->buf.subbufs_produced >= chan.n_subbufs\" implies that \"chan.n_subbufs\" may be up to 0 on the true branch.", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 376, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 393, + "event": "path", + "message": "Condition \"n < end\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 433, + "event": "path", + "message": "Condition \"retrieve_all == 1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 433, + "event": "path", + "message": "Condition \"start != 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staplog.c", + "line": 443, + "event": "divide_by_zero", + "message": "In expression \"(start - 1UL) % chan.n_subbufs\", modulo by expression \"chan.n_subbufs\" which may be zero has undefined behavior.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "UNINIT_CTOR", + "cwe": 457, + "function": "stapregex::state::state(stapregex::dfa *, std::__cxx11::list > *)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 1, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapregex-dfa.h", + "line": 120, + "event": "member_decl", + "message": "Class member declaration for \"accept_kp\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapregex-dfa.cxx", + "line": 182, + "event": "uninit_member", + "message": "Non-static class member \"accept_kp\" is not initialized in this constructor nor in any functions that it calls.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "UNINIT", + "cwe": 457, + "imp": 1, + "function": "stapregex::rebalance_priorities(std::stack > > &, std::stack > > &)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 2, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapregex-dfa.cxx", + "line": 260, + "event": "var_decl", + "message": "Declaring variable \"sorted_worklist\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapregex-dfa.cxx", + "line": 261, + "event": "path", + "message": "Condition \"!worklist->empty()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapregex-dfa.cxx", + "line": 264, + "event": "uninit_use_in_call", + "message": "Using uninitialized value \"sorted_worklist.comp\" when calling \"push\".", + "verbosity_level": 0 + } + ] + }, + { + "checker": "UNINIT", + "cwe": 457, + "imp": 1, + "function": "stapregex::rebalance_priorities(std::stack > > &, std::stack > > &)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 4, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapregex-dfa.cxx", + "line": 261, + "event": "path", + "message": "Condition \"!worklist->empty()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapregex-dfa.cxx", + "line": 265, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapregex-dfa.cxx", + "line": 261, + "event": "path", + "message": "Condition \"!worklist->empty()\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapregex-dfa.cxx", + "line": 269, + "event": "var_decl", + "message": "Declaring variable \"new_priorities\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapregex-dfa.cxx", + "line": 270, + "event": "uninit_use_in_call", + "message": "Using uninitialized value \"new_priorities.comp\" when calling \"push\".", + "verbosity_level": 0 + } + ] + }, + { + "checker": "UNINIT", + "cwe": 457, + "imp": 1, + "function": "stapregex::rebalance_priorities(std::stack > > &, std::stack > > &)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 8, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapregex-dfa.cxx", + "line": 261, + "event": "path", + "message": "Condition \"!worklist->empty()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapregex-dfa.cxx", + "line": 265, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapregex-dfa.cxx", + "line": 261, + "event": "path", + "message": "Condition \"!worklist->empty()\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapregex-dfa.cxx", + "line": 268, + "event": "var_decl", + "message": "Declaring variable \"sorted_priorities\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapregex-dfa.cxx", + "line": 271, + "event": "path", + "message": "Condition \"new_priorities.size() < sorted_worklist.size()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapregex-dfa.cxx", + "line": 276, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapregex-dfa.cxx", + "line": 271, + "event": "path", + "message": "Condition \"new_priorities.size() < sorted_worklist.size()\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapregex-dfa.cxx", + "line": 277, + "event": "path", + "message": "Condition \"i < sorted_worklist.size()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapregex-dfa.cxx", + "line": 280, + "event": "uninit_use_in_call", + "message": "Using uninitialized value \"sorted_priorities.comp\" when calling \"push\".", + "verbosity_level": 0 + } + ] + }, + { + "checker": "NEGATIVE_RETURNS", + "cwe": 606, + "function": "stapregex::regexp::compile()", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 2, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapregex-tree.cxx", + "line": 250, + "event": "negative_return_fn", + "message": "Function \"this->ins_size()\" returns a negative number.", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapregex-tree.cxx", + "line": 250, + "event": "assign", + "message": "Assigning: \"k\" = \"this->ins_size()\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapregex-tree.cxx", + "line": 254, + "event": "negative_returns", + "message": "Using unsigned variable \"k\" in a loop exit condition.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "RESOURCE_LEAK", + "cwe": 404, + "imp": 1, + "function": "parse_args", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 13, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 140, + "event": "path", + "message": "Condition \"isatty(2)\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 140, + "event": "path", + "message": "Condition \"getenv(\"TERM\")\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 140, + "event": "path", + "message": "Condition \"strcmp((getenv(\"TERM\") ?: \"notdumb\"), \"dumb\")\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"117\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 151, + "event": "path", + "message": "Condition \"optarg\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 152, + "event": "alloc_fn", + "message": "Storage is returned from allocation function \"strdup\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 152, + "event": "var_assign", + "message": "Assigning: \"uprobes_path\" = storage returned from \"strdup(optarg)\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 153, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"117\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 151, + "event": "path", + "message": "Condition \"optarg\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 152, + "event": "overwrite_var", + "message": "Overwriting \"uprobes_path\" in \"uprobes_path = strdup(optarg)\" leaks the storage that \"uprobes_path\" points to.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "RESOURCE_LEAK", + "cwe": 404, + "imp": 1, + "function": "parse_args", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 122, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 140, + "event": "path", + "message": "Condition \"isatty(2)\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 140, + "event": "path", + "message": "Condition \"getenv(\"TERM\")\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 140, + "event": "path", + "message": "Condition \"strcmp((getenv(\"TERM\") ?: \"notdumb\"), \"dumb\")\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"117\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 151, + "event": "path", + "message": "Condition \"optarg\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 153, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"118\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 156, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"118\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 156, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"119\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 159, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"98\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 162, + "event": "path", + "message": "Condition \"buffer_size < 1\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 162, + "event": "path", + "message": "Condition \"buffer_size > 4095\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 166, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"116\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 170, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"116\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 170, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"78\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 174, + "event": "path", + "message": "Condition \"target_namespaces_pid < 1\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 178, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"100\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 182, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"99\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 185, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"111\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 188, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"105\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 191, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"82\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 194, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"65\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 197, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"76\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 200, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"68\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 203, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"70\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 206, + "event": "path", + "message": "Condition \"relay_basedir_fd < 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 210, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"70\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 206, + "event": "path", + "message": "Condition \"relay_basedir_fd < 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 210, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"83\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 212, + "event": "path", + "message": "Condition \"optarg != NULL\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 212, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 215, + "event": "path", + "message": "Condition \"s[0] == ','\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 217, + "event": "path", + "message": "Condition \"s[0] != 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 221, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"83\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 212, + "event": "path", + "message": "Condition \"optarg != NULL\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 212, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 215, + "event": "path", + "message": "Condition \"s[0] == ','\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 217, + "event": "path", + "message": "Condition \"s[0] != 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 221, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"83\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 212, + "event": "path", + "message": "Condition \"optarg != NULL\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 212, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 215, + "event": "path", + "message": "Condition \"s[0] == ','\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 217, + "event": "path", + "message": "Condition \"s[0] != 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 221, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"114\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 223, + "event": "path", + "message": "Condition \"optarg != NULL\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 223, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 226, + "event": "path", + "message": "Condition \"s[0] == ':'\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 227, + "event": "alloc_fn", + "message": "Storage is returned from allocation function \"strdup\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 227, + "event": "var_assign", + "message": "Assigning: \"remote_uri\" = storage returned from \"strdup(&s[1])\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 229, + "event": "path", + "message": "Condition \"remote_id < 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 229, + "event": "path", + "message": "Condition \"remote_uri == NULL\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 229, + "event": "path", + "message": "Condition \"remote_uri[0] == 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 233, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"114\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 223, + "event": "path", + "message": "Condition \"optarg != NULL\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 223, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 226, + "event": "path", + "message": "Condition \"s[0] == ':'\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 227, + "event": "overwrite_var", + "message": "Overwriting \"remote_uri\" in \"remote_uri = strdup(&s[1])\" leaks the storage that \"remote_uri\" points to.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "PRINTF_ARGS", + "cwe": 686, + "function": "stp_main_loop", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/mainloop.c", + "line": 856, + "event": "invalid_type", + "message": "Precision argument \"strlen(dupstr) - 9UL\" to format specifier \"%.*s\" was expected to have type \"int\" but has type \"unsigned long\".", + "verbosity_level": 0 + } + ] + }, + { + "checker": "NEGATIVE_RETURNS", + "cwe": 687, + "function": "monitor_render", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 26, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/monitor.c", + "line": 308, + "event": "path", + "message": "Condition \"resized\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/monitor.c", + "line": 312, + "event": "path", + "message": "Condition \"NULL != (void const *)output\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/monitor.c", + "line": 312, + "event": "path", + "message": "Condition \"NULL != (void const *)output\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/monitor.c", + "line": 313, + "event": "path", + "message": "Condition \"0 > h_queue.count - max_rows + 1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/monitor.c", + "line": 313, + "event": "path", + "message": "Condition \"((0 > h_queue.count - max_rows + 1) ? 0 : (h_queue.count - max_rows + 1)) < output_scroll\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/monitor.c", + "line": 313, + "event": "path", + "message": "Condition \"0 > h_queue.count - max_rows + 1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/monitor.c", + "line": 318, + "event": "path", + "message": "Condition \"i < h_queue.count - output_scroll\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/monitor.c", + "line": 319, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/monitor.c", + "line": 318, + "event": "path", + "message": "Condition \"i < h_queue.count - output_scroll\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/monitor.c", + "line": 319, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/monitor.c", + "line": 318, + "event": "path", + "message": "Condition \"i < h_queue.count - output_scroll\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/monitor.c", + "line": 324, + "event": "path", + "message": "Condition \"status_hidden\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/monitor.c", + "line": 327, + "event": "path", + "message": "Condition \"!input\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/monitor.c", + "line": 327, + "event": "path", + "message": "Condition \"rendered\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/monitor.c", + "line": 327, + "event": "path", + "message": "Condition \"(elapsed_time = current_time - start_time) < monitor_interval\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/monitor.c", + "line": 333, + "event": "path", + "message": "Condition \"NULL != (void const *)status\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/monitor.c", + "line": 333, + "event": "path", + "message": "Condition \"NULL != (void const *)status\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/monitor.c", + "line": 333, + "event": "var_tested_neg", + "message": "Assigning: \"monitor_x\" = a negative value.", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/monitor.c", + "line": 335, + "event": "path", + "message": "Condition \"256 < monitor_x\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/monitor.c", + "line": 335, + "event": "assign", + "message": "Assigning: \"max_cols\" = \"(256 < monitor_x) ? 256 : monitor_x\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/monitor.c", + "line": 342, + "event": "path", + "message": "Condition \"_rc >= 4096 /* (int)sizeof (path) */\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/monitor.c", + "line": 342, + "event": "path", + "message": "Condition \"({...; _rc;})\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/monitor.c", + "line": 345, + "event": "path", + "message": "Condition \"monitor_fp\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/monitor.c", + "line": 350, + "event": "path", + "message": "Condition \"bytes >= 1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/monitor.c", + "line": 353, + "event": "path", + "message": "Condition \"jso\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/monitor.c", + "line": 360, + "event": "path", + "message": "Condition \"jso\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/monitor.c", + "line": 394, + "event": "negative_returns", + "message": "\"max_cols\" is passed to a parameter that cannot be negative. [Note: The source code implementation of the function has been overridden by a builtin model.]", + "verbosity_level": 0 + } + ] + }, + { + "checker": "PRINTF_ARGS", + "cwe": 686, + "function": "monitor_render", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/monitor.c", + "line": 451, + "event": "invalid_type", + "message": "Field width argument \"width[p_index]\" to format specifier \"%*s\" was expected to have type \"int\" but has type \"unsigned long\".", + "verbosity_level": 0 + } + ] + }, + { + "checker": "PRINTF_ARGS", + "cwe": 686, + "function": "monitor_render", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/monitor.c", + "line": 452, + "event": "invalid_type", + "message": "Field width argument \"width[p_state]\" to format specifier \"%*s\" was expected to have type \"int\" but has type \"unsigned long\".", + "verbosity_level": 0 + } + ] + }, + { + "checker": "PRINTF_ARGS", + "cwe": 686, + "function": "monitor_render", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/monitor.c", + "line": 453, + "event": "invalid_type", + "message": "Field width argument \"width[p_hits]\" to format specifier \"%*s\" was expected to have type \"int\" but has type \"unsigned long\".", + "verbosity_level": 0 + } + ] + }, + { + "checker": "PRINTF_ARGS", + "cwe": 686, + "function": "monitor_render", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/monitor.c", + "line": 454, + "event": "invalid_type", + "message": "Field width argument \"width[p_min]\" to format specifier \"%*s\" was expected to have type \"int\" but has type \"unsigned long\".", + "verbosity_level": 0 + } + ] + }, + { + "checker": "PRINTF_ARGS", + "cwe": 686, + "function": "monitor_render", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/monitor.c", + "line": 455, + "event": "invalid_type", + "message": "Field width argument \"width[p_avg]\" to format specifier \"%*s\" was expected to have type \"int\" but has type \"unsigned long\".", + "verbosity_level": 0 + } + ] + }, + { + "checker": "PRINTF_ARGS", + "cwe": 686, + "function": "monitor_render", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/monitor.c", + "line": 456, + "event": "invalid_type", + "message": "Field width argument \"width[p_max]\" to format specifier \"%*s\" was expected to have type \"int\" but has type \"unsigned long\".", + "verbosity_level": 0 + } + ] + }, + { + "checker": "PRINTF_ARGS", + "cwe": 686, + "function": "monitor_render", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/monitor.c", + "line": 469, + "event": "invalid_type", + "message": "Field width argument \"width[p_index]\" to format specifier \"%*s\" was expected to have type \"int\" but has type \"unsigned long\".", + "verbosity_level": 0 + } + ] + }, + { + "checker": "PRINTF_ARGS", + "cwe": 686, + "function": "monitor_render", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/monitor.c", + "line": 471, + "event": "invalid_type", + "message": "Field width argument \"width[p_state]\" to format specifier \"%*s\" was expected to have type \"int\" but has type \"unsigned long\".", + "verbosity_level": 0 + } + ] + }, + { + "checker": "PRINTF_ARGS", + "cwe": 686, + "function": "monitor_render", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/monitor.c", + "line": 473, + "event": "invalid_type", + "message": "Field width argument \"width[p_hits]\" to format specifier \"%*s\" was expected to have type \"int\" but has type \"unsigned long\".", + "verbosity_level": 0 + } + ] + }, + { + "checker": "PRINTF_ARGS", + "cwe": 686, + "function": "monitor_render", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/monitor.c", + "line": 475, + "event": "invalid_type", + "message": "Field width argument \"width[p_min]\" to format specifier \"%*s\" was expected to have type \"int\" but has type \"unsigned long\".", + "verbosity_level": 0 + } + ] + }, + { + "checker": "PRINTF_ARGS", + "cwe": 686, + "function": "monitor_render", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/monitor.c", + "line": 477, + "event": "invalid_type", + "message": "Field width argument \"width[p_avg]\" to format specifier \"%*s\" was expected to have type \"int\" but has type \"unsigned long\".", + "verbosity_level": 0 + } + ] + }, + { + "checker": "PRINTF_ARGS", + "cwe": 686, + "function": "monitor_render", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/monitor.c", + "line": 479, + "event": "invalid_type", + "message": "Field width argument \"width[p_max]\" to format specifier \"%*s\" was expected to have type \"int\" but has type \"unsigned long\".", + "verbosity_level": 0 + } + ] + }, + { + "checker": "BAD_SHIFT", + "function": "init_backlog", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 3, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/relay.c", + "line": 50, + "event": "assignment", + "message": "Assigning: \"order\" = \"0\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/relay.c", + "line": 51, + "event": "path", + "message": "Condition \"!fnum_max\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/relay.c", + "line": 53, + "event": "path", + "message": "Condition \"fnum_max >> order\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/relay.c", + "line": 54, + "event": "negative_shift", + "message": "In expression \"1 << order - 1\", shifting by a negative amount has undefined behavior. The shift amount, \"order - 1\", is -1.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "BAD_SHIFT", + "function": "init_backlog", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 5, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/relay.c", + "line": 50, + "event": "assignment", + "message": "Assigning: \"order\" = \"0\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/relay.c", + "line": 51, + "event": "path", + "message": "Condition \"!fnum_max\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/relay.c", + "line": 53, + "event": "path", + "message": "Condition \"fnum_max >> order\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/relay.c", + "line": 54, + "event": "path", + "message": "Condition \"fnum_max == (1 << order - 1)\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/relay.c", + "line": 54, + "event": "decr", + "message": "Decrementing \"order\". The value of \"order\" is now -1.", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/relay.c", + "line": 55, + "event": "negative_shift", + "message": "In expression \"1 << order\", shifting by a negative amount has undefined behavior. The shift amount, \"order\", is -1.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "PRINTF_ARGS", + "cwe": 685, + "function": "switchfile_handler", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/relay.c", + "line": 270, + "event": "extra_argument", + "message": "This argument was not used by the format string: \"sig\".", + "verbosity_level": 0 + } + ] + }, + { + "checker": "TAINTED_SCALAR", + "cwe": 20, + "function": "reader_thread", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 8, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/relay_old.c", + "line": 298, + "event": "path", + "message": "Condition \"__cpu / 8 < 128UL /* sizeof (cpu_set_t) */\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/relay_old.c", + "line": 299, + "event": "path", + "message": "Condition \"sched_setaffinity(0, 128UL /* sizeof (cpu_mask) */, &cpu_mask) < 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/relay_old.c", + "line": 315, + "event": "path", + "message": "Condition \"rc < 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/relay_old.c", + "line": 316, + "event": "path", + "message": "Condition \"*__errno_location() == 4\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/relay_old.c", + "line": 317, + "event": "path", + "message": "Condition \"switch_file[cpu]\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/relay_old.c", + "line": 319, + "event": "path", + "message": "Condition \"switch_oldoutfile(cpu, &scb) < 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/relay_old.c", + "line": 323, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/relay_old.c", + "line": 330, + "event": "tainted_argument", + "message": "Calling function \"read\" taints argument \"status[cpu].info\". [Note: The source code implementation of the function has been overridden by a builtin model.]", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/relay_old.c", + "line": 331, + "event": "tainted_data", + "message": "Passing tainted expression \"status[cpu].info.cpu\" to \"process_subbufs\", which uses it as an offset.", + "verbosity_level": 0 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/relay_old.c", + "line": 331, + "event": "remediation", + "message": "Ensure that tainted values are properly sanitized, by checking that their values are within a permissible range.", + "verbosity_level": 1 + } + ] + }, + { + "checker": "TAINTED_SCALAR", + "cwe": 606, + "function": "reader_thread", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 8, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/relay_old.c", + "line": 298, + "event": "path", + "message": "Condition \"__cpu / 8 < 128UL /* sizeof (cpu_set_t) */\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/relay_old.c", + "line": 299, + "event": "path", + "message": "Condition \"sched_setaffinity(0, 128UL /* sizeof (cpu_mask) */, &cpu_mask) < 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/relay_old.c", + "line": 315, + "event": "path", + "message": "Condition \"rc < 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/relay_old.c", + "line": 316, + "event": "path", + "message": "Condition \"*__errno_location() == 4\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/relay_old.c", + "line": 317, + "event": "path", + "message": "Condition \"switch_file[cpu]\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/relay_old.c", + "line": 319, + "event": "path", + "message": "Condition \"switch_oldoutfile(cpu, &scb) < 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/relay_old.c", + "line": 323, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/relay_old.c", + "line": 330, + "event": "tainted_argument", + "message": "Calling function \"read\" taints argument \"status[cpu].info\". [Note: The source code implementation of the function has been overridden by a builtin model.]", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/relay_old.c", + "line": 331, + "event": "tainted_data", + "message": "Passing tainted expression \"status[cpu].info.produced\" to \"process_subbufs\", which uses it as a loop boundary.", + "verbosity_level": 0 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/relay_old.c", + "line": 331, + "event": "remediation", + "message": "Ensure that tainted values are properly sanitized, by checking that their values are within a permissible range.", + "verbosity_level": 1 + } + ] + }, + { + "checker": "PRINTF_ARGS", + "cwe": 685, + "function": "switchfile_handler", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/relay_old.c", + "line": 380, + "event": "extra_argument", + "message": "This argument was not used by the format string: \"sig\".", + "verbosity_level": 0 + } + ] + }, + { + "checker": "CHECKED_RETURN", + "cwe": 252, + "function": "main", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 13, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 47, + "event": "path", + "message": "Condition \"buf == NULL\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 52, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"vo:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 53, + "event": "path", + "message": "Switch case value \"118\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 56, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 63, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 52, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"vo:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 53, + "event": "path", + "message": "Switch case value \"111\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 59, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 63, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 52, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"vo:\")) != -1\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 65, + "event": "path", + "message": "Condition \"optind == argc\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 69, + "event": "path", + "message": "Condition \"optind < argc\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 71, + "event": "path", + "message": "Condition \"!fp[i]\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 75, + "event": "check_return", + "message": "\"fread(void * restrict, size_t, size_t, FILE * restrict)\" returns the number of bytes read, but it is ignored.", + "verbosity_level": 0 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 75, + "event": "path", + "message": "Condition \"fread(buf, 4UL /* sizeof (int) */, 1, fp[i])\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 76, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 80, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 69, + "event": "path", + "message": "Condition \"optind < argc\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 71, + "event": "path", + "message": "Condition \"!fp[i]\", taking true branch.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CHECKED_RETURN", + "cwe": 252, + "function": "main", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 72, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 47, + "event": "path", + "message": "Condition \"buf == NULL\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 52, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"vo:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 53, + "event": "path", + "message": "Switch case value \"118\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 56, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 63, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 52, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"vo:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 53, + "event": "path", + "message": "Switch case value \"111\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 59, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 63, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 52, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"vo:\")) != -1\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 65, + "event": "path", + "message": "Condition \"optind == argc\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 69, + "event": "path", + "message": "Condition \"optind < argc\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 71, + "event": "path", + "message": "Condition \"!fp[i]\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 75, + "event": "path", + "message": "Condition \"fread(buf, 4UL /* sizeof (int) */, 1, fp[i])\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 76, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 80, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 69, + "event": "path", + "message": "Condition \"optind < argc\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 71, + "event": "path", + "message": "Condition \"!fp[i]\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 75, + "event": "path", + "message": "Condition \"fread(buf, 4UL /* sizeof (int) */, 1, fp[i])\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 76, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 80, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 69, + "event": "path", + "message": "Condition \"optind < argc\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 83, + "event": "path", + "message": "Condition \"!outfile_name\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 84, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 98, + "event": "path", + "message": "Condition \"min == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 102, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 98, + "event": "path", + "message": "Condition \"min == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 102, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 104, + "event": "path", + "message": "Condition \"fread(&len, 4UL /* sizeof (int) */, 1, fp[j])\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 105, + "event": "path", + "message": "Condition \"verbose\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 107, + "event": "path", + "message": "Condition \"len > bufsize\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 109, + "event": "path", + "message": "Condition \"verbose\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 111, + "event": "path", + "message": "Condition \"buf == NULL\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 116, + "event": "path", + "message": "Condition \"(rc = fread(buf, len, 1, fp[j])) <= 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 120, + "event": "path", + "message": "Condition \"(rc = fwrite(buf, len, 1, ofp)) <= 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 126, + "event": "path", + "message": "Condition \"min\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 126, + "event": "path", + "message": "Condition \"++count != min\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 132, + "event": "path", + "message": "Condition \"fread(buf, 4UL /* sizeof (int) */, 1, fp[j])\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 133, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 136, + "event": "path", + "message": "Condition \"min\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 98, + "event": "path", + "message": "Condition \"min == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 102, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 98, + "event": "path", + "message": "Condition \"min == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 102, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 98, + "event": "path", + "message": "Condition \"min == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 102, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 98, + "event": "path", + "message": "Condition \"min == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 102, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 104, + "event": "path", + "message": "Condition \"fread(&len, 4UL /* sizeof (int) */, 1, fp[j])\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 105, + "event": "path", + "message": "Condition \"verbose\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 107, + "event": "path", + "message": "Condition \"len > bufsize\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 109, + "event": "path", + "message": "Condition \"verbose\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 111, + "event": "path", + "message": "Condition \"buf == NULL\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 116, + "event": "path", + "message": "Condition \"(rc = fread(buf, len, 1, fp[j])) <= 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 120, + "event": "path", + "message": "Condition \"(rc = fwrite(buf, len, 1, ofp)) <= 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 126, + "event": "path", + "message": "Condition \"min\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 126, + "event": "path", + "message": "Condition \"++count != min\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 132, + "event": "path", + "message": "Condition \"fread(buf, 4UL /* sizeof (int) */, 1, fp[j])\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 133, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 136, + "event": "path", + "message": "Condition \"min\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 98, + "event": "path", + "message": "Condition \"min == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 102, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 104, + "event": "check_return", + "message": "\"fread(void * restrict, size_t, size_t, FILE * restrict)\" returns the number of bytes read, but it is ignored.", + "verbosity_level": 0 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 104, + "event": "path", + "message": "Condition \"fread(&len, 4UL /* sizeof (int) */, 1, fp[j])\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 105, + "event": "path", + "message": "Condition \"verbose\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 107, + "event": "path", + "message": "Condition \"len > bufsize\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 109, + "event": "path", + "message": "Condition \"verbose\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 111, + "event": "path", + "message": "Condition \"buf == NULL\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 116, + "event": "path", + "message": "Condition \"(rc = fread(buf, len, 1, fp[j])) <= 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 120, + "event": "path", + "message": "Condition \"(rc = fwrite(buf, len, 1, ofp)) <= 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 126, + "event": "path", + "message": "Condition \"min\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 132, + "event": "path", + "message": "Condition \"fread(buf, 4UL /* sizeof (int) */, 1, fp[j])\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 133, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 136, + "event": "path", + "message": "Condition \"min\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 138, + "event": "path", + "message": "Condition \"i < ncpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 139, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 138, + "event": "path", + "message": "Condition \"i < ncpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 139, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 138, + "event": "path", + "message": "Condition \"i < ncpus\", taking false branch.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "TAINTED_SCALAR", + "cwe": 770, + "function": "main", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 43, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 47, + "event": "path", + "message": "Condition \"buf == NULL\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 52, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"vo:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 53, + "event": "path", + "message": "Switch case value \"118\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 56, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 63, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 52, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"vo:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 53, + "event": "path", + "message": "Switch case value \"111\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 59, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 63, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 52, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"vo:\")) != -1\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 65, + "event": "path", + "message": "Condition \"optind == argc\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 69, + "event": "path", + "message": "Condition \"optind < argc\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 71, + "event": "path", + "message": "Condition \"!fp[i]\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 75, + "event": "path", + "message": "Condition \"fread(buf, 4UL /* sizeof (int) */, 1, fp[i])\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 76, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 80, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 69, + "event": "path", + "message": "Condition \"optind < argc\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 71, + "event": "path", + "message": "Condition \"!fp[i]\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 75, + "event": "path", + "message": "Condition \"fread(buf, 4UL /* sizeof (int) */, 1, fp[i])\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 76, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 80, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 69, + "event": "path", + "message": "Condition \"optind < argc\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 83, + "event": "path", + "message": "Condition \"!outfile_name\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 84, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 98, + "event": "path", + "message": "Condition \"min == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 102, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 98, + "event": "path", + "message": "Condition \"min == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 102, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 98, + "event": "path", + "message": "Condition \"min == 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 98, + "event": "path", + "message": "Condition \"num[i]\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 98, + "event": "path", + "message": "Condition \"num[i] < min\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 102, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 104, + "event": "tainted_argument", + "message": "Calling function \"fread\" taints argument \"len\". [Note: The source code implementation of the function has been overridden by a builtin model.]", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 104, + "event": "path", + "message": "Condition \"fread(&len, 4UL /* sizeof (int) */, 1, fp[j])\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 105, + "event": "path", + "message": "Condition \"verbose\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 107, + "event": "path", + "message": "Condition \"len > bufsize\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 107, + "event": "lower_bounds", + "message": "Checking lower bounds of signed scalar \"len\" by taking the true branch of \"len > bufsize\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 108, + "event": "var_assign_var", + "message": "Assigning: \"bufsize\" = \"len\". Both are now tainted.", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 109, + "event": "path", + "message": "Condition \"verbose\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 110, + "event": "tainted_data", + "message": "Passing tainted expression \"bufsize\" to \"realloc\", which uses it as an allocation size.", + "verbosity_level": 0 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 110, + "event": "remediation", + "message": "Ensure that tainted values are properly sanitized, by checking that their values are within a permissible range.", + "verbosity_level": 1 + } + ] + }, + { + "checker": "TAINTED_SCALAR", + "cwe": 20, + "function": "main", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 122, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 47, + "event": "path", + "message": "Condition \"buf == NULL\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 52, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"vo:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 53, + "event": "path", + "message": "Switch case value \"118\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 56, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 63, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 52, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"vo:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 53, + "event": "path", + "message": "Switch case value \"111\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 59, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 63, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 52, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"vo:\")) != -1\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 65, + "event": "path", + "message": "Condition \"optind == argc\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 69, + "event": "path", + "message": "Condition \"optind < argc\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 71, + "event": "path", + "message": "Condition \"!fp[i]\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 75, + "event": "path", + "message": "Condition \"fread(buf, 4UL /* sizeof (int) */, 1, fp[i])\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 76, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 80, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 69, + "event": "path", + "message": "Condition \"optind < argc\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 71, + "event": "path", + "message": "Condition \"!fp[i]\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 75, + "event": "path", + "message": "Condition \"fread(buf, 4UL /* sizeof (int) */, 1, fp[i])\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 76, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 80, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 69, + "event": "path", + "message": "Condition \"optind < argc\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 83, + "event": "path", + "message": "Condition \"!outfile_name\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 84, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 98, + "event": "path", + "message": "Condition \"min == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 102, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 98, + "event": "path", + "message": "Condition \"min == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 102, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 98, + "event": "path", + "message": "Condition \"min == 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 98, + "event": "path", + "message": "Condition \"num[i]\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 98, + "event": "path", + "message": "Condition \"num[i] < min\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 102, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 104, + "event": "path", + "message": "Condition \"fread(&len, 4UL /* sizeof (int) */, 1, fp[j])\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 105, + "event": "path", + "message": "Condition \"verbose\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 107, + "event": "path", + "message": "Condition \"len > bufsize\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 109, + "event": "path", + "message": "Condition \"verbose\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 111, + "event": "path", + "message": "Condition \"buf == NULL\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 116, + "event": "path", + "message": "Condition \"(rc = fread(buf, len, 1, fp[j])) <= 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 120, + "event": "path", + "message": "Condition \"(rc = fwrite(buf, len, 1, ofp)) <= 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 126, + "event": "path", + "message": "Condition \"min\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 126, + "event": "path", + "message": "Condition \"++count != min\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 132, + "event": "path", + "message": "Condition \"fread(buf, 4UL /* sizeof (int) */, 1, fp[j])\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 133, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 136, + "event": "path", + "message": "Condition \"min\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 98, + "event": "path", + "message": "Condition \"min == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 102, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 98, + "event": "path", + "message": "Condition \"min == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 102, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 98, + "event": "path", + "message": "Condition \"min == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 102, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 98, + "event": "path", + "message": "Condition \"min == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 102, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 98, + "event": "path", + "message": "Condition \"min == 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 98, + "event": "path", + "message": "Condition \"num[i]\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 98, + "event": "path", + "message": "Condition \"num[i] < min\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 102, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 104, + "event": "path", + "message": "Condition \"fread(&len, 4UL /* sizeof (int) */, 1, fp[j])\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 105, + "event": "path", + "message": "Condition \"verbose\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 107, + "event": "path", + "message": "Condition \"len > bufsize\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 109, + "event": "path", + "message": "Condition \"verbose\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 111, + "event": "path", + "message": "Condition \"buf == NULL\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 116, + "event": "path", + "message": "Condition \"(rc = fread(buf, len, 1, fp[j])) <= 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 120, + "event": "path", + "message": "Condition \"(rc = fwrite(buf, len, 1, ofp)) <= 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 126, + "event": "path", + "message": "Condition \"min\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 126, + "event": "path", + "message": "Condition \"++count != min\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 132, + "event": "path", + "message": "Condition \"fread(buf, 4UL /* sizeof (int) */, 1, fp[j])\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 133, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 136, + "event": "path", + "message": "Condition \"min\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 98, + "event": "path", + "message": "Condition \"min == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 102, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 98, + "event": "path", + "message": "Condition \"min == 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 98, + "event": "path", + "message": "Condition \"num[i]\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 102, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 104, + "event": "path", + "message": "Condition \"fread(&len, 4UL /* sizeof (int) */, 1, fp[j])\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 105, + "event": "path", + "message": "Condition \"verbose\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 107, + "event": "path", + "message": "Condition \"len > bufsize\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 109, + "event": "path", + "message": "Condition \"verbose\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 111, + "event": "path", + "message": "Condition \"buf == NULL\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 116, + "event": "path", + "message": "Condition \"(rc = fread(buf, len, 1, fp[j])) <= 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 120, + "event": "path", + "message": "Condition \"(rc = fwrite(buf, len, 1, ofp)) <= 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 126, + "event": "path", + "message": "Condition \"min\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 126, + "event": "path", + "message": "Condition \"++count != min\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 132, + "event": "path", + "message": "Condition \"fread(buf, 4UL /* sizeof (int) */, 1, fp[j])\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 133, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 136, + "event": "path", + "message": "Condition \"min\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 98, + "event": "path", + "message": "Condition \"min == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 102, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 104, + "event": "path", + "message": "Condition \"fread(&len, 4UL /* sizeof (int) */, 1, fp[j])\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 105, + "event": "path", + "message": "Condition \"verbose\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 107, + "event": "path", + "message": "Condition \"len > bufsize\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 109, + "event": "path", + "message": "Condition \"verbose\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 111, + "event": "path", + "message": "Condition \"buf == NULL\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 116, + "event": "path", + "message": "Condition \"(rc = fread(buf, len, 1, fp[j])) <= 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 120, + "event": "path", + "message": "Condition \"(rc = fwrite(buf, len, 1, ofp)) <= 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 126, + "event": "path", + "message": "Condition \"min\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 126, + "event": "path", + "message": "Condition \"++count != min\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 132, + "event": "path", + "message": "Condition \"fread(buf, 4UL /* sizeof (int) */, 1, fp[j])\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 136, + "event": "path", + "message": "Condition \"min\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 98, + "event": "path", + "message": "Condition \"min == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 102, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 104, + "event": "tainted_argument", + "message": "Calling function \"fread\" taints argument \"len\". [Note: The source code implementation of the function has been overridden by a builtin model.]", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 104, + "event": "path", + "message": "Condition \"fread(&len, 4UL /* sizeof (int) */, 1, fp[j])\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 105, + "event": "path", + "message": "Condition \"verbose\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 107, + "event": "path", + "message": "Condition \"len > bufsize\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 107, + "event": "upper_bounds", + "message": "Checking upper bounds of signed scalar \"len\" by taking the false branch of \"len > bufsize\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 116, + "event": "tainted_data", + "message": "Passing tainted expression \"len\" to \"fread\", which uses it as an offset. [Note: The source code implementation of the function has been overridden by a builtin model.]", + "verbosity_level": 0 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 116, + "event": "remediation", + "message": "Ensure that tainted values are properly sanitized, by checking that their values are within a permissible range.", + "verbosity_level": 1 + } + ] + }, + { + "checker": "CHECKED_RETURN", + "cwe": 252, + "function": "main", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 80, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 47, + "event": "path", + "message": "Condition \"buf == NULL\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 52, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"vo:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 53, + "event": "path", + "message": "Switch case value \"118\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 56, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 63, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 52, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"vo:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 53, + "event": "path", + "message": "Switch case value \"111\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 59, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 63, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 52, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"vo:\")) != -1\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 65, + "event": "path", + "message": "Condition \"optind == argc\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 69, + "event": "path", + "message": "Condition \"optind < argc\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 71, + "event": "path", + "message": "Condition \"!fp[i]\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 75, + "event": "path", + "message": "Condition \"fread(buf, 4UL /* sizeof (int) */, 1, fp[i])\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 76, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 80, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 69, + "event": "path", + "message": "Condition \"optind < argc\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 71, + "event": "path", + "message": "Condition \"!fp[i]\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 75, + "event": "path", + "message": "Condition \"fread(buf, 4UL /* sizeof (int) */, 1, fp[i])\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 76, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 80, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 69, + "event": "path", + "message": "Condition \"optind < argc\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 83, + "event": "path", + "message": "Condition \"!outfile_name\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 84, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 98, + "event": "path", + "message": "Condition \"min == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 102, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 98, + "event": "path", + "message": "Condition \"min == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 102, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 104, + "event": "path", + "message": "Condition \"fread(&len, 4UL /* sizeof (int) */, 1, fp[j])\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 105, + "event": "path", + "message": "Condition \"verbose\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 107, + "event": "path", + "message": "Condition \"len > bufsize\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 109, + "event": "path", + "message": "Condition \"verbose\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 111, + "event": "path", + "message": "Condition \"buf == NULL\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 116, + "event": "path", + "message": "Condition \"(rc = fread(buf, len, 1, fp[j])) <= 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 120, + "event": "path", + "message": "Condition \"(rc = fwrite(buf, len, 1, ofp)) <= 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 126, + "event": "path", + "message": "Condition \"min\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 126, + "event": "path", + "message": "Condition \"++count != min\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 132, + "event": "path", + "message": "Condition \"fread(buf, 4UL /* sizeof (int) */, 1, fp[j])\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 133, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 136, + "event": "path", + "message": "Condition \"min\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 98, + "event": "path", + "message": "Condition \"min == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 102, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 98, + "event": "path", + "message": "Condition \"min == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 102, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 98, + "event": "path", + "message": "Condition \"min == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 102, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 98, + "event": "path", + "message": "Condition \"min == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 102, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 104, + "event": "path", + "message": "Condition \"fread(&len, 4UL /* sizeof (int) */, 1, fp[j])\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 105, + "event": "path", + "message": "Condition \"verbose\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 107, + "event": "path", + "message": "Condition \"len > bufsize\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 109, + "event": "path", + "message": "Condition \"verbose\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 111, + "event": "path", + "message": "Condition \"buf == NULL\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 116, + "event": "path", + "message": "Condition \"(rc = fread(buf, len, 1, fp[j])) <= 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 120, + "event": "path", + "message": "Condition \"(rc = fwrite(buf, len, 1, ofp)) <= 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 126, + "event": "path", + "message": "Condition \"min\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 126, + "event": "path", + "message": "Condition \"++count != min\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 132, + "event": "path", + "message": "Condition \"fread(buf, 4UL /* sizeof (int) */, 1, fp[j])\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 133, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 136, + "event": "path", + "message": "Condition \"min\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 98, + "event": "path", + "message": "Condition \"min == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 102, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 97, + "event": "path", + "message": "Condition \"i < ncpus\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 104, + "event": "path", + "message": "Condition \"fread(&len, 4UL /* sizeof (int) */, 1, fp[j])\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 105, + "event": "path", + "message": "Condition \"verbose\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 107, + "event": "path", + "message": "Condition \"len > bufsize\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 109, + "event": "path", + "message": "Condition \"verbose\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 111, + "event": "path", + "message": "Condition \"buf == NULL\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 116, + "event": "path", + "message": "Condition \"(rc = fread(buf, len, 1, fp[j])) <= 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 120, + "event": "path", + "message": "Condition \"(rc = fwrite(buf, len, 1, ofp)) <= 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 126, + "event": "path", + "message": "Condition \"min\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 132, + "event": "check_return", + "message": "\"fread(void * restrict, size_t, size_t, FILE * restrict)\" returns the number of bytes read, but it is ignored.", + "verbosity_level": 0 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 132, + "event": "path", + "message": "Condition \"fread(buf, 4UL /* sizeof (int) */, 1, fp[j])\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 133, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 136, + "event": "path", + "message": "Condition \"min\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 138, + "event": "path", + "message": "Condition \"i < ncpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 139, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 138, + "event": "path", + "message": "Condition \"i < ncpus\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 139, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/stap_merge.c", + "line": 138, + "event": "path", + "message": "Condition \"i < ncpus\", taking false branch.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "RESOURCE_LEAK", + "cwe": 404, + "imp": 1, + "function": "send_relocation_modules", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 24, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 700, + "event": "path", + "message": "Condition \"r == 1\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 700, + "event": "path", + "message": "Condition \"r == 2\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 703, + "event": "path", + "message": "Condition \"i < globbuf.gl_pathc\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 719, + "event": "path", + "message": "Condition \"!section_name\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 719, + "event": "path", + "message": "Continuing loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 703, + "event": "path", + "message": "Condition \"i < globbuf.gl_pathc\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 719, + "event": "path", + "message": "Condition \"!section_name\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 719, + "event": "path", + "message": "Continuing loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 703, + "event": "path", + "message": "Condition \"i < globbuf.gl_pathc\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 719, + "event": "path", + "message": "Condition \"!section_name\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 722, + "event": "path", + "message": "Condition \"!strcmp(section_name, \".\")\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 723, + "event": "path", + "message": "Condition \"!strcmp(section_name, \"..\")\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 726, + "event": "path", + "message": "Condition \"!module_name\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 729, + "event": "path", + "message": "Condition \"!module_name\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 732, + "event": "path", + "message": "Condition \"!module_name\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 736, + "event": "path", + "message": "Condition \"!module_name_end\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 738, + "event": "alloc_fn", + "message": "Storage is returned from allocation function \"fopen\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 738, + "event": "var_assign", + "message": "Assigning: \"secfile\" = storage returned from \"fopen(module_section_file, \"r\")\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 739, + "event": "path", + "message": "Condition \"!secfile\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 741, + "event": "noescape", + "message": "Resource \"secfile\" is not freed or pointed-to in \"fscanf\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 741, + "event": "path", + "message": "Condition \"1 == fscanf(secfile, \"0x%llx\", §ion_address)\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 750, + "event": "path", + "message": "Condition \"strstr(section_name, \"init.\") != NULL\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 761, + "event": "path", + "message": "Condition \"strcmp(section_name, \".gnu.linkonce.this_module\")\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 765, + "event": "noescape", + "message": "Resource \"secfile\" is not freed or pointed-to in \"fileno\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 774, + "event": "leaked_storage", + "message": "Variable \"secfile\" going out of scope leaks the storage it points to.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "BAD_SIZEOF", + "cwe": 467, + "function": "insert_module", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun_funcs.c", + "line": 192, + "event": "bad_sizeof", + "message": "Taking the size of \"module_realpath\", which is the address of an object, is suspicious.", + "verbosity_level": 0 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun_funcs.c", + "line": 192, + "event": "remediation", + "message": "Did you intend the size of \"module_realpath\" itself?", + "verbosity_level": 1 + } + ] + }, + { + "checker": "TOCTOU", + "cwe": 367, + "function": "mountfs", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 8, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun_funcs.c", + "line": 319, + "event": "path", + "message": "Condition \"statfs(\"/sys/kernel/debug\", &st) == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun_funcs.c", + "line": 319, + "event": "path", + "message": "Condition \"(int)st.f_type == 1684170528 /* (int)1684170528 */\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun_funcs.c", + "line": 326, + "event": "path", + "message": "Condition \"rc == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun_funcs.c", + "line": 326, + "event": "path", + "message": "Condition \"(sb.st_mode & 61440) == 16384\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun_funcs.c", + "line": 329, + "event": "path", + "message": "Condition \"rc == 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun_funcs.c", + "line": 334, + "event": "path", + "message": "Condition \"*__errno_location() != 19\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun_funcs.c", + "line": 343, + "event": "path", + "message": "Condition \"statfs(\"/mnt/relay\", &st) == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun_funcs.c", + "line": 343, + "event": "path", + "message": "Condition \"(int)st.f_type == -256595583 /* (int)4038371713U */\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun_funcs.c", + "line": 348, + "event": "fs_check_call", + "message": "Calling function \"stat\" to perform check on \"\"/mnt/relay\"\".", + "verbosity_level": 0 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun_funcs.c", + "line": 349, + "event": "path", + "message": "Condition \"rc == 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun_funcs.c", + "line": 353, + "event": "path", + "message": "Condition \"rc < 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun_funcs.c", + "line": 367, + "event": "path", + "message": "Condition \"setuid(0) < 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun_funcs.c", + "line": 371, + "event": "path", + "message": "Condition \"setgid(0) < 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun_funcs.c", + "line": 378, + "event": "toctou", + "message": "Calling function \"mkdir\" that uses \"\"/mnt/relay\"\" after a check function. This can cause a time-of-check, time-of-use race condition.", + "verbosity_level": 1 + } + ] + }, + { + "checker": "TAINTED_SCALAR", + "cwe": 20, + "function": "assert_stap_module_permissions", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 6, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun_funcs.c", + "line": 770, + "event": "path", + "message": "Condition \"check_signature_rc == -2\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun_funcs.c", + "line": 774, + "event": "path", + "message": "Condition \"getuid() == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun_funcs.c", + "line": 776, + "event": "tainted_return_value", + "message": "Function \"getenv\" returns tainted data.", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun_funcs.c", + "line": 776, + "event": "var_assign", + "message": "Assigning: \"env_id\" = \"getenv(\"SYSTEMTAP_REAL_UID\")\", which taints \"env_id\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun_funcs.c", + "line": 777, + "event": "path", + "message": "Condition \"env_id\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun_funcs.c", + "line": 777, + "event": "tainted_data_transitive", + "message": "Call to function \"atoi\" with tainted argument \"*env_id\" returns tainted data. [Note: The source code implementation of the function has been overridden by a builtin model.]", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun_funcs.c", + "line": 777, + "event": "tainted_data", + "message": "Passing tainted expression \"atoi(env_id)\" to \"setreuid\", which cannot accept tainted data.", + "verbosity_level": 0 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun_funcs.c", + "line": 777, + "event": "remediation", + "message": "Ensure that tainted values are properly sanitized, by checking that their values are within a permissible range.", + "verbosity_level": 1 + } + ] + }, + { + "checker": "TAINTED_SCALAR", + "cwe": 20, + "function": "assert_stap_module_permissions", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 10, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun_funcs.c", + "line": 770, + "event": "path", + "message": "Condition \"check_signature_rc == -2\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun_funcs.c", + "line": 774, + "event": "path", + "message": "Condition \"getuid() == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun_funcs.c", + "line": 777, + "event": "path", + "message": "Condition \"env_id\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun_funcs.c", + "line": 777, + "event": "path", + "message": "Condition \"setreuid(atoi(env_id), -1)\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun_funcs.c", + "line": 778, + "event": "path", + "message": "Condition \"suppress_warnings\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun_funcs.c", + "line": 778, + "event": "path", + "message": "Breaking from loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun_funcs.c", + "line": 782, + "event": "tainted_return_value", + "message": "Function \"getenv\" returns tainted data.", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun_funcs.c", + "line": 782, + "event": "var_assign", + "message": "Assigning: \"env_id\" = \"getenv(\"SYSTEMTAP_REAL_GID\")\", which taints \"env_id\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun_funcs.c", + "line": 783, + "event": "path", + "message": "Condition \"env_id\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun_funcs.c", + "line": 783, + "event": "tainted_data_transitive", + "message": "Call to function \"atoi\" with tainted argument \"*env_id\" returns tainted data. [Note: The source code implementation of the function has been overridden by a builtin model.]", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun_funcs.c", + "line": 783, + "event": "tainted_data", + "message": "Passing tainted expression \"atoi(env_id)\" to \"setregid\", which cannot accept tainted data.", + "verbosity_level": 0 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun_funcs.c", + "line": 783, + "event": "remediation", + "message": "Ensure that tainted values are properly sanitized, by checking that their values are within a permissible range.", + "verbosity_level": 1 + } + ] + }, + { + "checker": "UNINIT_CTOR", + "cwe": 457, + "function": "functioncall::functioncall()", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 1, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staptree.h", + "line": 467, + "event": "member_decl", + "message": "Class member declaration for \"synthetic\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staptree.cxx", + "line": 79, + "event": "uninit_member", + "message": "Non-static class member \"synthetic\" is not initialized in this constructor nor in any functions that it calls.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "CHECKED_RETURN", + "cwe": 252, + "function": "netfilter_builder::build(systemtap_session &, probe *, probe_point *, std::map, std::allocator > > const &, std::vector > &)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 2, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-netfilter.cxx", + "line": 521, + "event": "path", + "message": "Condition \"!derived_probe_builder::get_param(parameters, interned_string(TOK_HOOK), hook)\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-netfilter.cxx", + "line": 524, + "event": "path", + "message": "Condition \"!derived_probe_builder::get_param(parameters, interned_string(TOK_PF), pf)\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-netfilter.cxx", + "line": 527, + "event": "check_return", + "message": "Calling \"get_param\" without checking return value (as is done elsewhere 29 out of 32 times).", + "verbosity_level": 0 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-itrace.cxx", + "line": 111, + "event": "example_assign", + "message": "Example 1: Assigning: \"has_path\" = return value from \"derived_probe_builder::get_param(parameters, interned_string(TOK_PROCESS), path)\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-itrace.cxx", + "line": 114, + "event": "example_checked", + "message": "Example 1 (cont.): \"has_path\" has its value checked in \"has_path\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-mark.cxx", + "line": 650, + "event": "example_assign", + "message": "Example 2: Assigning: \"has_mark_str\" = return value from \"derived_probe_builder::get_param(parameters, interned_string(TOK_MARK), mark_str_val)\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-mark.cxx", + "line": 653, + "event": "example_checked", + "message": "Example 2 (cont.): \"has_mark_str\" has its value checked in \"has_mark_str\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-method.cxx", + "line": 96, + "event": "example_assign", + "message": "Example 3: Assigning: \"has_method_str\" = return value from \"derived_probe_builder::get_param(parameters, interned_string(TOK_METHOD), method_str_val)\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-method.cxx", + "line": 149, + "event": "example_checked", + "message": "Example 3 (cont.): \"has_method_str\" has its value checked in \"has_method_str\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-netfilter.cxx", + "line": 524, + "event": "example_checked", + "message": "Example 4: \"derived_probe_builder::get_param(parameters, interned_string(TOK_PF), pf)\" has its value checked in \"derived_probe_builder::get_param(parameters, interned_string(TOK_PF), pf)\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-perfmon.cxx", + "line": 325, + "event": "example_assign", + "message": "Example 5: Assigning: \"has_counter\" = return value from \"derived_probe_builder::get_param(parameters, interned_string(TOK_COUNTER), var)\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-perfmon.cxx", + "line": 328, + "event": "example_checked", + "message": "Example 5 (cont.): \"has_counter\" has its value checked in \"has_counter\".", + "verbosity_level": 1 + } + ] + }, + { + "checker": "RESOURCE_LEAK", + "cwe": 404, + "imp": 1, + "function": "register_tapset_python(systemtap_session &)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 3, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-python.cxx", + "line": 713, + "event": "alloc_fn", + "message": "Storage is returned from allocation function \"operator new\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-python.cxx", + "line": 713, + "event": "var_assign", + "message": "Assigning: \"builder\" = storage returned from \"new python_builder\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-python.cxx", + "line": 725, + "event": "path", + "message": "Condition \"i < roots.size()\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-python.cxx", + "line": 740, + "event": "leaked_storage", + "message": "Variable \"builder\" going out of scope leaks the storage it points to.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "RESOURCE_LEAK", + "cwe": 404, + "imp": 1, + "function": "utrace_var_expanding_visitor::visit_target_symbol_arg(target_symbol *)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 6, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-utrace.cxx", + "line": 487, + "event": "path", + "message": "Condition \"this->flags != UDPF_SYSCALL\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-utrace.cxx", + "line": 490, + "event": "path", + "message": "Condition \"e->name == \"$$parms\"\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-utrace.cxx", + "line": 497, + "event": "path", + "message": "Condition \"i < 6\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-utrace.cxx", + "line": 499, + "event": "path", + "message": "Condition \"i > 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-utrace.cxx", + "line": 502, + "event": "alloc_fn", + "message": "Storage is returned from allocation function \"operator new\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-utrace.cxx", + "line": 502, + "event": "var_assign", + "message": "Assigning: \"tsym\" = storage returned from \"new target_symbol\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-utrace.cxx", + "line": 517, + "event": "leaked_storage", + "message": "Variable \"tsym\" going out of scope leaks the storage it points to.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "RESOURCE_LEAK", + "cwe": 404, + "imp": 1, + "function": "register_tapset_utrace(systemtap_session &)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 3, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-utrace.cxx", + "line": 1347, + "event": "alloc_fn", + "message": "Storage is returned from allocation function \"operator new\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-utrace.cxx", + "line": 1347, + "event": "var_assign", + "message": "Assigning: \"builder\" = storage returned from \"new utrace_builder\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-utrace.cxx", + "line": 1354, + "event": "path", + "message": "Condition \"i < roots.size()\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-utrace.cxx", + "line": 1375, + "event": "leaked_storage", + "message": "Variable \"builder\" going out of scope leaks the storage it points to.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "UNINIT_CTOR", + "cwe": 457, + "function": "uprobe_derived_probe::uprobe_derived_probe(probe *, probe_point *, int, unsigned long, bool)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 1, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 609, + "event": "member_decl", + "message": "Class member declaration for \"build_id_vaddr\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 628, + "event": "uninit_member", + "message": "Non-static class member \"build_id_vaddr\" is not initialized in this constructor nor in any functions that it calls.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "TAINTED_SCALAR", + "cwe": 606, + "function": "dwarf_query::parse_function_spec(std::__cxx11::basic_string, std::allocator > const &)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 12, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 1260, + "event": "path", + "message": "Condition \"scope_pos != 18446744073709551615UL /* std::__cxx11::basic_string, std::allocator >::npos */\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 1264, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 1270, + "event": "path", + "message": "Condition \"src_pos == 18446744073709551615UL /* std::__cxx11::basic_string, std::allocator >::npos */\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 1281, + "event": "path", + "message": "Condition \"line_pos == 18446744073709551615UL /* std::__cxx11::basic_string, std::allocator >::npos */\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 1292, + "event": "path", + "message": "Condition \"spec[line_pos] == '+'\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 1293, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 1300, + "event": "path", + "message": "Condition \"this->lineno_type != WILDCARD\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 1304, + "event": "path", + "message": "Condition \"spec->find_first_of(\",-\", line_pos + 1) != 18446744073709551615UL /* std::__cxx11::basic_string, std::allocator >::npos */\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 1309, + "event": "path", + "message": "Condition \"line_spec != std::vector, std::allocator >, std::allocator, std::allocator > > >::const_iterator(sub_specs.cend())\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 1314, + "event": "path", + "message": "Condition \"ranges.size() > 1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 1317, + "event": "tainted_return_value", + "message": "Function \"lex_cast\" returns tainted data.", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 1317, + "event": "var_assign", + "message": "Assigning: \"high\" = \"lex_cast(ranges.back())\", which taints \"high\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 1318, + "event": "tainted_data", + "message": "Using tainted variable \"high\" as a loop boundary.", + "verbosity_level": 0 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 1318, + "event": "remediation", + "message": "Ensure that tainted values are properly sanitized, by checking that their values are within a permissible range.", + "verbosity_level": 1 + } + ] + }, + { + "checker": "TAINTED_SCALAR", + "cwe": 606, + "function": "dwarf_query::parse_function_spec(std::__cxx11::basic_string, std::allocator > const &)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 13, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 1260, + "event": "path", + "message": "Condition \"scope_pos != 18446744073709551615UL /* std::__cxx11::basic_string, std::allocator >::npos */\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 1264, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 1270, + "event": "path", + "message": "Condition \"src_pos == 18446744073709551615UL /* std::__cxx11::basic_string, std::allocator >::npos */\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 1281, + "event": "path", + "message": "Condition \"line_pos == 18446744073709551615UL /* std::__cxx11::basic_string, std::allocator >::npos */\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 1292, + "event": "path", + "message": "Condition \"spec[line_pos] == '+'\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 1293, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 1300, + "event": "path", + "message": "Condition \"this->lineno_type != WILDCARD\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 1304, + "event": "path", + "message": "Condition \"spec->find_first_of(\",-\", line_pos + 1) != 18446744073709551615UL /* std::__cxx11::basic_string, std::allocator >::npos */\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 1309, + "event": "path", + "message": "Condition \"line_spec != std::vector, std::allocator >, std::allocator, std::allocator > > >::const_iterator(sub_specs.cend())\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 1314, + "event": "path", + "message": "Condition \"ranges.size() > 1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 1316, + "event": "tainted_return_value", + "message": "Function \"lex_cast\" returns tainted data.", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 1316, + "event": "var_assign", + "message": "Assigning: \"low\" = \"lex_cast(ranges.front())\", which taints \"low\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 1318, + "event": "var_assign_var", + "message": "Assigning: \"i\" = \"low\". Both are now tainted.", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 1318, + "event": "tainted_data", + "message": "Using tainted variable \"i\" as a loop boundary.", + "verbosity_level": 0 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 1318, + "event": "remediation", + "message": "Ensure that tainted values are properly sanitized, by checking that their values are within a permissible range.", + "verbosity_level": 1 + } + ] + }, + { + "checker": "DEADCODE", + "cwe": 561, + "function": "dwarf_pretty_print::recurse_array(Dwarf_Die *, target_symbol *, print_format *, bool)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 3, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 3565, + "event": "assignment", + "message": "Assigning: \"i\" = \"0U\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 3567, + "event": "const", + "message": "At condition \"i > 0U\", the value of \"i\" must be equal to 0.", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 3567, + "event": "dead_error_condition", + "message": "The condition \"i > 0U\" cannot be true.", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 3568, + "event": "dead_error_line", + "message": "Execution cannot reach this statement: \"pf->raw_components.append(\"...\".", + "verbosity_level": 0 + } + ] + }, + { + "checker": "RESOURCE_LEAK", + "cwe": 404, + "imp": 1, + "function": "dwarf_var_expanding_visitor::visit_target_symbol_context(target_symbol *)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 9, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 4442, + "event": "path", + "message": "Condition \"pending_interrupts\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 4447, + "event": "path", + "message": "Condition \"null_die(this->scope_die)\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 4454, + "event": "alloc_fn", + "message": "Storage is returned from allocation function \"operator new\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 4454, + "event": "var_assign", + "message": "Assigning: \"tsym\" = storage returned from \"new target_symbol(e)\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 4464, + "event": "path", + "message": "Condition \"this->q.has_return\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 4464, + "event": "path", + "message": "Condition \"e->name == \"$$return\"\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 4489, + "event": "path", + "message": "Condition \"i < scopes.size()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 4491, + "event": "path", + "message": "Condition \"dwarf_tag(scopes[i]) == DW_TAG_compile_unit\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 4492, + "event": "path", + "message": "Breaking from loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 4570, + "event": "leaked_storage", + "message": "Variable \"tsym\" going out of scope leaks the storage it points to.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "TAINTED_SCALAR", + "cwe": 606, + "function": "sdt_uprobe_var_expanding_visitor::try_parse_arg_effective_addr(target_symbol *, std::__cxx11::basic_string, std::allocator > const &, long)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 16, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 7154, + "event": "path", + "message": "Condition \"!regexp_match(asmarg, regexp, matches)\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 7161, + "event": "path", + "message": "Condition \"matches[6]->length()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 7163, + "event": "tainted_return_value", + "message": "Function \"lex_cast\" returns tainted data.", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 7163, + "event": "var_assign", + "message": "Assigning: \"scale\" = \"lex_cast(std::__cxx11::basic_string, std::allocator >(matches[6UL]->substr(1UL, 18446744073709551615UL)))\", which taints \"scale\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 7165, + "event": "path", + "message": "Condition \"matches[4]->length()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 7167, + "event": "path", + "message": "Condition \"std::map, std::allocator >, std::pair, std::less, std::allocator > >, std::allocator, std::allocator > const, std::pair > > >::iterator(this->dwarf_regs.find(baseregname)) == std::map, std::allocator >, std::pair, std::less, std::allocator > >, std::allocator, std::allocator > const, std::pair > > >::iterator(this->dwarf_regs.end())\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 7170, + "event": "path", + "message": "Condition \"matches[5]->length()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 7172, + "event": "path", + "message": "Condition \"std::map, std::allocator >, std::pair, std::less, std::allocator > >, std::allocator, std::allocator > const, std::pair > > >::iterator(this->dwarf_regs.find(indexregname)) == std::map, std::allocator >, std::pair, std::less, std::allocator > >, std::allocator, std::allocator > const, std::pair > > >::iterator(this->dwarf_regs.end())\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 7175, + "event": "path", + "message": "Condition \"i <= 3\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 7176, + "event": "path", + "message": "Condition \"matches[i]->length()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 7179, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 7175, + "event": "path", + "message": "Condition \"i <= 3\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 7176, + "event": "path", + "message": "Condition \"matches[i]->length()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 7179, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 7175, + "event": "path", + "message": "Condition \"i <= 3\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 7187, + "event": "lower_bounds", + "message": "Checking lower bounds of signed scalar \"scale\" by taking the true branch of \"scale > 9\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 7187, + "event": "tainted_data", + "message": "Passing tainted expression \"scale\" to \"lex_cast\", which uses it as a loop boundary.", + "verbosity_level": 0 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 7187, + "event": "remediation", + "message": "Ensure that tainted values are properly sanitized, by checking that their values are within a permissible range.", + "verbosity_level": 1 + } + ] + }, + { + "checker": "RESOURCE_LEAK", + "cwe": 404, + "imp": 1, + "function": "delete_statement_operand_visitor::visit_arrayindex(arrayindex *)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 21, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4515, + "event": "path", + "message": "Condition \"array\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4518, + "event": "path", + "message": "Condition \"i < e->indexes.size()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4519, + "event": "path", + "message": "Condition \"e->indexes[i] == NULL\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4522, + "event": "path", + "message": "Breaking from loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4525, + "event": "path", + "message": "Condition \"!array_slice\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4542, + "event": "path", + "message": "Condition \"i < e->indexes.size()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4544, + "event": "path", + "message": "Condition \"e->indexes[i]\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4549, + "event": "path", + "message": "Condition \"mvar.is_parallel()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4551, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4561, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4542, + "event": "path", + "message": "Condition \"i < e->indexes.size()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4544, + "event": "path", + "message": "Condition \"e->indexes[i]\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4549, + "event": "path", + "message": "Condition \"mvar.is_parallel()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4551, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4561, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4542, + "event": "path", + "message": "Condition \"i < e->indexes.size()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4544, + "event": "path", + "message": "Condition \"e->indexes[i]\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4555, + "event": "path", + "message": "Condition \"mvar.is_parallel()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4557, + "event": "alloc_fn", + "message": "Storage is returned from allocation function \"operator new\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4557, + "event": "var_assign", + "message": "Assigning: \"asvar\" = storage returned from \"new tmpvar(this->parent->gensym(r->index_types[i]))\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4558, + "event": "noescape", + "message": "Resource \"asvar\" is not freed or pointed-to in \"push_back\". [Note: The source code implementation of the function has been overridden by a builtin model.]", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4559, + "event": "leaked_storage", + "message": "Variable \"asvar\" going out of scope leaks the storage it points to.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "FORWARD_NULL", + "cwe": 476, + "function": "c_unparser_assignment::visit_symbol(symbol *)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 5, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 5275, + "event": "path", + "message": "Condition \"e->referent != NULL\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 5275, + "event": "path", + "message": "Condition \"e->referent != NULL\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 5275, + "event": "path", + "message": "Condition \"(bool)(e->referent != NULL)\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 5276, + "event": "path", + "message": "Condition \"e->referent->index_types.size() != 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 5280, + "event": "var_compare_op", + "message": "Comparing \"this->rvalue\" to null implies that \"this->rvalue\" might be null.", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 5287, + "event": "var_deref_model", + "message": "\"c_assignop\" dereferences null \"this->rvalue\".", + "verbosity_level": 0 + } + ] + }, + { + "checker": "FORWARD_NULL", + "cwe": 476, + "function": "c_unparser_assignment::visit_arrayindex(arrayindex *)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 7, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 5578, + "event": "path", + "message": "Condition \"array\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 5585, + "event": "path", + "message": "Condition \"array->referent->index_types.size() == 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 5590, + "event": "var_compare_op", + "message": "Comparing \"this->rvalue\" to null implies that \"this->rvalue\" might be null.", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 5625, + "event": "path", + "message": "Condition \"this->op == \"<<<\"\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 5627, + "event": "path", + "message": "Condition \"e->type == pe_stats\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 5627, + "event": "path", + "message": "Condition \"e->type == pe_stats\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 5627, + "event": "path", + "message": "Condition \"(bool)(e->type == pe_stats)\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 5628, + "event": "var_deref_op", + "message": "Dereferencing null pointer \"this->rvalue\".", + "verbosity_level": 0 + } + ] + }, + { + "checker": "FORWARD_NULL", + "cwe": 476, + "function": "c_unparser_assignment::visit_arrayindex(arrayindex *)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 5, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 5578, + "event": "path", + "message": "Condition \"array\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 5585, + "event": "path", + "message": "Condition \"array->referent->index_types.size() == 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 5590, + "event": "var_compare_op", + "message": "Comparing \"this->rvalue\" to null implies that \"this->rvalue\" might be null.", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 5625, + "event": "path", + "message": "Condition \"this->op == \"<<<\"\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 5642, + "event": "path", + "message": "Condition \"this->op != \"=\"\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 5644, + "event": "var_deref_model", + "message": "\"c_assignop\" dereferences null \"this->rvalue\".", + "verbosity_level": 0 + } + ] + }, + { + "checker": "SECURE_TEMP", + "cwe": 377, + "function": "copy_file(std::__cxx11::basic_string, std::allocator > const &, std::__cxx11::basic_string, std::allocator > const &, bool)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 2, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/util.cxx", + "line": 137, + "event": "path", + "message": "Condition \"verbose\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/util.cxx", + "line": 142, + "event": "path", + "message": "Condition \"fd1 == -1\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/util.cxx", + "line": 148, + "event": "secure_temp", + "message": "Calling \"mkstemp\" without securely setting umask first.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "TOCTOU", + "cwe": 367, + "function": "remove_file_or_dir(char const *)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/util.cxx", + "line": 239, + "event": "fs_check_call", + "message": "Calling function \"stat\" to perform check on \"name\".", + "verbosity_level": 0 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/util.cxx", + "line": 239, + "event": "path", + "message": "Condition \"(rc = stat(name, &st)) != 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/util.cxx", + "line": 246, + "event": "toctou", + "message": "Calling function \"remove\" that uses \"name\" after a check function. This can cause a time-of-check, time-of-use race condition.", + "verbosity_level": 1 + } + ] + }, + { + "checker": "CHECKED_RETURN", + "cwe": 252, + "function": "follow_link(std::__cxx11::basic_string, std::allocator > const &, std::__cxx11::basic_string, std::allocator > const &)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/util.cxx", + "line": 475, + "event": "check_return", + "message": "Calling \"lstat(f, &st)\" without checking return value. This library function may fail and return an error code. [Note: The source code implementation of the function has been overridden by a builtin model.]", + "verbosity_level": 0 + } + ] + }, + { + "checker": "CHECKED_RETURN", + "cwe": 252, + "function": "stap_fork_read(int, std::basic_ostream > &)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 4, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/util.cxx", + "line": 1067, + "event": "path", + "message": "Condition \"pipe(pipefd) != 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/util.cxx", + "line": 1072, + "event": "path", + "message": "Condition \"verbose > 1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/util.cxx", + "line": 1078, + "event": "path", + "message": "Condition \"child < 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/util.cxx", + "line": 1087, + "event": "path", + "message": "Condition \"child == 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/util.cxx", + "line": 1090, + "event": "check_return", + "message": "Calling \"fcntl(pipefd[1], 2, 1)\" without checking return value. This library function may fail and return an error code.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "CONSTANT_EXPRESSION_RESULT", + "cwe": 569, + "function": "fread", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/bits/stdio2.h", + "line": 294, + "event": "pointless_expression", + "message": "The expression \"1 /* !0 */ || 1 /* !0 */\" does not accomplish anything because it evaluates to either of its identical operands, \"1 /* !0 */\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/bits/stdio2.h", + "line": 294, + "event": "remediation", + "message": "Did you intend the operands to be different?", + "verbosity_level": 1 + } + ] + }, + { + "checker": "CONSTANT_EXPRESSION_RESULT", + "cwe": 569, + "function": "fread", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/bits/stdio2.h", + "line": 294, + "event": "pointless_expression", + "message": "The expression \"true /* !0 */ || true /* !0 */\" does not accomplish anything because it evaluates to either of its identical operands, \"true /* !0 */\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/bits/stdio2.h", + "line": 294, + "event": "remediation", + "message": "Did you intend the operands to be different?", + "verbosity_level": 1 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::equal_to, std::allocator > > *>, std::allocator, std::equal_to, std::allocator > > *> >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node, std::tuple<> >(std::__detail::_Hashtable_alloc, std::equal_to, std::allocator > > *>, false> > > *, , std::tuple<>...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args), std::forward(__args), std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::equal_to, std::allocator > > *>, std::allocator, std::equal_to, std::allocator > > *> >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable > *>, std::allocator > *> >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node, std::tuple<> >(std::__detail::_Hashtable_alloc > *>, false> > > *, , std::tuple<>...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args), std::forward(__args), std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable > *>, std::allocator > *> >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::allocator >, int, std::less, std::allocator > >, std::allocator, std::allocator > const, int> > > >, std::allocator, std::allocator >, int, std::less, std::allocator > >, std::allocator, std::allocator > const, int> > > > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node, std::tuple<> >(std::__detail::_Hashtable_alloc, std::allocator >, int, std::less, std::allocator > >, std::allocator, std::allocator > const, int> > > >, false> > > *, , std::tuple<>...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args), std::forward(__args), std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::allocator >, int, std::less, std::allocator > >, std::allocator, std::allocator > const, int> > > >, std::allocator, std::allocator >, int, std::less, std::allocator > >, std::allocator, std::allocator > const, int> > > > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node >(std::__detail::_Hashtable_alloc, true> > > *, ...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node >(std::__detail::_Hashtable_alloc, true> > > *, ...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node >(std::__detail::_Hashtable_alloc, true> > > *, ...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node, std::tuple<> >(std::__detail::_Hashtable_alloc, true> > > *, , std::tuple<>...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args), std::forward(__args), std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node >(std::__detail::_Hashtable_alloc, false> > > *, ...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::allocator >, std::pair, std::allocator > const, Dwarf_Die>, std::allocator, std::allocator > const, Dwarf_Die> >, std::__detail::_Select1st, std::equal_to, std::allocator > >, std::hash, std::allocator > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node, std::allocator > const &>, std::tuple<> >(std::__detail::_Hashtable_alloc, std::allocator > const, Dwarf_Die>, true> > > *, , std::allocator > const &>, std::tuple<>...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args), std::forward(__args), std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::allocator >, std::pair, std::allocator > const, Dwarf_Die>, std::allocator, std::allocator > const, Dwarf_Die> >, std::__detail::_Select1st, std::equal_to, std::allocator > >, std::hash, std::allocator > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::allocator >, std::pair, std::allocator > const, bpf::value *>, std::allocator, std::allocator > const, bpf::value *> >, std::__detail::_Select1st, std::equal_to, std::allocator > >, std::hash, std::allocator > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node, std::allocator >, bpf::value *> >(std::__detail::_Hashtable_alloc, std::allocator > const, bpf::value *>, true> > > *, , std::allocator >, bpf::value *>...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::allocator >, std::pair, std::allocator > const, bpf::value *>, std::allocator, std::allocator > const, bpf::value *> >, std::__detail::_Select1st, std::equal_to, std::allocator > >, std::hash, std::allocator > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::allocator >, std::pair, std::allocator > const, expression *>, std::allocator, std::allocator > const, expression *> >, std::__detail::_Select1st, std::equal_to, std::allocator > >, std::hash, std::allocator > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node, std::allocator > const &>, std::tuple<> >(std::__detail::_Hashtable_alloc, std::allocator > const, expression *>, true> > > *, , std::allocator > const &>, std::tuple<>...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args), std::forward(__args), std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::allocator >, std::pair, std::allocator > const, expression *>, std::allocator, std::allocator > const, expression *> >, std::__detail::_Select1st, std::equal_to, std::allocator > >, std::hash, std::allocator > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::allocator >, std::pair, std::allocator > const, std::vector > *>, std::allocator, std::allocator > const, std::vector > *> >, std::__detail::_Select1st, std::equal_to, std::allocator > >, std::hash, std::allocator > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node, std::allocator > &&>, std::tuple<> >(std::__detail::_Hashtable_alloc, std::allocator > const, std::vector > *>, true> > > *, , std::allocator > &&>, std::tuple<>...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args), std::forward(__args), std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::allocator >, std::pair, std::allocator > const, std::vector > *>, std::allocator, std::allocator > const, std::vector > *> >, std::__detail::_Select1st, std::equal_to, std::allocator > >, std::hash, std::allocator > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node >(std::__detail::_Hashtable_alloc, false> > > *, ...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node >(std::__detail::_Hashtable_alloc, false> > > *, ...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node >(std::__detail::_Hashtable_alloc, false> > > *, ...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node, std::tuple<> >(std::__detail::_Hashtable_alloc, false> > > *, , std::tuple<>...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args), std::forward(__args), std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::allocator >, int, std::less, std::allocator > >, std::allocator, std::allocator > const, int> > > >, std::allocator, std::allocator >, int, std::less, std::allocator > >, std::allocator, std::allocator > const, int> > > > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node, std::tuple<> >(std::__detail::_Hashtable_alloc, std::allocator >, int, std::less, std::allocator > >, std::allocator, std::allocator > const, int> > > >, false> > > *, , std::tuple<>...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args), std::forward(__args), std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::allocator >, int, std::less, std::allocator > >, std::allocator, std::allocator > const, int> > > >, std::allocator, std::allocator >, int, std::less, std::allocator > >, std::allocator, std::allocator > const, int> > > > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node >(std::__detail::_Hashtable_alloc, false> > > *, ...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::allocator >, Dwarf_Die, std::hash, std::allocator > >, std::equal_to, std::allocator > >, std::allocator, std::allocator > const, Dwarf_Die> > > *>, std::allocator, std::allocator >, Dwarf_Die, std::hash, std::allocator > >, std::equal_to, std::allocator > >, std::allocator, std::allocator > const, Dwarf_Die> > > *> >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node, std::tuple<> >(std::__detail::_Hashtable_alloc, std::allocator >, Dwarf_Die, std::hash, std::allocator > >, std::equal_to, std::allocator > >, std::allocator, std::allocator > const, Dwarf_Die> > > *>, false> > > *, , std::tuple<>...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args), std::forward(__args), std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::allocator >, Dwarf_Die, std::hash, std::allocator > >, std::equal_to, std::allocator > >, std::allocator, std::allocator > const, Dwarf_Die> > > *>, std::allocator, std::allocator >, Dwarf_Die, std::hash, std::allocator > >, std::equal_to, std::allocator > >, std::allocator, std::allocator > const, Dwarf_Die> > > *> >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::allocator >, std::vector > *, std::hash, std::allocator > >, std::equal_to, std::allocator > >, std::allocator, std::allocator > const, std::vector > *> > > *>, std::allocator, std::allocator >, std::vector > *, std::hash, std::allocator > >, std::equal_to, std::allocator > >, std::allocator, std::allocator > const, std::vector > *> > > *> >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node, std::tuple<> >(std::__detail::_Hashtable_alloc, std::allocator >, std::vector > *, std::hash, std::allocator > >, std::equal_to, std::allocator > >, std::allocator, std::allocator > const, std::vector > *> > > *>, false> > > *, , std::tuple<>...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args), std::forward(__args), std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::allocator >, std::vector > *, std::hash, std::allocator > >, std::equal_to, std::allocator > >, std::allocator, std::allocator > const, std::vector > *> > > *>, std::allocator, std::allocator >, std::vector > *, std::hash, std::allocator > >, std::equal_to, std::allocator > >, std::allocator, std::allocator > const, std::vector > *> > > *> >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::equal_to, std::allocator > > *>, std::allocator, std::equal_to, std::allocator > > *> >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node, std::tuple<> >(std::__detail::_Hashtable_alloc, std::equal_to, std::allocator > > *>, false> > > *, , std::tuple<>...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args), std::forward(__args), std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::equal_to, std::allocator > > *>, std::allocator, std::equal_to, std::allocator > > *> >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::equal_to, std::allocator > > *>, std::allocator, std::equal_to, std::allocator > > *> >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node, std::tuple<> >(std::__detail::_Hashtable_alloc, std::equal_to, std::allocator > > *>, false> > > *, , std::tuple<>...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args), std::forward(__args), std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::equal_to, std::allocator > > *>, std::allocator, std::equal_to, std::allocator > > *> >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::equal_to, std::allocator > *>, std::allocator, std::equal_to, std::allocator > *> >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node, std::tuple<> >(std::__detail::_Hashtable_alloc, std::equal_to, std::allocator > *>, false> > > *, , std::tuple<>...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args), std::forward(__args), std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::equal_to, std::allocator > *>, std::allocator, std::equal_to, std::allocator > *> >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable > *>, std::allocator > *> >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node, std::tuple<> >(std::__detail::_Hashtable_alloc > *>, false> > > *, , std::tuple<>...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args), std::forward(__args), std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable > *>, std::allocator > *> >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::allocator > > *>, std::allocator, std::allocator > > *> >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node, std::tuple<> >(std::__detail::_Hashtable_alloc, std::allocator > > *>, false> > > *, , std::tuple<>...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args), std::forward(__args), std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::allocator > > *>, std::allocator, std::allocator > > *> >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "PASS_BY_VALUE", + "cwe": 398, + "function": "void std::__push_heap<__gnu_cxx::__normal_iterator > >, long, compile_server_info, __gnu_cxx::__ops::_Iter_less_val>(__gnu_cxx::__normal_iterator > >, long, long, compile_server_info, __gnu_cxx::__ops::_Iter_less_val &)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/stl_heap.h", + "line": 135, + "event": "pass_by_value", + "message": "Passing parameter __value of type \"std::remove_reference::type\" (size 304 bytes) by value.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "PASS_BY_VALUE", + "cwe": 398, + "function": "void std::__adjust_heap<__gnu_cxx::__normal_iterator > >, long, compile_server_info, __gnu_cxx::__ops::_Iter_less_iter>(__gnu_cxx::__normal_iterator > >, long, long, compile_server_info, __gnu_cxx::__ops::_Iter_less_iter)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/stl_heap.h", + "line": 224, + "event": "pass_by_value", + "message": "Passing parameter __value of type \"std::remove_reference::type\" (size 304 bytes) by value.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "MISSING_LOCK", + "cwe": 366, + "function": "std::unique_lock::unlock()", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 2, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/unique_lock.h", + "line": 190, + "event": "path", + "message": "Condition \"!this->_M_owns\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/usr/include/c++/10/bits/unique_lock.h", + "line": 192, + "event": "path", + "message": "Condition \"this->_M_device\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/usr/include/c++/10/bits/unique_lock.h", + "line": 195, + "event": "missing_lock", + "message": "Accessing \"this->_M_owns\" without holding lock \"std::unique_lock._M_device\". Elsewhere, \"_ZSt11unique_lockISt5mutexE._M_owns\" is accessed with \"std::unique_lock._M_device\" held 1 out of 2 times (1 of these accesses strongly imply that it is necessary).", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/unique_lock.h", + "line": 138, + "event": "example_lock", + "message": "Example 1: Locking \"std::unique_lock._M_device\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/unique_lock.h", + "line": 139, + "event": "example_access", + "message": "Example 1 (cont.): \"std::unique_lock._M_owns\" is accessed with lock \"std::unique_lock._M_device\" held.", + "verbosity_level": 1 + } + ] + }, + { + "checker": "BAD_SHIFT", + "function": "Dyninst::InstructionAPI::BinaryFunction::rightRotateResult::operator ()(Dyninst::InstructionAPI::Result const &, Dyninst::InstructionAPI::Result const &) const", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 3, + "events": [ + { + "file_name": "/usr/include/dyninst/BinaryFunction.h", + "line": 240, + "event": "path", + "message": "Switch case value \"Dyninst::InstructionAPI::s48\".", + "verbosity_level": 2 + }, + { + "file_name": "/usr/include/dyninst/BinaryFunction.h", + "line": 255, + "event": "assignment", + "message": "Assigning: \"arg2val\" %= \"48UL\". The value of \"arg2val\" is now between 0 and 47 (inclusive).", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/dyninst/BinaryFunction.h", + "line": 257, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/usr/include/dyninst/BinaryFunction.h", + "line": 266, + "event": "large_shift", + "message": "In expression \"1 << arg2val\", left shifting by more than 31 bits has undefined behavior. The shift amount, \"arg2val\", is as much as 47.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "BAD_SHIFT", + "function": "Dyninst::InstructionAPI::BinaryFunction::rightRotateResult::operator ()(Dyninst::InstructionAPI::Result const &, Dyninst::InstructionAPI::Result const &) const", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 3, + "events": [ + { + "file_name": "/usr/include/dyninst/BinaryFunction.h", + "line": 240, + "event": "path", + "message": "Switch case value \"Dyninst::InstructionAPI::s64\".", + "verbosity_level": 2 + }, + { + "file_name": "/usr/include/dyninst/BinaryFunction.h", + "line": 259, + "event": "assignment", + "message": "Assigning: \"arg2val\" %= \"64UL\". The value of \"arg2val\" is now between 0 and 63 (inclusive).", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/dyninst/BinaryFunction.h", + "line": 261, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/usr/include/dyninst/BinaryFunction.h", + "line": 266, + "event": "large_shift", + "message": "In expression \"1 << arg2val\", left shifting by more than 31 bits has undefined behavior. The shift amount, \"arg2val\", is as much as 63.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "MISSING_MOVE_ASSIGNMENT", + "function": "null", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/dyninst/Result.h", + "line": 199, + "event": "missing_move_assignment", + "message": "Class \"Dyninst::InstructionAPI::Result\" may benefit from adding a move assignment operator. See other events which show the copy assignment operator being applied to rvalue(s), where a move assignment may be faster.", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/dyninst/BinaryFunction.h", + "line": 202, + "event": "copy_assignment", + "message": "Example 1: Copy assignment is performed on an object (rvalue) of type \"Dyninst::InstructionAPI::Result\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/dyninst/BinaryFunction.h", + "line": 205, + "event": "copy_assignment", + "message": "Example 2: Copy assignment is performed on an object (rvalue) of type \"Dyninst::InstructionAPI::Result\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/dyninst/BinaryFunction.h", + "line": 208, + "event": "copy_assignment", + "message": "Example 3: Copy assignment is performed on an object (rvalue) of type \"Dyninst::InstructionAPI::Result\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/dyninst/BinaryFunction.h", + "line": 211, + "event": "copy_assignment", + "message": "Example 4: Copy assignment is performed on an object (rvalue) of type \"Dyninst::InstructionAPI::Result\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/dyninst/BinaryFunction.h", + "line": 214, + "event": "copy_assignment", + "message": "Example 5: Copy assignment is performed on an object (rvalue) of type \"Dyninst::InstructionAPI::Result\".", + "verbosity_level": 1 + } + ] + } + ] +} diff --git a/tests/csgrep/0115-csgrep-imp-filter-stdout.txt b/tests/csgrep/0115-csgrep-imp-filter-stdout.txt new file mode 100644 index 00000000..2c2916d5 --- /dev/null +++ b/tests/csgrep/0115-csgrep-imp-filter-stdout.txt @@ -0,0 +1,3234 @@ +{ + "defects": [ + { + "checker": "RESOURCE_LEAK", + "cwe": 404, + "imp": 1, + "function": "bpf::output_probe(bpf::BPF_Output &, bpf::program &, std::__cxx11::basic_string, std::allocator > const &, unsigned int)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 15, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 4625, + "event": "path", + "message": "Condition \"i != std::vector >::iterator(prog.blocks.end())\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 4661, + "event": "path", + "message": "Condition \"buf\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 4661, + "event": "path", + "message": "Condition \"(bool)buf\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 4662, + "event": "alloc_fn", + "message": "Storage is returned from allocation function \"calloc\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 4662, + "event": "var_assign", + "message": "Assigning: \"rel\" = storage returned from \"calloc(16UL, nreloc)\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 4663, + "event": "path", + "message": "Condition \"rel\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 4663, + "event": "path", + "message": "Condition \"(bool)rel\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 4666, + "event": "path", + "message": "Condition \"bi != std::vector >::iterator(prog.blocks.end())\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 4719, + "event": "path", + "message": "Condition \"i == ninsns\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 4719, + "event": "path", + "message": "Condition \"i == ninsns\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 4719, + "event": "path", + "message": "Condition \"(bool)(i == ninsns)\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 4720, + "event": "path", + "message": "Condition \"r == nreloc\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 4720, + "event": "path", + "message": "Condition \"r == nreloc\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 4720, + "event": "path", + "message": "Condition \"(bool)(r == nreloc)\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 4732, + "event": "path", + "message": "Condition \"nreloc\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/bpf-translate.cxx", + "line": 4744, + "event": "leaked_storage", + "message": "Variable \"rel\" going out of scope leaks the storage it points to.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "RESOURCE_LEAK", + "cwe": 404, + "imp": 1, + "function": "sql_stmt(sqlite3 *, char const *)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 3, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/coveragedb.cxx", + "line": 148, + "event": "alloc_arg", + "message": "\"sqlite3_exec\" allocates memory that is stored into \"errmsg\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/coveragedb.cxx", + "line": 150, + "event": "path", + "message": "Condition \"ret != 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/coveragedb.cxx", + "line": 151, + "event": "noescape", + "message": "Resource \"errmsg\" is not freed or pointed-to in \"operator <<\". [Note: The source code implementation of the function has been overridden by a builtin model.]", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/coveragedb.cxx", + "line": 154, + "event": "leaked_storage", + "message": "Variable \"errmsg\" going out of scope leaks the storage it points to.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "location_context::location_context(target_symbol *, expression *)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 1, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/loc2stap.cxx", + "line": 36, + "event": "path", + "message": "Condition \"pp\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/loc2stap.cxx", + "line": 38, + "event": "alloc_new", + "message": "Allocating memory by calling \"new vardecl\".", + "verbosity_level": 0 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/loc2stap.cxx", + "line": 38, + "event": "assign", + "message": "Assigning: \"v\" = \"new vardecl\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/loc2stap.cxx", + "line": 42, + "event": "assign", + "message": "Assigning: \"this->pointer\" = \"v\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/loc2stap.cxx", + "line": 46, + "event": "path", + "message": "Condition \"i < ee->components.size()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/loc2stap.cxx", + "line": 47, + "event": "path", + "message": "Condition \"ee->components[i].type == target_symbol::comp_expression_array_index\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/loc2stap.cxx", + "line": 62, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/loc2stap.cxx", + "line": 46, + "event": "path", + "message": "Condition \"i < ee->components.size()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/loc2stap.cxx", + "line": 47, + "event": "path", + "message": "Condition \"ee->components[i].type == target_symbol::comp_expression_array_index\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/loc2stap.cxx", + "line": 62, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/loc2stap.cxx", + "line": 46, + "event": "path", + "message": "Condition \"i < ee->components.size()\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/loc2stap.cxx", + "line": 42, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"pointer\" of \"location_context\" but there is no destructor.", + "verbosity_level": 1 + } + ] + }, + { + "checker": "RESOURCE_LEAK", + "cwe": 404, + "imp": 1, + "function": "parser::parse_components()", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 32, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2546, + "event": "path", + "message": "Condition \"true /* 1 */\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2551, + "event": "path", + "message": "Condition \"pps.empty()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2552, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2585, + "event": "path", + "message": "Condition \"t\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2585, + "event": "path", + "message": "Condition \"t->type == tok_operator\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2585, + "event": "path", + "message": "Condition \"t->content == \".\"\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2594, + "event": "path", + "message": "Condition \"t\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2594, + "event": "path", + "message": "Condition \"t->type == tok_operator\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2594, + "event": "path", + "message": "Condition \"t->content == \"?\"\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2597, + "event": "path", + "message": "Condition \"i < pps.size()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2599, + "event": "path", + "message": "Condition \"pps[i]->optional\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2599, + "event": "path", + "message": "Condition \"pps[i]->sufficient\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2602, + "event": "path", + "message": "Condition \"t->content == \"!\"\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2603, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2597, + "event": "path", + "message": "Condition \"i < pps.size()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2599, + "event": "path", + "message": "Condition \"pps[i]->optional\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2599, + "event": "path", + "message": "Condition \"pps[i]->sufficient\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2602, + "event": "path", + "message": "Condition \"t->content == \"!\"\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2603, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2597, + "event": "path", + "message": "Condition \"i < pps.size()\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2610, + "event": "path", + "message": "Condition \"t\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2610, + "event": "path", + "message": "Condition \"t->type == tok_keyword\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2610, + "event": "path", + "message": "Condition \"t->content == \"if\"\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2614, + "event": "path", + "message": "Condition \"t\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2614, + "event": "path", + "message": "Condition \"t->type == tok_operator\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2614, + "event": "path", + "message": "Condition \"t->content == \"(\"\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2618, + "event": "alloc_fn", + "message": "Storage is returned from allocation function \"parse_expression\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2618, + "event": "var_assign", + "message": "Assigning: \"e\" = storage returned from \"this->parse_expression()\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2619, + "event": "path", + "message": "Condition \"i < pps.size()\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2627, + "event": "path", + "message": "Condition \"t\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2627, + "event": "path", + "message": "Condition \"t->type == tok_operator\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2627, + "event": "path", + "message": "Condition \"t->content == \")\"\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/parse.cxx", + "line": 2630, + "event": "leaked_storage", + "message": "Variable \"e\" going out of scope leaks the storage it points to.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "STRING_NULL", + "cwe": 170, + "imp": 1, + "function": "procfs_write_event_loop(procfsprobe_data *, bpf_transport_context *)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 5, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapbpf/stapbpf.cxx", + "line": 1935, + "event": "path", + "message": "Condition \"true\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapbpf/stapbpf.cxx", + "line": 1939, + "event": "path", + "message": "Condition \"fd == -1\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapbpf/stapbpf.cxx", + "line": 1957, + "event": "string_null_argument", + "message": "Function \"read\" does not terminate string \"*buffer_feed\". [Note: The source code implementation of the function has been overridden by a builtin model.]", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapbpf/stapbpf.cxx", + "line": 1959, + "event": "path", + "message": "Condition \"bytes_read == -1\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapbpf/stapbpf.cxx", + "line": 1963, + "event": "path", + "message": "Condition \"bytes_read > 0\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapbpf/stapbpf.cxx", + "line": 1964, + "event": "string_null", + "message": "Passing unterminated string \"buffer_feed\" to \"basic_string\", which expects a null-terminated string. [Note: The source code implementation of the function has been overridden by a builtin model.]", + "verbosity_level": 0 + } + ] + }, + { + "checker": "UNINIT", + "cwe": 457, + "imp": 1, + "function": "stapregex::rebalance_priorities(std::stack > > &, std::stack > > &)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 2, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapregex-dfa.cxx", + "line": 260, + "event": "var_decl", + "message": "Declaring variable \"sorted_worklist\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapregex-dfa.cxx", + "line": 261, + "event": "path", + "message": "Condition \"!worklist->empty()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapregex-dfa.cxx", + "line": 264, + "event": "uninit_use_in_call", + "message": "Using uninitialized value \"sorted_worklist.comp\" when calling \"push\".", + "verbosity_level": 0 + } + ] + }, + { + "checker": "UNINIT", + "cwe": 457, + "imp": 1, + "function": "stapregex::rebalance_priorities(std::stack > > &, std::stack > > &)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 4, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapregex-dfa.cxx", + "line": 261, + "event": "path", + "message": "Condition \"!worklist->empty()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapregex-dfa.cxx", + "line": 265, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapregex-dfa.cxx", + "line": 261, + "event": "path", + "message": "Condition \"!worklist->empty()\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapregex-dfa.cxx", + "line": 269, + "event": "var_decl", + "message": "Declaring variable \"new_priorities\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapregex-dfa.cxx", + "line": 270, + "event": "uninit_use_in_call", + "message": "Using uninitialized value \"new_priorities.comp\" when calling \"push\".", + "verbosity_level": 0 + } + ] + }, + { + "checker": "UNINIT", + "cwe": 457, + "imp": 1, + "function": "stapregex::rebalance_priorities(std::stack > > &, std::stack > > &)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 8, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapregex-dfa.cxx", + "line": 261, + "event": "path", + "message": "Condition \"!worklist->empty()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapregex-dfa.cxx", + "line": 265, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapregex-dfa.cxx", + "line": 261, + "event": "path", + "message": "Condition \"!worklist->empty()\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapregex-dfa.cxx", + "line": 268, + "event": "var_decl", + "message": "Declaring variable \"sorted_priorities\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapregex-dfa.cxx", + "line": 271, + "event": "path", + "message": "Condition \"new_priorities.size() < sorted_worklist.size()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapregex-dfa.cxx", + "line": 276, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapregex-dfa.cxx", + "line": 271, + "event": "path", + "message": "Condition \"new_priorities.size() < sorted_worklist.size()\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapregex-dfa.cxx", + "line": 277, + "event": "path", + "message": "Condition \"i < sorted_worklist.size()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/stapregex-dfa.cxx", + "line": 280, + "event": "uninit_use_in_call", + "message": "Using uninitialized value \"sorted_priorities.comp\" when calling \"push\".", + "verbosity_level": 0 + } + ] + }, + { + "checker": "RESOURCE_LEAK", + "cwe": 404, + "imp": 1, + "function": "parse_args", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 13, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 140, + "event": "path", + "message": "Condition \"isatty(2)\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 140, + "event": "path", + "message": "Condition \"getenv(\"TERM\")\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 140, + "event": "path", + "message": "Condition \"strcmp((getenv(\"TERM\") ?: \"notdumb\"), \"dumb\")\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"117\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 151, + "event": "path", + "message": "Condition \"optarg\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 152, + "event": "alloc_fn", + "message": "Storage is returned from allocation function \"strdup\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 152, + "event": "var_assign", + "message": "Assigning: \"uprobes_path\" = storage returned from \"strdup(optarg)\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 153, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"117\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 151, + "event": "path", + "message": "Condition \"optarg\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 152, + "event": "overwrite_var", + "message": "Overwriting \"uprobes_path\" in \"uprobes_path = strdup(optarg)\" leaks the storage that \"uprobes_path\" points to.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "RESOURCE_LEAK", + "cwe": 404, + "imp": 1, + "function": "parse_args", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 122, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 140, + "event": "path", + "message": "Condition \"isatty(2)\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 140, + "event": "path", + "message": "Condition \"getenv(\"TERM\")\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 140, + "event": "path", + "message": "Condition \"strcmp((getenv(\"TERM\") ?: \"notdumb\"), \"dumb\")\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"117\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 151, + "event": "path", + "message": "Condition \"optarg\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 153, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"118\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 156, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"118\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 156, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"119\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 159, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"98\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 162, + "event": "path", + "message": "Condition \"buffer_size < 1\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 162, + "event": "path", + "message": "Condition \"buffer_size > 4095\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 166, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"116\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 170, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"116\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 170, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"78\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 174, + "event": "path", + "message": "Condition \"target_namespaces_pid < 1\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 178, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"100\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 182, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"99\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 185, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"111\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 188, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"105\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 191, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"82\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 194, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"65\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 197, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"76\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 200, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"68\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 203, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"70\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 206, + "event": "path", + "message": "Condition \"relay_basedir_fd < 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 210, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"70\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 206, + "event": "path", + "message": "Condition \"relay_basedir_fd < 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 210, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"83\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 212, + "event": "path", + "message": "Condition \"optarg != NULL\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 212, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 215, + "event": "path", + "message": "Condition \"s[0] == ','\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 217, + "event": "path", + "message": "Condition \"s[0] != 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 221, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"83\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 212, + "event": "path", + "message": "Condition \"optarg != NULL\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 212, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 215, + "event": "path", + "message": "Condition \"s[0] == ','\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 217, + "event": "path", + "message": "Condition \"s[0] != 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 221, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"83\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 212, + "event": "path", + "message": "Condition \"optarg != NULL\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 212, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 215, + "event": "path", + "message": "Condition \"s[0] == ','\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 217, + "event": "path", + "message": "Condition \"s[0] != 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 221, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"114\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 223, + "event": "path", + "message": "Condition \"optarg != NULL\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 223, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 226, + "event": "path", + "message": "Condition \"s[0] == ':'\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 227, + "event": "alloc_fn", + "message": "Storage is returned from allocation function \"strdup\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 227, + "event": "var_assign", + "message": "Assigning: \"remote_uri\" = storage returned from \"strdup(&s[1])\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 229, + "event": "path", + "message": "Condition \"remote_id < 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 229, + "event": "path", + "message": "Condition \"remote_uri == NULL\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 229, + "event": "path", + "message": "Condition \"remote_uri[0] == 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 233, + "event": "path", + "message": "Breaking from switch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 278, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 143, + "event": "path", + "message": "Condition \"(c = getopt(argc, argv, \"ALu::vihb:t:dc:o:x:N:S:DwRr:VT:C:M:F:\")) != -1\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 148, + "event": "path", + "message": "Switch case value \"114\".", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 223, + "event": "path", + "message": "Condition \"optarg != NULL\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 223, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 226, + "event": "path", + "message": "Condition \"s[0] == ':'\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/common.c", + "line": 227, + "event": "overwrite_var", + "message": "Overwriting \"remote_uri\" in \"remote_uri = strdup(&s[1])\" leaks the storage that \"remote_uri\" points to.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "RESOURCE_LEAK", + "cwe": 404, + "imp": 1, + "function": "send_relocation_modules", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 24, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 700, + "event": "path", + "message": "Condition \"r == 1\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 700, + "event": "path", + "message": "Condition \"r == 2\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 703, + "event": "path", + "message": "Condition \"i < globbuf.gl_pathc\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 719, + "event": "path", + "message": "Condition \"!section_name\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 719, + "event": "path", + "message": "Continuing loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 703, + "event": "path", + "message": "Condition \"i < globbuf.gl_pathc\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 719, + "event": "path", + "message": "Condition \"!section_name\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 719, + "event": "path", + "message": "Continuing loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 703, + "event": "path", + "message": "Condition \"i < globbuf.gl_pathc\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 719, + "event": "path", + "message": "Condition \"!section_name\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 722, + "event": "path", + "message": "Condition \"!strcmp(section_name, \".\")\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 723, + "event": "path", + "message": "Condition \"!strcmp(section_name, \"..\")\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 726, + "event": "path", + "message": "Condition \"!module_name\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 729, + "event": "path", + "message": "Condition \"!module_name\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 732, + "event": "path", + "message": "Condition \"!module_name\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 736, + "event": "path", + "message": "Condition \"!module_name_end\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 738, + "event": "alloc_fn", + "message": "Storage is returned from allocation function \"fopen\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 738, + "event": "var_assign", + "message": "Assigning: \"secfile\" = storage returned from \"fopen(module_section_file, \"r\")\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 739, + "event": "path", + "message": "Condition \"!secfile\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 741, + "event": "noescape", + "message": "Resource \"secfile\" is not freed or pointed-to in \"fscanf\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 741, + "event": "path", + "message": "Condition \"1 == fscanf(secfile, \"0x%llx\", §ion_address)\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 750, + "event": "path", + "message": "Condition \"strstr(section_name, \"init.\") != NULL\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 761, + "event": "path", + "message": "Condition \"strcmp(section_name, \".gnu.linkonce.this_module\")\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 765, + "event": "noescape", + "message": "Resource \"secfile\" is not freed or pointed-to in \"fileno\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/staprun/staprun.c", + "line": 774, + "event": "leaked_storage", + "message": "Variable \"secfile\" going out of scope leaks the storage it points to.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "RESOURCE_LEAK", + "cwe": 404, + "imp": 1, + "function": "register_tapset_python(systemtap_session &)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 3, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-python.cxx", + "line": 713, + "event": "alloc_fn", + "message": "Storage is returned from allocation function \"operator new\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-python.cxx", + "line": 713, + "event": "var_assign", + "message": "Assigning: \"builder\" = storage returned from \"new python_builder\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-python.cxx", + "line": 725, + "event": "path", + "message": "Condition \"i < roots.size()\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-python.cxx", + "line": 740, + "event": "leaked_storage", + "message": "Variable \"builder\" going out of scope leaks the storage it points to.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "RESOURCE_LEAK", + "cwe": 404, + "imp": 1, + "function": "utrace_var_expanding_visitor::visit_target_symbol_arg(target_symbol *)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 6, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-utrace.cxx", + "line": 487, + "event": "path", + "message": "Condition \"this->flags != UDPF_SYSCALL\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-utrace.cxx", + "line": 490, + "event": "path", + "message": "Condition \"e->name == \"$$parms\"\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-utrace.cxx", + "line": 497, + "event": "path", + "message": "Condition \"i < 6\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-utrace.cxx", + "line": 499, + "event": "path", + "message": "Condition \"i > 0\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-utrace.cxx", + "line": 502, + "event": "alloc_fn", + "message": "Storage is returned from allocation function \"operator new\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-utrace.cxx", + "line": 502, + "event": "var_assign", + "message": "Assigning: \"tsym\" = storage returned from \"new target_symbol\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-utrace.cxx", + "line": 517, + "event": "leaked_storage", + "message": "Variable \"tsym\" going out of scope leaks the storage it points to.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "RESOURCE_LEAK", + "cwe": 404, + "imp": 1, + "function": "register_tapset_utrace(systemtap_session &)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 3, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-utrace.cxx", + "line": 1347, + "event": "alloc_fn", + "message": "Storage is returned from allocation function \"operator new\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-utrace.cxx", + "line": 1347, + "event": "var_assign", + "message": "Assigning: \"builder\" = storage returned from \"new utrace_builder\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-utrace.cxx", + "line": 1354, + "event": "path", + "message": "Condition \"i < roots.size()\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapset-utrace.cxx", + "line": 1375, + "event": "leaked_storage", + "message": "Variable \"builder\" going out of scope leaks the storage it points to.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "RESOURCE_LEAK", + "cwe": 404, + "imp": 1, + "function": "dwarf_var_expanding_visitor::visit_target_symbol_context(target_symbol *)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 9, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 4442, + "event": "path", + "message": "Condition \"pending_interrupts\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 4447, + "event": "path", + "message": "Condition \"null_die(this->scope_die)\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 4454, + "event": "alloc_fn", + "message": "Storage is returned from allocation function \"operator new\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 4454, + "event": "var_assign", + "message": "Assigning: \"tsym\" = storage returned from \"new target_symbol(e)\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 4464, + "event": "path", + "message": "Condition \"this->q.has_return\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 4464, + "event": "path", + "message": "Condition \"e->name == \"$$return\"\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 4489, + "event": "path", + "message": "Condition \"i < scopes.size()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 4491, + "event": "path", + "message": "Condition \"dwarf_tag(scopes[i]) == DW_TAG_compile_unit\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 4492, + "event": "path", + "message": "Breaking from loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/tapsets.cxx", + "line": 4570, + "event": "leaked_storage", + "message": "Variable \"tsym\" going out of scope leaks the storage it points to.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "RESOURCE_LEAK", + "cwe": 404, + "imp": 1, + "function": "delete_statement_operand_visitor::visit_arrayindex(arrayindex *)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 21, + "events": [ + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4515, + "event": "path", + "message": "Condition \"array\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4518, + "event": "path", + "message": "Condition \"i < e->indexes.size()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4519, + "event": "path", + "message": "Condition \"e->indexes[i] == NULL\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4522, + "event": "path", + "message": "Breaking from loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4525, + "event": "path", + "message": "Condition \"!array_slice\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4542, + "event": "path", + "message": "Condition \"i < e->indexes.size()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4544, + "event": "path", + "message": "Condition \"e->indexes[i]\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4549, + "event": "path", + "message": "Condition \"mvar.is_parallel()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4551, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4561, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4542, + "event": "path", + "message": "Condition \"i < e->indexes.size()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4544, + "event": "path", + "message": "Condition \"e->indexes[i]\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4549, + "event": "path", + "message": "Condition \"mvar.is_parallel()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4551, + "event": "path", + "message": "Falling through to end of if statement.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4561, + "event": "path", + "message": "Jumping back to the beginning of the loop.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4542, + "event": "path", + "message": "Condition \"i < e->indexes.size()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4544, + "event": "path", + "message": "Condition \"e->indexes[i]\", taking false branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4555, + "event": "path", + "message": "Condition \"mvar.is_parallel()\", taking true branch.", + "verbosity_level": 2 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4557, + "event": "alloc_fn", + "message": "Storage is returned from allocation function \"operator new\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4557, + "event": "var_assign", + "message": "Assigning: \"asvar\" = storage returned from \"new tmpvar(this->parent->gensym(r->index_types[i]))\".", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4558, + "event": "noescape", + "message": "Resource \"asvar\" is not freed or pointed-to in \"push_back\". [Note: The source code implementation of the function has been overridden by a builtin model.]", + "verbosity_level": 1 + }, + { + "file_name": "/builddir/build/BUILD/systemtap-4.4/translate.cxx", + "line": 4559, + "event": "leaked_storage", + "message": "Variable \"asvar\" going out of scope leaks the storage it points to.", + "verbosity_level": 0 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::equal_to, std::allocator > > *>, std::allocator, std::equal_to, std::allocator > > *> >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node, std::tuple<> >(std::__detail::_Hashtable_alloc, std::equal_to, std::allocator > > *>, false> > > *, , std::tuple<>...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args), std::forward(__args), std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::equal_to, std::allocator > > *>, std::allocator, std::equal_to, std::allocator > > *> >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable > *>, std::allocator > *> >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node, std::tuple<> >(std::__detail::_Hashtable_alloc > *>, false> > > *, , std::tuple<>...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args), std::forward(__args), std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable > *>, std::allocator > *> >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::allocator >, int, std::less, std::allocator > >, std::allocator, std::allocator > const, int> > > >, std::allocator, std::allocator >, int, std::less, std::allocator > >, std::allocator, std::allocator > const, int> > > > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node, std::tuple<> >(std::__detail::_Hashtable_alloc, std::allocator >, int, std::less, std::allocator > >, std::allocator, std::allocator > const, int> > > >, false> > > *, , std::tuple<>...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args), std::forward(__args), std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::allocator >, int, std::less, std::allocator > >, std::allocator, std::allocator > const, int> > > >, std::allocator, std::allocator >, int, std::less, std::allocator > >, std::allocator, std::allocator > const, int> > > > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node >(std::__detail::_Hashtable_alloc, true> > > *, ...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node >(std::__detail::_Hashtable_alloc, true> > > *, ...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node >(std::__detail::_Hashtable_alloc, true> > > *, ...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node, std::tuple<> >(std::__detail::_Hashtable_alloc, true> > > *, , std::tuple<>...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args), std::forward(__args), std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node >(std::__detail::_Hashtable_alloc, false> > > *, ...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::allocator >, std::pair, std::allocator > const, Dwarf_Die>, std::allocator, std::allocator > const, Dwarf_Die> >, std::__detail::_Select1st, std::equal_to, std::allocator > >, std::hash, std::allocator > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node, std::allocator > const &>, std::tuple<> >(std::__detail::_Hashtable_alloc, std::allocator > const, Dwarf_Die>, true> > > *, , std::allocator > const &>, std::tuple<>...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args), std::forward(__args), std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::allocator >, std::pair, std::allocator > const, Dwarf_Die>, std::allocator, std::allocator > const, Dwarf_Die> >, std::__detail::_Select1st, std::equal_to, std::allocator > >, std::hash, std::allocator > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::allocator >, std::pair, std::allocator > const, bpf::value *>, std::allocator, std::allocator > const, bpf::value *> >, std::__detail::_Select1st, std::equal_to, std::allocator > >, std::hash, std::allocator > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node, std::allocator >, bpf::value *> >(std::__detail::_Hashtable_alloc, std::allocator > const, bpf::value *>, true> > > *, , std::allocator >, bpf::value *>...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::allocator >, std::pair, std::allocator > const, bpf::value *>, std::allocator, std::allocator > const, bpf::value *> >, std::__detail::_Select1st, std::equal_to, std::allocator > >, std::hash, std::allocator > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::allocator >, std::pair, std::allocator > const, expression *>, std::allocator, std::allocator > const, expression *> >, std::__detail::_Select1st, std::equal_to, std::allocator > >, std::hash, std::allocator > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node, std::allocator > const &>, std::tuple<> >(std::__detail::_Hashtable_alloc, std::allocator > const, expression *>, true> > > *, , std::allocator > const &>, std::tuple<>...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args), std::forward(__args), std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::allocator >, std::pair, std::allocator > const, expression *>, std::allocator, std::allocator > const, expression *> >, std::__detail::_Select1st, std::equal_to, std::allocator > >, std::hash, std::allocator > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::allocator >, std::pair, std::allocator > const, std::vector > *>, std::allocator, std::allocator > const, std::vector > *> >, std::__detail::_Select1st, std::equal_to, std::allocator > >, std::hash, std::allocator > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node, std::allocator > &&>, std::tuple<> >(std::__detail::_Hashtable_alloc, std::allocator > const, std::vector > *>, true> > > *, , std::allocator > &&>, std::tuple<>...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args), std::forward(__args), std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::allocator >, std::pair, std::allocator > const, std::vector > *>, std::allocator, std::allocator > const, std::vector > *> >, std::__detail::_Select1st, std::equal_to, std::allocator > >, std::hash, std::allocator > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node >(std::__detail::_Hashtable_alloc, false> > > *, ...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node >(std::__detail::_Hashtable_alloc, false> > > *, ...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node >(std::__detail::_Hashtable_alloc, false> > > *, ...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node, std::tuple<> >(std::__detail::_Hashtable_alloc, false> > > *, , std::tuple<>...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args), std::forward(__args), std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::allocator >, int, std::less, std::allocator > >, std::allocator, std::allocator > const, int> > > >, std::allocator, std::allocator >, int, std::less, std::allocator > >, std::allocator, std::allocator > const, int> > > > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node, std::tuple<> >(std::__detail::_Hashtable_alloc, std::allocator >, int, std::less, std::allocator > >, std::allocator, std::allocator > const, int> > > >, false> > > *, , std::tuple<>...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args), std::forward(__args), std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::allocator >, int, std::less, std::allocator > >, std::allocator, std::allocator > const, int> > > >, std::allocator, std::allocator >, int, std::less, std::allocator > >, std::allocator, std::allocator > const, int> > > > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node >(std::__detail::_Hashtable_alloc, false> > > *, ...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::allocator >, Dwarf_Die, std::hash, std::allocator > >, std::equal_to, std::allocator > >, std::allocator, std::allocator > const, Dwarf_Die> > > *>, std::allocator, std::allocator >, Dwarf_Die, std::hash, std::allocator > >, std::equal_to, std::allocator > >, std::allocator, std::allocator > const, Dwarf_Die> > > *> >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node, std::tuple<> >(std::__detail::_Hashtable_alloc, std::allocator >, Dwarf_Die, std::hash, std::allocator > >, std::equal_to, std::allocator > >, std::allocator, std::allocator > const, Dwarf_Die> > > *>, false> > > *, , std::tuple<>...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args), std::forward(__args), std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::allocator >, Dwarf_Die, std::hash, std::allocator > >, std::equal_to, std::allocator > >, std::allocator, std::allocator > const, Dwarf_Die> > > *>, std::allocator, std::allocator >, Dwarf_Die, std::hash, std::allocator > >, std::equal_to, std::allocator > >, std::allocator, std::allocator > const, Dwarf_Die> > > *> >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::allocator >, std::vector > *, std::hash, std::allocator > >, std::equal_to, std::allocator > >, std::allocator, std::allocator > const, std::vector > *> > > *>, std::allocator, std::allocator >, std::vector > *, std::hash, std::allocator > >, std::equal_to, std::allocator > >, std::allocator, std::allocator > const, std::vector > *> > > *> >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node, std::tuple<> >(std::__detail::_Hashtable_alloc, std::allocator >, std::vector > *, std::hash, std::allocator > >, std::equal_to, std::allocator > >, std::allocator, std::allocator > const, std::vector > *> > > *>, false> > > *, , std::tuple<>...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args), std::forward(__args), std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::allocator >, std::vector > *, std::hash, std::allocator > >, std::equal_to, std::allocator > >, std::allocator, std::allocator > const, std::vector > *> > > *>, std::allocator, std::allocator >, std::vector > *, std::hash, std::allocator > >, std::equal_to, std::allocator > >, std::allocator, std::allocator > const, std::vector > *> > > *> >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::equal_to, std::allocator > > *>, std::allocator, std::equal_to, std::allocator > > *> >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node, std::tuple<> >(std::__detail::_Hashtable_alloc, std::equal_to, std::allocator > > *>, false> > > *, , std::tuple<>...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args), std::forward(__args), std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::equal_to, std::allocator > > *>, std::allocator, std::equal_to, std::allocator > > *> >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::equal_to, std::allocator > > *>, std::allocator, std::equal_to, std::allocator > > *> >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node, std::tuple<> >(std::__detail::_Hashtable_alloc, std::equal_to, std::allocator > > *>, false> > > *, , std::tuple<>...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args), std::forward(__args), std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::equal_to, std::allocator > > *>, std::allocator, std::equal_to, std::allocator > > *> >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::equal_to, std::allocator > *>, std::allocator, std::equal_to, std::allocator > *> >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node, std::tuple<> >(std::__detail::_Hashtable_alloc, std::equal_to, std::allocator > *>, false> > > *, , std::tuple<>...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args), std::forward(__args), std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::equal_to, std::allocator > *>, std::allocator, std::equal_to, std::allocator > *> >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable > *>, std::allocator > *> >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node, std::tuple<> >(std::__detail::_Hashtable_alloc > *>, false> > > *, , std::tuple<>...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args), std::forward(__args), std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable > *>, std::allocator > *> >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + }, + { + "checker": "CTOR_DTOR_LEAK", + "cwe": 401, + "imp": 1, + "function": "std::_Hashtable, std::allocator > > *>, std::allocator, std::allocator > > *> >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node::_Scoped_node, std::tuple<> >(std::__detail::_Hashtable_alloc, std::allocator > > *>, false> > > *, , std::tuple<>...> &&...)", + "language": "c/c++", + "tool": "coverity", + "key_event_idx": 0, + "events": [ + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "alloc_fn", + "message": "Calling allocation function \"_M_allocate_node\".", + "verbosity_level": 0 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "assign", + "message": "Assigning: \"this->_M_node\" = \"__h->_M_allocate_node(std::forward(__args), std::forward(__args), std::forward(__args))\".", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 272, + "event": "ctor_dtor_leak", + "message": "The constructor allocates field \"_M_node\" of \"std::_Hashtable, std::allocator > > *>, std::allocator, std::allocator > > *> >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Scoped_node\" but the destructor and whatever functions it calls do not free it.", + "verbosity_level": 1 + }, + { + "file_name": "/usr/include/c++/10/bits/hashtable.h", + "line": 276, + "event": "destructor", + "message": "This is the destructor implementation.", + "verbosity_level": 2 + } + ] + } + ] +} diff --git a/tests/csgrep/CMakeLists.txt b/tests/csgrep/CMakeLists.txt index 9f330405..446f7e98 100644 --- a/tests/csgrep/CMakeLists.txt +++ b/tests/csgrep/CMakeLists.txt @@ -158,3 +158,4 @@ test_csgrep("0111-gcc-parser-ubsan-simple" ) test_csgrep("0112-gcc-parser-ubsan-bt" ) test_csgrep("0113-gitleaks-limit-msg-len" ) test_csgrep("0114-json-sc-column" ) +test_csgrep("0115-csgrep-imp-filter" )