diff --git a/cpp/ql/lib/change-notes/2026-10-29-stl-containers.md b/cpp/ql/lib/change-notes/2026-10-29-stl-containers.md new file mode 100644 index 000000000000..d682de29dc66 --- /dev/null +++ b/cpp/ql/lib/change-notes/2026-10-29-stl-containers.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* Dataflow through STL containers are now tracked more precisely. \ No newline at end of file diff --git a/cpp/ql/lib/ext/azure.core.model.yml b/cpp/ql/lib/ext/azure.core.model.yml index 7c5280b0f180..48ca4a9e6f76 100644 --- a/cpp/ql/lib/ext/azure.core.model.yml +++ b/cpp/ql/lib/ext/azure.core.model.yml @@ -3,11 +3,11 @@ extensions: pack: codeql/cpp-all extensible: sourceModel data: # namespace, type, subtypes, name, signature, ext, output, kind, provenance - - ["Azure::Core::Http", "RawResponse", True, "GetHeaders", "", "", "ReturnValue[*]", "remote", "manual"] + - ["Azure::Core::Http", "RawResponse", True, "GetHeaders", "", "", "ReturnValue[*].Element.Field[std::pair::second]", "remote", "manual"] - ["Azure::Core::Http", "RawResponse", True, "GetBody", "", "", "ReturnValue[*]", "remote", "manual"] - ["Azure::Core::Http", "RawResponse", True, "ExtractBodyStream", "", "", "ReturnValue[*]", "remote", "manual"] - - ["Azure::Core::Http", "Request", True, "GetHeaders", "", "", "ReturnValue", "remote", "manual"] - - ["Azure::Core::Http", "Request", True, "GetHeader", "", "", "ReturnValue", "remote", "manual"] + - ["Azure::Core::Http", "Request", True, "GetHeaders", "", "", "ReturnValue.Element.Field[std::pair::second]", "remote", "manual"] + - ["Azure::Core::Http", "Request", True, "GetHeader", "", "", "ReturnValue.Field[Azure::Nullable::m_value]", "remote", "manual"] - ["Azure::Core::Http", "Request", True, "GetBodyStream", "", "", "ReturnValue[*]", "remote", "manual"] - addsTo: @@ -19,13 +19,13 @@ extensions: - ["Azure::Core", "Url", True, "SetHost", "", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] - ["Azure::Core", "Url", True, "SetPort", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"] - ["Azure::Core", "Url", True, "SetPath", "", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] - - ["Azure::Core", "Url", True, "SetQueryParameters", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"] + - ["Azure::Core", "Url", True, "SetQueryParameters", "", "", "Argument[0].Element.Field[std::pair::second]", "Argument[-1]", "taint", "manual"] - ["Azure::Core", "Url", True, "AppendPath", "", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] - ["Azure::Core", "Url", True, "AppendQueryParameter", "", "", "Argument[*1]", "Argument[-1]", "taint", "manual"] - ["Azure::Core", "Url", True, "GetHost", "", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] - ["Azure::Core", "Url", True, "GetPath", "", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] - ["Azure::Core", "Url", True, "GetPort", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"] - - ["Azure::Core", "Url", True, "GetQueryParameters", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["Azure::Core", "Url", True, "GetQueryParameters", "", "", "Argument[-1]", "ReturnValue.Element.Field[std::pair::second]", "taint", "manual"] - ["Azure::Core", "Url", True, "GetScheme", "", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] - ["Azure::Core", "Url", True, "GetRelativeUrl", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"] - ["Azure::Core", "Url", True, "GetAbsoluteUrl", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"] @@ -34,8 +34,8 @@ extensions: - ["Azure::Core::IO", "BodyStream", True, "Read", "", "", "Argument[-1]", "Argument[*0]", "taint", "manual"] - ["Azure::Core::IO", "BodyStream", True, "ReadToCount", "", "", "Argument[-1]", "Argument[*0]", "taint", "manual"] - ["Azure::Core::IO", "BodyStream", True, "ReadToEnd", "", "", "Argument[-1]", "ReturnValue.Element", "taint", "manual"] - - ["Azure", "Nullable", True, "Nullable", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"] + - ["Azure", "Nullable", True, "Nullable", "", "", "Argument[@0]", "Argument[-1].Field[@Azure::Nullable::m_value]", "value", "manual"] - ["Azure", "Nullable", True, "operator=", "", "", "Argument[*0]", "Argument[-1]", "value", "manual"] - - ["Azure", "Nullable", True, "Value", "", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] - - ["Azure", "Nullable", True, "operator->", "", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] - - ["Azure", "Nullable", True, "operator*", "", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] \ No newline at end of file + - ["Azure", "Nullable", True, "Value", "", "", "Argument[-1].Field[@Azure::Nullable::m_value]", "ReturnValue[*@]", "value", "manual"] + - ["Azure", "Nullable", True, "operator->", "", "", "Argument[-1].Field[@Azure::Nullable::m_value]", "ReturnValue[*@]", "value", "manual"] + - ["Azure", "Nullable", True, "operator*", "", "", "Argument[-1].Field[@Azure::Nullable::m_value]", "ReturnValue[*@]", "value", "manual"] \ No newline at end of file diff --git a/cpp/ql/lib/ext/bsl.map.model.yml b/cpp/ql/lib/ext/bsl.map.model.yml new file mode 100644 index 000000000000..a5b5ba7df358 --- /dev/null +++ b/cpp/ql/lib/ext/bsl.map.model.yml @@ -0,0 +1,125 @@ +extensions: + - addsTo: + pack: codeql/cpp-all + extensible: summaryModel + data: # namespace, type, subtypes, name, signature, ext, input, output, kind, provenance + - ["bsl", "map", True, "at", "", "", "Argument[-1].Element.Field[@bsl::pair::second]", "ReturnValue[*@]", "value", "manual"] + - ["bsl", "map", True, "at", "", "", "ReturnValue[*@]", "Argument[-1].Element.Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "map", True, "begin", "", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["bsl", "map", True, "cbegin", "", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["bsl", "map", True, "rbegin", "", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["bsl", "map", True, "crbegin", "", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["bsl", "map", True, "emplace", "", "", "Argument[-1].Element.Field[@bsl::pair::first]", "ReturnValue.Field[bsl::pair::first].Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "map", True, "emplace", "", "", "Argument[-1].Element.Field[@bsl::pair::second]", "ReturnValue.Field[bsl::pair::first].Element.Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "map", True, "emplace_hint", "", "", "Argument[-1].Element.Field[@bsl::pair::first]", "ReturnValue.Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "map", True, "emplace_hint", "", "", "Argument[-1].Element.Field[@bsl::pair::second]", "ReturnValue.Element.Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "map", True, "erase", "", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["bsl", "map", True, "equal_range", "", "", "Argument[-1].Element", "ReturnValue.Field[bsl::pair::first,bsl::pair::second].Element", "value", "manual"] + - ["bsl", "map", True, "find", "", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["bsl", "map", True, "insert", "(const value_type &)", "", "Argument[*0]", "Argument[-1].Element", "value", "manual"] + - ["bsl", "map", True, "insert", "(const value_type &)", "", "Argument[*0]", "ReturnValue.Field[bsl::pair::first].Element", "value", "manual"] + - ["bsl", "map", True, "insert", "(const value_type &)", "", "Argument[-1].Element", "ReturnValue.Field[bsl::pair::first].Element", "value", "manual"] + - ["bsl", "map", True, "insert", "(value_type &&)", "", "Argument[*0]", "Argument[-1].Element", "value", "manual"] + - ["bsl", "map", True, "insert", "(value_type &&)", "", "Argument[*0]", "ReturnValue.Field[bsl::pair::first].Element", "value", "manual"] + - ["bsl", "map", True, "insert", "(value_type &&)", "", "Argument[-1].Element", "ReturnValue.Field[bsl::pair::first].Element", "value", "manual"] + - ["bsl", "map", True, "insert

", "(P &&)", "", "Argument[*0]", "Argument[-1].Element", "value", "manual"] + - ["bsl", "map", True, "insert

", "(P &&)", "", "Argument[*0]", "ReturnValue.Field[bsl::pair::first].Element", "value", "manual"] + - ["bsl", "map", True, "insert

", "(P &&)", "", "Argument[-1].Element", "ReturnValue.Field[bsl::pair::first].Element", "value", "manual"] + - ["bsl", "map", True, "insert", "(const_iterator,const value_type &)", "", "Argument[*1]", "Argument[-1].Element", "value", "manual"] + - ["bsl", "map", True, "insert", "(const_iterator,const value_type &)", "", "Argument[*1]", "ReturnValue.Element", "value", "manual"] + - ["bsl", "map", True, "insert", "(const_iterator,const value_type &)", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["bsl", "map", True, "insert", "(InputIt,InputIt)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["bsl", "map", True, "insert", "(initializer_list)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["bsl", "map", True, "insert", "(const_iterator,value_type &&)", "", "Argument[*1]", "Argument[-1].Element", "value", "manual"] + - ["bsl", "map", True, "insert", "(const_iterator,value_type &&)", "", "Argument[*1]", "ReturnValue.Element", "value", "manual"] + - ["bsl", "map", True, "insert", "(const_iterator,value_type &&)", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["bsl", "map", True, "insert

", "(const_iterator,P &&)", "", "Argument[*1]", "Argument[-1].Element", "value", "manual"] + - ["bsl", "map", True, "insert

", "(const_iterator,P &&)", "", "Argument[*1]", "ReturnValue.Element", "value", "manual"] + - ["bsl", "map", True, "insert

", "(const_iterator,P &&)", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["bsl", "map", True, "insert_range", "(R &&)", "", "Argument[*0].Element", "Argument[-1].Element", "value", "manual"] + - ["bsl", "map", True, "lower_bound", "", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["bsl", "map", True, "upper_bound", "", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["bsl", "map", True, "map", "(const map &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["bsl", "map", True, "map", "(map &&)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["bsl", "map", True, "map", "(initializer_list)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["bsl", "map", True, "map", "(const map &,const Allocator &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["bsl", "map", True, "map", "(map &&,const Allocator &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["bsl", "map", True, "map", "(initializer_list,const Compare &)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["bsl", "map", True, "map", "(initializer_list,const Compare &,const Allocator &)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["bsl", "map", True, "map", "(initializer_list,const Allocator &)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["bsl", "map", True, "map", "(InputIt,InputIt)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["bsl", "map", True, "map", "(InputIt,InputIt,const Compare &)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["bsl", "map", True, "map", "(InputIt,InputIt,const Compare &,const Allocator &)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["bsl", "map", True, "merge", "(map &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["bsl", "map", True, "merge", "(map &&)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["bsl", "map", True, "merge", "(multimap &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["bsl", "map", True, "merge", "(multimap &&)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["bsl", "map", True, "operator=", "(initializer_list)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["bsl", "map", True, "operator=", "(initializer_list)", "", "Argument[0].Element", "ReturnValue[*].Element", "value", "manual"] + - ["bsl", "map", True, "operator=", "(const map &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["bsl", "map", True, "operator=", "(const map &)", "", "Argument[*0]", "ReturnValue[*]", "value", "manual"] + - ["bsl", "map", True, "operator=", "(map &&)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["bsl", "map", True, "operator=", "(map &&)", "", "Argument[*0]", "ReturnValue[*]", "value", "manual"] + - ["bsl", "map", True, "operator[]", "(const key_type &)", "", "Argument[-1].Element.Field[@bsl::pair::second]", "ReturnValue[*@]", "value", "manual"] + - ["bsl", "map", True, "operator[]", "(const key_type &)", "", "ReturnValue[*@]", "Argument[-1].Element.Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "map", True, "operator[]", "(const key_type &)", "", "Argument[*@0]", "Argument[-1].Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "map", True, "operator[]", "(key_type &&)", "", "Argument[-1].Element.Field[@bsl::pair::second]", "ReturnValue[*@]", "value", "manual"] + - ["bsl", "map", True, "operator[]", "(key_type &&)", "", "ReturnValue[*@]", "Argument[-1].Element.Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "map", True, "operator[]", "(key_type &&)", "", "Argument[*@0]", "Argument[-1].Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "map", True, "operator[]", "(K &&)", "", "Argument[-1].Element.Field[@bsl::pair::second]", "ReturnValue[*@]", "value", "manual"] + - ["bsl", "map", True, "operator[]", "(K &&)", "", "ReturnValue[*@]", "Argument[-1].Element.Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "map", True, "operator[]", "(K &&)", "", "Argument[*@0]", "Argument[-1].Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "map", True, "insert_or_assign", "(const key_type &,M &&)", "", "Argument[*@0]", "Argument[-1].Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "map", True, "insert_or_assign", "(const key_type &,M &&)", "", "Argument[*@1]", "Argument[-1].Element.Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "map", True, "insert_or_assign", "(const key_type &,M &&)", "", "Argument[-1].Element.Field[@bsl::pair::first]", "ReturnValue.Field[bsl::pair::first].Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "map", True, "insert_or_assign", "(const key_type &,M &&)", "", "Argument[-1].Element.Field[@bsl::pair::second]", "ReturnValue.Field[bsl::pair::first].Element.Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "map", True, "insert_or_assign", "(const key_type &,M &&)", "", "Argument[*@0]", "ReturnValue.Field[bsl::pair::first].Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "map", True, "insert_or_assign", "(const key_type &,M &&)", "", "Argument[*@1]", "ReturnValue.Field[bsl::pair::first].Element.Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "map", True, "insert_or_assign", "(key_type &&,M &&)", "", "Argument[*@0]", "Argument[-1].Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "map", True, "insert_or_assign", "(key_type &&,M &&)", "", "Argument[*@1]", "Argument[-1].Element.Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "map", True, "insert_or_assign", "(key_type &&,M &&)", "", "Argument[-1].Element.Field[@bsl::pair::first]", "ReturnValue.Field[bsl::pair::first].Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "map", True, "insert_or_assign", "(key_type &&,M &&)", "", "Argument[-1].Element.Field[@bsl::pair::second]", "ReturnValue.Field[bsl::pair::first].Element.Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "map", True, "insert_or_assign", "(key_type &&,M &&)", "", "Argument[*@0]", "ReturnValue.Field[bsl::pair::first].Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "map", True, "insert_or_assign", "(key_type &&,M &&)", "", "Argument[*@1]", "ReturnValue.Field[bsl::pair::first].Element.Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "map", True, "insert_or_assign", "(const_iterator,const key_type &,M &&)", "", "Argument[*@1]", "Argument[-1].Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "map", True, "insert_or_assign", "(const_iterator,const key_type &,M &&)", "", "Argument[*@2]", "Argument[-1].Element.Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "map", True, "insert_or_assign", "(const_iterator,const key_type &,M &&)", "", "Argument[-1].Element.Field[@bsl::pair::first]", "ReturnValue.Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "map", True, "insert_or_assign", "(const_iterator,const key_type &,M &&)", "", "Argument[-1].Element.Field[@bsl::pair::second]", "ReturnValue.Element.Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "map", True, "insert_or_assign", "(const_iterator,const key_type &,M &&)", "", "Argument[*@1]", "ReturnValue.Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "map", True, "insert_or_assign", "(const_iterator,const key_type &,M &&)", "", "Argument[*@2]", "ReturnValue.Element.Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "map", True, "insert_or_assign", "(const_iterator,key_type &&,M &&)", "", "Argument[*@1]", "Argument[-1].Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "map", True, "insert_or_assign", "(const_iterator,key_type &&,M &&)", "", "Argument[*@2]", "Argument[-1].Element.Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "map", True, "insert_or_assign", "(const_iterator,key_type &&,M &&)", "", "Argument[-1].Element.Field[@bsl::pair::first]", "ReturnValue.Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "map", True, "insert_or_assign", "(const_iterator,key_type &&,M &&)", "", "Argument[-1].Element.Field[@bsl::pair::second]", "ReturnValue.Element.Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "map", True, "insert_or_assign", "(const_iterator,key_type &&,M &&)", "", "Argument[*@1]", "ReturnValue.Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "map", True, "insert_or_assign", "(const_iterator,key_type &&,M &&)", "", "Argument[*@2]", "ReturnValue.Element.Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "map", True, "try_emplace", "(const key_type &,Args &&)", "", "Argument[*@0]", "Argument[-1].Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "map", True, "try_emplace", "(const key_type &,Args &&)", "", "Argument[*@0]", "ReturnValue.Field[bsl::pair::first].Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "map", True, "try_emplace", "(const key_type &,Args &&)", "", "Argument[-1].Element", "ReturnValue.Field[bsl::pair::first].Element", "value", "manual"] + - ["bsl", "map", True, "try_emplace", "(key_type &&,Args &&)", "", "Argument[*@0]", "Argument[-1].Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "map", True, "try_emplace", "(key_type &&,Args &&)", "", "Argument[*@0]", "ReturnValue.Field[bsl::pair::first].Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "map", True, "try_emplace", "(key_type &&,Args &&)", "", "Argument[-1].Element", "ReturnValue.Field[bsl::pair::first].Element", "value", "manual"] + - ["bsl", "map", True, "try_emplace", "(const_iterator,const key_type &,Args &&)", "", "Argument[*@1]", "Argument[-1].Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "map", True, "try_emplace", "(const_iterator,const key_type &,Args &&)", "", "Argument[*@1]", "ReturnValue.Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "map", True, "try_emplace", "(const_iterator,const key_type &,Args &&)", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["bsl", "map", True, "try_emplace", "(const_iterator,key_type &&,Args &&)", "", "Argument[*@1]", "Argument[-1].Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "map", True, "try_emplace", "(const_iterator,key_type &&,Args &&)", "", "Argument[*@1]", "ReturnValue.Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "map", True, "try_emplace", "(const_iterator,key_type &&,Args &&)", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["bsl", "map", True, "swap", "", "", "Argument[-1]", "Argument[*0]", "value", "manual"] + - ["bsl", "map", True, "swap", "", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - addsTo: + pack: codeql/cpp-all + extensible: forwardsModel + data: # namespace, type, subtypes, name, signature, ext, start, constructor, output, provenance + - ["bsl", "map", True, "emplace", "(Args &&)", "", "0", "value_type", "Argument[-1].Element", "manual"] + - ["bsl", "map", True, "emplace", "(Args &&)", "", "0", "value_type", "ReturnValue.Field[bsl::pair::first].Element", "manual"] + - ["bsl", "map", True, "emplace_hint", "(const_iterator,Args &&)", "", "1", "value_type", "Argument[-1].Element", "manual"] + - ["bsl", "map", True, "emplace_hint", "(const_iterator,Args &&)", "", "1", "value_type", "ReturnValue.Element", "manual"] + - ["bsl", "map", True, "try_emplace", "(const Key &,Args &&)", "", "1", "T", "Argument[-1].Element.Field[bsl::pair::second]", "manual"] + - ["bsl", "map", True, "try_emplace", "(const Key &,Args &&)", "", "1", "T", "ReturnValue.Field[bsl::pair::first].Element.Field[bsl::pair::second]", "manual"] + - ["bsl", "map", True, "try_emplace", "(Key &&,Args &&)", "", "1", "T", "Argument[-1].Element.Field[bsl::pair::second]", "manual"] + - ["bsl", "map", True, "try_emplace", "(Key &&,Args &&)", "", "1", "T", "ReturnValue.Field[bsl::pair::first].Element.Field[bsl::pair::second]", "manual"] + - ["bsl", "map", True, "try_emplace", "(const_iterator,Key &&,Args &&)", "", "2", "T", "Argument[-1].Element.Field[bsl::pair::second]", "manual"] + - ["bsl", "map", True, "try_emplace", "(const_iterator,Key &&,Args &&)", "", "2", "T", "ReturnValue.Element.Field[bsl::pair::second]", "manual"] + - ["bsl", "map", True, "try_emplace", "(const_iterator,const Key &,Args &&)", "", "2", "T", "Argument[-1].Element.Field[bsl::pair::second]", "manual"] + - ["bsl", "map", True, "try_emplace", "(const_iterator,const Key &,Args &&)", "", "2", "T", "ReturnValue.Element.Field[bsl::pair::second]", "manual"] \ No newline at end of file diff --git a/cpp/ql/lib/ext/bsl.pair.model.yml b/cpp/ql/lib/ext/bsl.pair.model.yml new file mode 100644 index 000000000000..9b8c9afee090 --- /dev/null +++ b/cpp/ql/lib/ext/bsl.pair.model.yml @@ -0,0 +1,21 @@ +extensions: + - addsTo: + pack: codeql/cpp-all + extensible: summaryModel + data: # namespace, type, subtypes, name, signature, ext, input, output, kind, provenance + - ["bsl", "", False, "make_pair", "(T1 &&,T2 &&)", "", "Argument[*@0]", "ReturnValue.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "", False, "make_pair", "(T1 &&,T2 &&)", "", "Argument[*@1]", "ReturnValue.Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "pair", True, "operator=", "(const pair &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["bsl", "pair", True, "operator=", "(const pair &)", "", "Argument[*0]", "ReturnValue[*]", "value", "manual"] + - ["bsl", "pair", True, "operator=", "(pair &&)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["bsl", "pair", True, "operator=", "(pair &&)", "", "Argument[*0]", "ReturnValue[*]", "value", "manual"] + - ["bsl", "pair", True, "pair", "(const pair &)", "", "Argument[*0].Field[@bsl::pair::first]", "Argument[-1].Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "pair", True, "pair", "(const pair &)", "", "Argument[*0].Field[@bsl::pair::second]", "Argument[-1].Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "pair", True, "pair", "(pair &&)", "", "Argument[*0].Field[@bsl::pair::first]", "Argument[-1].Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "pair", True, "pair", "(pair &&)", "", "Argument[*0].Field[@bsl::pair::second]", "Argument[-1].Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "pair", True, "pair", "(const T1 &,const T2 &)", "", "Argument[*@0]", "Argument[-1].Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "pair", True, "pair", "(const T1 &,const T2 &)", "", "Argument[*@1]", "Argument[-1].Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "pair", True, "pair", "(U1 &&,U2 &&)", "", "Argument[*@0]", "Argument[-1].Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "pair", True, "pair", "(U1 &&,U2 &&)", "", "Argument[*@1]", "Argument[-1].Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "pair", True, "swap", "", "", "Argument[-1]", "Argument[*0]", "value", "manual"] + - ["bsl", "pair", True, "swap", "", "", "Argument[*0]", "Argument[-1]", "value", "manual"] \ No newline at end of file diff --git a/cpp/ql/lib/ext/bsl.string.model.yml b/cpp/ql/lib/ext/bsl.string.model.yml new file mode 100644 index 000000000000..b8d00e3fc7cc --- /dev/null +++ b/cpp/ql/lib/ext/bsl.string.model.yml @@ -0,0 +1,194 @@ +extensions: + - addsTo: + pack: codeql/cpp-all + extensible: summaryModel + data: # namespace, type, subtypes, name, signature, ext, input, output, kind, provenance + - ["bsl", "basic_string", True, "basic_string", "(size_type,CharT,const Allocator &)", "", "Argument[1]", "Argument[-1]", "value", "manual"] + - ["bsl", "basic_string", True, "basic_string", "(InputIt,InputIt,const Allocator &)", "", "Argument[0..1]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "basic_string", "(const CharT *,size_type,const Allocator &)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "basic_string", "(const CharT *,const Allocator &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["bsl", "basic_string", True, "basic_string", "(const StringViewLike &,const Allocator &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["bsl", "basic_string", True, "basic_string", "(const StringViewLike &,size_type,size_type,const Allocator &)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "basic_string", "(const basic_string &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["bsl", "basic_string", True, "basic_string", "(basic_string &&)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["bsl", "basic_string", True, "basic_string", "(const basic_string &,const Allocator &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["bsl", "basic_string", True, "basic_string", "(basic_string &&,const Allocator &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["bsl", "basic_string", True, "basic_string", "(const basic_string &,size_type,const Allocator &)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "basic_string", "(basic_string &&,size_type,const Allocator &)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "basic_string", "(const basic_string &,size_type,size_type,const Allocator &)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "basic_string", "(basic_string &&,size_type,size_type,const Allocator &)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "operator=", "", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["bsl", "basic_string", True, "operator=", "", "", "Argument[*0]", "ReturnValue[*]", "value", "manual"] + - ["bsl", "basic_string", True, "operator=", "", "", "Argument[0]", "Argument[-1]", "value", "manual"] + - ["bsl", "basic_string", True, "operator=", "", "", "Argument[0]", "ReturnValue[*]", "value", "manual"] + - ["bsl", "basic_string", True, "operator=", "", "", "ReturnValue[*]", "Argument[-1]", "value", "manual"] + - ["bsl", "basic_string", True, "assign", "(const basic_string &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["bsl", "basic_string", True, "assign", "(const basic_string &)", "", "Argument[*0]", "ReturnValue[*]", "value", "manual"] + - ["bsl", "basic_string", True, "assign", "(basic_string &&)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["bsl", "basic_string", True, "assign", "(basic_string &&)", "", "Argument[*0]", "ReturnValue[*]", "value", "manual"] + - ["bsl", "basic_string", True, "assign", "(size_type,CharT)", "", "Argument[1]", "Argument[-1]", "value", "manual"] + - ["bsl", "basic_string", True, "assign", "(size_type,CharT)", "", "Argument[1]", "ReturnValue[*]", "value", "manual"] + - ["bsl", "basic_string", True, "assign", "(const CharT *,size_type)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "assign", "(const CharT *,size_type)", "", "Argument[*0]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "assign", "(const CharT *)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["bsl", "basic_string", True, "assign", "(const CharT *)", "", "Argument[*0]", "ReturnValue[*]", "value", "manual"] + - ["bsl", "basic_string", True, "assign", "(const basic_string &,size_type,size_type)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "assign", "(const basic_string &,size_type,size_type)", "", "Argument[*0]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "assign", "(const StringViewLike &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["bsl", "basic_string", True, "assign", "(const StringViewLike &)", "", "Argument[*0]", "ReturnValue[*]", "value", "manual"] + - ["bsl", "basic_string", True, "assign", "(const StringViewLike &,size_type,size_type)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "assign", "(const StringViewLike &,size_type,size_type)", "", "Argument[*0]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "assign", "(InputIt,InputIt)", "", "Argument[0]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "assign", "(InputIt,InputIt)", "", "Argument[0]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "assign", "", "", "ReturnValue[*]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "at", "", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "at", "", "", "ReturnValue[*]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "operator[]", "", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "operator[]", "", "", "ReturnValue[*]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "front", "", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "front", "", "", "ReturnValue[*]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "back", "", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "back", "", "", "ReturnValue[*]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "data", "", "", "Argument[-1]", "ReturnValue[*]", "value", "manual"] + - ["bsl", "basic_string", True, "data", "", "", "ReturnValue[*]", "Argument[-1]", "value", "manual"] + - ["bsl", "basic_string", True, "c_str", "", "", "Argument[-1]", "ReturnValue[*]", "value", "manual"] + - ["bsl", "basic_string", True, "begin", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["bsl", "basic_string", True, "cbegin", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["bsl", "basic_string", True, "rbegin", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["bsl", "basic_string", True, "crbegin", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["bsl", "basic_string", True, "end", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["bsl", "basic_string", True, "cend", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["bsl", "basic_string", True, "rend", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["bsl", "basic_string", True, "crend", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["bsl", "basic_string", True, "insert", "(size_type,size_type,CharT)", "", "Argument[2]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "insert", "(size_type,size_type,CharT)", "", "Argument[2]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "insert", "(size_type,size_type,CharT)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "insert", "(size_type,const CharT *)", "", "Argument[*1]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "insert", "(size_type,const CharT *)", "", "Argument[*1]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "insert", "(size_type,const CharT *)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "insert", "(size_type,const CharT *,size_type)", "", "Argument[*1]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "insert", "(size_type,const CharT *,size_type)", "", "Argument[*1]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "insert", "(size_type,const CharT *,size_type)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "insert", "(size_type,const basic_string &)", "", "Argument[*1]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "insert", "(size_type,const basic_string &)", "", "Argument[*1]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "insert", "(size_type,const basic_string &)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "insert", "(size_type,const basic_string &,size_type,size_type)", "", "Argument[*1]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "insert", "(size_type,const basic_string &,size_type,size_type)", "", "Argument[*1]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "insert", "(size_type,const basic_string &,size_type,size_type)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "insert", "(size_type,const StringViewLike &)", "", "Argument[*1]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "insert", "(size_type,const StringViewLike &)", "", "Argument[*1]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "insert", "(size_type,const StringViewLike &,size_type,size_type)", "", "Argument[*1]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "insert", "(size_type,const StringViewLike &,size_type,size_type)", "", "Argument[*1]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "insert", "(iterator,CharT)", "", "Argument[1]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "insert", "(iterator,CharT)", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["bsl", "basic_string", True, "insert", "(iterator,CharT)", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["bsl", "basic_string", True, "insert", "(const_iterator,CharT)", "", "Argument[1]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "insert", "(const_iterator,CharT)", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["bsl", "basic_string", True, "insert", "(const_iterator,CharT)", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["bsl", "basic_string", True, "insert", "(iterator,size_type,CharT)", "", "Argument[2]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "insert", "(iterator,size_type,CharT)", "", "Argument[2]", "ReturnValue", "taint", "manual"] + - ["bsl", "basic_string", True, "insert", "(iterator,size_type,CharT)", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["bsl", "basic_string", True, "insert", "(const_iterator,size_type,CharT)", "", "Argument[2]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "insert", "(const_iterator,size_type,CharT)", "", "Argument[2]", "ReturnValue", "taint", "manual"] + - ["bsl", "basic_string", True, "insert", "(const_iterator,size_type,CharT)", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["bsl", "basic_string", True, "insert", "", "", "ReturnValue[*]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "insert", "(iterator,InputIt,InputIt)", "", "Argument[1..2]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "insert", "(iterator,InputIt,InputIt)", "", "Argument[1..2]", "ReturnValue", "taint", "manual"] + - ["bsl", "basic_string", True, "insert", "(iterator,InputIt,InputIt)", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["bsl", "basic_string", True, "insert", "(const_iterator,InputIt,InputIt)", "", "Argument[1..2]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "insert", "(const_iterator,InputIt,InputIt)", "", "Argument[1..2]", "ReturnValue", "taint", "manual"] + - ["bsl", "basic_string", True, "insert", "(const_iterator,InputIt,InputIt)", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["bsl", "basic_string", True, "append", "(size_type,CharT)", "", "Argument[1]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "append", "(size_type,CharT)", "", "Argument[1]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "append", "(size_type,CharT)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "append", "(const CharT *,size_type)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "append", "(const CharT *,size_type)", "", "Argument[*0]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "append", "(const CharT *,size_type)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "append", "(const CharT *)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "append", "(const CharT *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "append", "(const CharT *)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "append", "(const basic_string &)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "append", "(const basic_string &)", "", "Argument[*0]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "append", "(const basic_string &)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "append", "(const basic_string &,size_type,size_type)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "append", "(const basic_string &,size_type,size_type)", "", "Argument[*0]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "append", "(const basic_string &,size_type,size_type)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "append", "(const StringViewLike &)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "append", "(const StringViewLike &)", "", "Argument[*0]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "append", "(const StringViewLike &,size_type,size_type)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "append", "(const StringViewLike &,size_type,size_type)", "", "Argument[*0]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "append", "(InputIt,InputIt)", "", "Argument[0..1]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "append", "(InputIt,InputIt)", "", "Argument[0..1]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "append", "(InputIt,InputIt)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "append", "", "", "ReturnValue[*]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "operator+=", "(const basic_string &)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "operator+=", "(const basic_string &)", "", "Argument[*0]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "operator+=", "(const basic_string &)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "operator+=", "(const StringViewLike &)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "operator+=", "(const StringViewLike &)", "", "Argument[*0]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "operator+=", "(const StringViewLike &)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "operator+=", "(CharT)", "", "Argument[0]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "operator+=", "(CharT)", "", "Argument[0]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "operator+=", "(CharT)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "operator+=", "(const CharT *)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "operator+=", "(const CharT *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "operator+=", "(const CharT *)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "operator+=", "", "", "ReturnValue[*]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "replace", "(size_type,size_type,const basic_string &)", "", "Argument[*2]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "replace", "(size_type,size_type,const basic_string &)", "", "Argument[*2]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "replace", "(size_type,size_type,const basic_string &)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "replace", "(const_iterator,const_iterator,const basic_string &)", "", "Argument[*2]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "replace", "(const_iterator,const_iterator,const basic_string &)", "", "Argument[*2]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "replace", "(const_iterator,const_iterator,const basic_string &)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "replace", "(size_type,size_type,const basic_string &,size_type,size_type)", "", "Argument[*2]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "replace", "(size_type,size_type,const basic_string &,size_type,size_type)", "", "Argument[*2]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "replace", "(size_type,size_type,const basic_string &,size_type,size_type)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "replace", "(size_type,size_type,const StringViewLike &)", "", "Argument[*2]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "replace", "(size_type,size_type,const StringViewLike &)", "", "Argument[*2]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "replace", "(const_iterator,const_iterator,const StringViewLike &)", "", "Argument[*2]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "replace", "(const_iterator,const_iterator,const StringViewLike &)", "", "Argument[*2]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "replace", "(size_type,size_type,const StringViewLike &,size_type,size_type)", "", "Argument[*2]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "replace", "(size_type,size_type,const StringViewLike &,size_type,size_type)", "", "Argument[*2]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "replace", "(size_type,size_type,const CharT *,size_type)", "", "Argument[*2]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "replace", "(size_type,size_type,const CharT *,size_type)", "", "Argument[*2]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "replace", "(size_type,size_type,const CharT *,size_type)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "replace", "(const_iterator,const_iterator,const CharT *,size_type)", "", "Argument[*2]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "replace", "(const_iterator,const_iterator,const CharT *,size_type)", "", "Argument[*2]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "replace", "(const_iterator,const_iterator,const CharT *,size_type)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "replace", "(size_type,size_type,const CharT *)", "", "Argument[*2]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "replace", "(size_type,size_type,const CharT *)", "", "Argument[*2]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "replace", "(size_type,size_type,const CharT *)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "replace", "(const_iterator,const_iterator,const CharT *)", "", "Argument[*2]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "replace", "(const_iterator,const_iterator,const CharT *)", "", "Argument[*2]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "replace", "(const_iterator,const_iterator,const CharT *)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "replace", "(size_type,size_type,size_type,CharT)", "", "Argument[3]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "replace", "(size_type,size_type,size_type,CharT)", "", "Argument[3]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "replace", "(size_type,size_type,size_type,CharT)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "replace", "(const_iterator,const_iterator,size_type,CharT)", "", "Argument[3]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "replace", "(const_iterator,const_iterator,size_type,CharT)", "", "Argument[3]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "replace", "(const_iterator,const_iterator,size_type,CharT)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "replace", "(const_iterator,const_iterator,InputIt,InputIt)", "", "Argument[2..3]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "replace", "(const_iterator,const_iterator,InputIt,InputIt)", "", "Argument[2..3]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "replace", "(const_iterator,const_iterator,InputIt,InputIt)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["bsl", "basic_string", True, "replace", "", "", "ReturnValue[*]", "Argument[-1]", "taint", "manual"] + - ["bsl", "basic_string", True, "substr", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["bsl", "basic_string", True, "push_back", "(CharT)", "", "Argument[0]", "Argument[-1]", "value", "manual"] + - ["bsl", "basic_string", True, "copy", "", "", "Argument[-1]", "Argument[*0]", "taint", "manual"] + - ["bsl", "basic_string", True, "swap", "", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["bsl", "basic_string", True, "swap", "", "", "Argument[-1]", "Argument[*0]", "value", "manual"] + - ["bsl", "", False, "operator+", "(const basic_string &,const basic_string &)", "", "Argument[*0..1]", "ReturnValue", "taint", "manual"] + - ["bsl", "", False, "operator+", "(basic_string &&,basic_string &&)", "", "Argument[*0..1]", "ReturnValue", "taint", "manual"] + - ["bsl", "", False, "operator+", "(const basic_string &,basic_string &&)", "", "Argument[*0..1]", "ReturnValue", "taint", "manual"] + - ["bsl", "", False, "operator+", "(basic_string &&,const basic_string &)", "", "Argument[*0..1]", "ReturnValue", "taint", "manual"] + - ["bsl", "", False, "operator+", "(const basic_string &,const CharT *)", "", "Argument[*0..1]", "ReturnValue", "taint", "manual"] + - ["bsl", "", False, "operator+", "(basic_string &&,const CharT *)", "", "Argument[*0..1]", "ReturnValue", "taint", "manual"] + - ["bsl", "", False, "operator+", "(const basic_string &,CharT)", "", "Argument[*0]", "ReturnValue", "taint", "manual"] + - ["bsl", "", False, "operator+", "(basic_string &&,CharT)", "", "Argument[*0]", "ReturnValue", "taint", "manual"] + - ["bsl", "", False, "operator+", "(const basic_string &,CharT)", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["bsl", "", False, "operator+", "(basic_string &&,CharT)", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["bsl", "", False, "operator+", "(const CharT *,const basic_string &)", "", "Argument[*0..1]", "ReturnValue", "taint", "manual"] + - ["bsl", "", False, "operator+", "(const CharT *,basic_string &&)", "", "Argument[*0..1]", "ReturnValue", "taint", "manual"] + - ["bsl", "", False, "operator+", "(CharT,const basic_string &)", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bsl", "", False, "operator+", "(CharT,const basic_string &)", "", "Argument[*1]", "ReturnValue", "taint", "manual"] + - ["bsl", "", False, "operator+", "(CharT,basic_string &&)", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bsl", "", False, "operator+", "(CharT,basic_string &&)", "", "Argument[*1]", "ReturnValue", "taint", "manual"] \ No newline at end of file diff --git a/cpp/ql/lib/ext/bsl.unordered_map.model.yml b/cpp/ql/lib/ext/bsl.unordered_map.model.yml new file mode 100644 index 000000000000..7592bf67653b --- /dev/null +++ b/cpp/ql/lib/ext/bsl.unordered_map.model.yml @@ -0,0 +1,136 @@ +extensions: + - addsTo: + pack: codeql/cpp-all + extensible: summaryModel + data: # namespace, type, subtypes, name, signature, ext, input, output, kind, provenance + - ["bsl", "unordered_map", True, "at", "", "", "Argument[-1].Element.Field[@bsl::pair::second]", "ReturnValue[*@]", "value", "manual"] + - ["bsl", "unordered_map", True, "at", "", "", "ReturnValue[*@]", "Argument[-1].Element.Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "unordered_map", True, "begin", "", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["bsl", "unordered_map", True, "cbegin", "", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["bsl", "unordered_map", True, "emplace", "", "", "Argument[-1].Element.Field[@bsl::pair::first]", "ReturnValue.Field[bsl::pair::first].Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "unordered_map", True, "emplace", "", "", "Argument[-1].Element.Field[@bsl::pair::second]", "ReturnValue.Field[bsl::pair::first].Element.Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "unordered_map", True, "emplace_hint", "", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["bsl", "unordered_map", True, "erase", "(iterator)", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["bsl", "unordered_map", True, "erase", "(const_iterator)", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["bsl", "unordered_map", True, "erase", "(const_iterator,const_iterator)", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["bsl", "unordered_map", True, "equal_range", "", "", "Argument[-1].Element", "ReturnValue.Field[bsl::pair::first].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "equal_range", "", "", "Argument[-1].Element", "ReturnValue.Field[bsl::pair::second].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "find", "", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["bsl", "unordered_map", True, "insert", "(const value_type &)", "", "Argument[*0]", "Argument[-1].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "insert", "(const value_type &)", "", "Argument[*0]", "ReturnValue.Field[bsl::pair::first].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "insert", "(const value_type &)", "", "Argument[-1].Element", "ReturnValue.Field[bsl::pair::first].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "insert", "(value_type &&)", "", "Argument[*0]", "Argument[-1].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "insert", "(value_type &&)", "", "Argument[*0]", "ReturnValue.Field[bsl::pair::first].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "insert", "(value_type &&)", "", "Argument[-1].Element", "ReturnValue.Field[bsl::pair::first].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "insert

", "(P &&)", "", "Argument[*0]", "Argument[-1].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "insert

", "(P &&)", "", "Argument[*0]", "ReturnValue.Field[bsl::pair::first].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "insert

", "(P &&)", "", "Argument[-1].Element", "ReturnValue.Field[bsl::pair::first].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "insert", "(const_iterator,const value_type &)", "", "Argument[*1]", "Argument[-1].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "insert", "(const_iterator,const value_type &)", "", "Argument[*1]", "ReturnValue.Element", "value", "manual"] + - ["bsl", "unordered_map", True, "insert", "(const_iterator,const value_type &)", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["bsl", "unordered_map", True, "insert", "(InputIt,InputIt)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "insert", "(initializer_list)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "insert", "(const_iterator,value_type &&)", "", "Argument[*1]", "Argument[-1].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "insert", "(const_iterator,value_type &&)", "", "Argument[*1]", "ReturnValue.Element", "value", "manual"] + - ["bsl", "unordered_map", True, "insert", "(const_iterator,value_type &&)", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["bsl", "unordered_map", True, "insert

", "(const_iterator,P &&)", "", "Argument[*1]", "Argument[-1].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "insert

", "(const_iterator,P &&)", "", "Argument[*1]", "ReturnValue.Element", "value", "manual"] + - ["bsl", "unordered_map", True, "insert

", "(const_iterator,P &&)", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["bsl", "unordered_map", True, "insert_range", "(R &&)", "", "Argument[*0].Element", "Argument[-1].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "unordered_map", "(const unordered_map &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["bsl", "unordered_map", True, "unordered_map", "(unordered_map &&)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["bsl", "unordered_map", True, "unordered_map", "(const unordered_map &,const Allocator &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["bsl", "unordered_map", True, "unordered_map", "(unordered_map &&,const Allocator &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["bsl", "unordered_map", True, "unordered_map", "(initializer_list)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "unordered_map", "(initializer_list,size_type)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "unordered_map", "(initializer_list,size_type,const Hash &)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "unordered_map", "(initializer_list,size_type,const Hash &,const Pred &)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "unordered_map", "(initializer_list,size_type,const Hash &,const Pred &,const Allocator &)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "unordered_map", "(initializer_list,const Allocator &)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "unordered_map", "(initializer_list,size_type,const Allocator &)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "unordered_map", "(initializer_list,size_type,const Hash &,const Allocator &)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "unordered_map", "(InputIt,InputIt)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "unordered_map", "(InputIt,InputIt,size_type)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "unordered_map", "(InputIt,InputIt,size_type,const Hash &)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "unordered_map", "(InputIt,InputIt,size_type,const Hash &,const Pred &)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "unordered_map", "(InputIt,InputIt,size_type,const Hash &,const Pred &,const Allocator &)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "unordered_map", "(InputIt,InputIt,size_type,const Allocator &)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "unordered_map", "(InputIt,InputIt,size_type,const Hash &,const Allocator &)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "unordered_map", "(from_range_t,R &&)", "", "Argument[*1].Element", "Argument[-1].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "unordered_map", "(from_range_t,R &&,size_type)", "", "Argument[*1].Element", "Argument[-1].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "unordered_map", "(from_range_t,R &&,size_type,const Hash &)", "", "Argument[*1].Element", "Argument[-1].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "unordered_map", "(from_range_t,R &&,size_type,const Hash &,const Pred &)", "", "Argument[*1].Element", "Argument[-1].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "unordered_map", "(from_range_t,R &&,size_type,const Hash &,const Pred &,const Allocator &)", "", "Argument[*1].Element", "Argument[-1].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "merge", "(unordered_map &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["bsl", "unordered_map", True, "merge", "(unordered_map &&)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["bsl", "unordered_map", True, "merge", "(unordered_multimap &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["bsl", "unordered_map", True, "merge", "(unordered_multimap &&)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["bsl", "unordered_map", True, "operator=", "(initializer_list)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "operator=", "(initializer_list)", "", "Argument[0].Element", "ReturnValue[*].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "operator=", "(const unordered_map &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["bsl", "unordered_map", True, "operator=", "(const unordered_map &)", "", "Argument[*0]", "ReturnValue[*]", "value", "manual"] + - ["bsl", "unordered_map", True, "operator=", "(unordered_map &&)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["bsl", "unordered_map", True, "operator=", "(unordered_map &&)", "", "Argument[*0]", "ReturnValue[*]", "value", "manual"] + - ["bsl", "unordered_map", True, "operator[]", "(const key_type &)", "", "Argument[-1].Element.Field[@bsl::pair::second]", "ReturnValue[*@]", "value", "manual"] + - ["bsl", "unordered_map", True, "operator[]", "(const key_type &)", "", "ReturnValue[*@]", "Argument[-1].Element.Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "unordered_map", True, "operator[]", "(const key_type &)", "", "Argument[*@0]", "Argument[-1].Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "unordered_map", True, "operator[]", "(key_type &&)", "", "Argument[-1].Element.Field[@bsl::pair::second]", "ReturnValue[*@]", "value", "manual"] + - ["bsl", "unordered_map", True, "operator[]", "(key_type &&)", "", "ReturnValue[*@]", "Argument[-1].Element.Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "unordered_map", True, "operator[]", "(key_type &&)", "", "Argument[*@0]", "Argument[-1].Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "unordered_map", True, "operator[]", "(K &&)", "", "Argument[-1].Element.Field[@bsl::pair::second]", "ReturnValue[*@]", "value", "manual"] + - ["bsl", "unordered_map", True, "operator[]", "(K &&)", "", "ReturnValue[*@]", "Argument[-1].Element.Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "unordered_map", True, "operator[]", "(K &&)", "", "Argument[*@0]", "Argument[-1].Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "unordered_map", True, "insert_or_assign", "(const key_type &,M &&)", "", "Argument[*@0]", "Argument[-1].Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "unordered_map", True, "insert_or_assign", "(const key_type &,M &&)", "", "Argument[*@1]", "Argument[-1].Element.Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "unordered_map", True, "insert_or_assign", "(const key_type &,M &&)", "", "Argument[-1].Element.Field[@bsl::pair::first]", "ReturnValue.Field[bsl::pair::first].Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "unordered_map", True, "insert_or_assign", "(const key_type &,M &&)", "", "Argument[-1].Element.Field[@bsl::pair::second]", "ReturnValue.Field[bsl::pair::first].Element.Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "unordered_map", True, "insert_or_assign", "(const key_type &,M &&)", "", "Argument[*@0]", "ReturnValue.Field[bsl::pair::first].Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "unordered_map", True, "insert_or_assign", "(const key_type &,M &&)", "", "Argument[*@1]", "ReturnValue.Field[bsl::pair::first].Element.Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "unordered_map", True, "insert_or_assign", "(key_type &&,M &&)", "", "Argument[*@0]", "Argument[-1].Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "unordered_map", True, "insert_or_assign", "(key_type &&,M &&)", "", "Argument[*@1]", "Argument[-1].Element.Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "unordered_map", True, "insert_or_assign", "(key_type &&,M &&)", "", "Argument[-1].Element.Field[@bsl::pair::first]", "ReturnValue.Field[bsl::pair::first].Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "unordered_map", True, "insert_or_assign", "(key_type &&,M &&)", "", "Argument[-1].Element.Field[@bsl::pair::second]", "ReturnValue.Field[bsl::pair::first].Element.Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "unordered_map", True, "insert_or_assign", "(key_type &&,M &&)", "", "Argument[*@0]", "ReturnValue.Field[bsl::pair::first].Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "unordered_map", True, "insert_or_assign", "(key_type &&,M &&)", "", "Argument[*@1]", "ReturnValue.Field[bsl::pair::first].Element.Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "unordered_map", True, "insert_or_assign", "(const_iterator,const key_type &,M &&)", "", "Argument[*@1]", "Argument[-1].Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "unordered_map", True, "insert_or_assign", "(const_iterator,const key_type &,M &&)", "", "Argument[*@2]", "Argument[-1].Element.Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "unordered_map", True, "insert_or_assign", "(const_iterator,const key_type &,M &&)", "", "Argument[-1].Element.Field[@bsl::pair::first]", "ReturnValue.Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "unordered_map", True, "insert_or_assign", "(const_iterator,const key_type &,M &&)", "", "Argument[-1].Element.Field[@bsl::pair::second]", "ReturnValue.Element.Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "unordered_map", True, "insert_or_assign", "(const_iterator,const key_type &,M &&)", "", "Argument[*@1]", "ReturnValue.Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "unordered_map", True, "insert_or_assign", "(const_iterator,const key_type &,M &&)", "", "Argument[*@2]", "ReturnValue.Element.Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "unordered_map", True, "insert_or_assign", "(const_iterator,key_type &&,M &&)", "", "Argument[*@1]", "Argument[-1].Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "unordered_map", True, "insert_or_assign", "(const_iterator,key_type &&,M &&)", "", "Argument[*@2]", "Argument[-1].Element.Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "unordered_map", True, "insert_or_assign", "(const_iterator,key_type &&,M &&)", "", "Argument[-1].Element.Field[@bsl::pair::first]", "ReturnValue.Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "unordered_map", True, "insert_or_assign", "(const_iterator,key_type &&,M &&)", "", "Argument[-1].Element.Field[@bsl::pair::second]", "ReturnValue.Element.Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "unordered_map", True, "insert_or_assign", "(const_iterator,key_type &&,M &&)", "", "Argument[*@1]", "ReturnValue.Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "unordered_map", True, "insert_or_assign", "(const_iterator,key_type &&,M &&)", "", "Argument[*@2]", "ReturnValue.Element.Field[@bsl::pair::second]", "value", "manual"] + - ["bsl", "unordered_map", True, "try_emplace", "(const key_type &,Args &&)", "", "Argument[*@0]", "Argument[-1].Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "unordered_map", True, "try_emplace", "(const key_type &,Args &&)", "", "Argument[*@0]", "ReturnValue.Field[bsl::pair::first].Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "unordered_map", True, "try_emplace", "(const key_type &,Args &&)", "", "Argument[-1].Element", "ReturnValue.Field[bsl::pair::first].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "try_emplace", "(key_type &&,Args &&)", "", "Argument[*@0]", "Argument[-1].Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "unordered_map", True, "try_emplace", "(key_type &&,Args &&)", "", "Argument[*@0]", "ReturnValue.Field[bsl::pair::first].Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "unordered_map", True, "try_emplace", "(key_type &&,Args &&)", "", "Argument[-1].Element", "ReturnValue.Field[bsl::pair::first].Element", "value", "manual"] + - ["bsl", "unordered_map", True, "try_emplace", "(const_iterator,const key_type &,Args &&)", "", "Argument[*@1]", "Argument[-1].Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "unordered_map", True, "try_emplace", "(const_iterator,const key_type &,Args &&)", "", "Argument[*@1]", "ReturnValue.Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "unordered_map", True, "try_emplace", "(const_iterator,const key_type &,Args &&)", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["bsl", "unordered_map", True, "try_emplace", "(const_iterator,key_type &&,Args &&)", "", "Argument[*@1]", "Argument[-1].Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "unordered_map", True, "try_emplace", "(const_iterator,key_type &&,Args &&)", "", "Argument[*@1]", "ReturnValue.Element.Field[@bsl::pair::first]", "value", "manual"] + - ["bsl", "unordered_map", True, "try_emplace", "(const_iterator,key_type &&,Args &&)", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["bsl", "unordered_map", True, "swap", "", "", "Argument[-1]", "Argument[*0]", "value", "manual"] + - ["bsl", "unordered_map", True, "swap", "", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - addsTo: + pack: codeql/cpp-all + extensible: forwardsModel + data: # namespace, type, subtypes, name, signature, ext, start, constructor, output, provenance + - ["bsl", "unordered_map", True, "emplace", "(Args &&)", "", "0", "value_type", "Argument[-1].Element", "manual"] + - ["bsl", "unordered_map", True, "emplace", "(Args &&)", "", "0", "value_type", "ReturnValue.Field[bsl::pair::first].Element", "manual"] + - ["bsl", "unordered_map", True, "emplace_hint", "(const_iterator,Args &&)", "", "1", "value_type", "Argument[-1].Element", "manual"] + - ["bsl", "unordered_map", True, "emplace_hint", "(const_iterator,Args &&)", "", "1", "value_type", "ReturnValue.Element", "manual"] + - ["bsl", "unordered_map", True, "try_emplace", "(const Key &,Args &&)", "", "1", "T", "Argument[-1].Element.Field[bsl::pair::second]", "manual"] + - ["bsl", "unordered_map", True, "try_emplace", "(const Key &,Args &&)", "", "1", "T", "ReturnValue.Field[bsl::pair::first].Element.Field[bsl::pair::second]", "manual"] + - ["bsl", "unordered_map", True, "try_emplace", "(Key &&,Args &&)", "", "1", "T", "Argument[-1].Element.Field[bsl::pair::second]", "manual"] + - ["bsl", "unordered_map", True, "try_emplace", "(Key &&,Args &&)", "", "1", "T", "ReturnValue.Field[bsl::pair::first].Element.Field[bsl::pair::second]", "manual"] + - ["bsl", "unordered_map", True, "try_emplace", "(const_iterator,Key &&,Args &&)", "", "2", "T", "Argument[-1].Element.Field[bsl::pair::second]", "manual"] + - ["bsl", "unordered_map", True, "try_emplace", "(const_iterator,Key &&,Args &&)", "", "2", "T", "ReturnValue.Element.Field[bsl::pair::second]", "manual"] + - ["bsl", "unordered_map", True, "try_emplace", "(const_iterator,const Key &,Args &&)", "", "2", "T", "Argument[-1].Element.Field[bsl::pair::second]", "manual"] + - ["bsl", "unordered_map", True, "try_emplace", "(const_iterator,const Key &,Args &&)", "", "2", "T", "ReturnValue.Element.Field[bsl::pair::second]", "manual"] \ No newline at end of file diff --git a/cpp/ql/lib/ext/bsl.vector.model.yml b/cpp/ql/lib/ext/bsl.vector.model.yml index 88351b2950f9..c74b9f3a1308 100644 --- a/cpp/ql/lib/ext/bsl.vector.model.yml +++ b/cpp/ql/lib/ext/bsl.vector.model.yml @@ -10,30 +10,6 @@ extensions: - ["bsl", "vector", True, "begin", "", "", "Argument[-1].Element[@]", "ReturnValue.Element[@]", "value", "manual"] - ["bsl", "vector", True, "cbegin", "", "", "Argument[-1].Element[@]", "ReturnValue.Element[@]", "value", "manual"] - ["bsl", "vector", True, "data", "", "", "Argument[-1].Element[@]", "ReturnValue[*@]", "value", "manual"] - - ["bsl", "vector", True, "emplace", "", "", "Argument[*@1]", "Argument[-1].Element[@]", "value", "manual"] - - ["bsl", "vector", True, "emplace", "", "", "Argument[*@1]", "ReturnValue.Element[@]", "value", "manual"] - - ["bsl", "vector", True, "emplace", "", "", "Argument[*@2]", "Argument[-1].Element[@]", "value", "manual"] - - ["bsl", "vector", True, "emplace", "", "", "Argument[*@2]", "ReturnValue.Element[@]", "value", "manual"] - - ["bsl", "vector", True, "emplace", "", "", "Argument[*@3]", "Argument[-1].Element[@]", "value", "manual"] - - ["bsl", "vector", True, "emplace", "", "", "Argument[*@3]", "ReturnValue.Element[@]", "value", "manual"] - - ["bsl", "vector", True, "emplace", "", "", "Argument[*@4]", "Argument[-1].Element[@]", "value", "manual"] - - ["bsl", "vector", True, "emplace", "", "", "Argument[*@4]", "ReturnValue.Element[@]", "value", "manual"] - - ["bsl", "vector", True, "emplace", "", "", "Argument[*@5]", "Argument[-1].Element[@]", "value", "manual"] - - ["bsl", "vector", True, "emplace", "", "", "Argument[*@5]", "ReturnValue.Element[@]", "value", "manual"] - - ["bsl", "vector", True, "emplace", "", "", "Argument[-1].Element[@]", "ReturnValue.Element[@]", "value", "manual"] - - ["bsl", "vector", True, "emplace_back", "", "", "Argument[*@0]", "Argument[-1].Element[@]", "value", "manual"] - - ["bsl", "vector", True, "emplace_back", "", "", "Argument[*@0]", "ReturnValue[*@]", "value", "manual"] - - ["bsl", "vector", True, "emplace_back", "", "", "Argument[*@1]", "Argument[-1].Element[@]", "value", "manual"] - - ["bsl", "vector", True, "emplace_back", "", "", "Argument[*@1]", "ReturnValue[*@]", "value", "manual"] - - ["bsl", "vector", True, "emplace_back", "", "", "Argument[*@2]", "Argument[-1].Element[@]", "value", "manual"] - - ["bsl", "vector", True, "emplace_back", "", "", "Argument[*@2]", "ReturnValue[*@]", "value", "manual"] - - ["bsl", "vector", True, "emplace_back", "", "", "Argument[*@3]", "Argument[-1].Element[@]", "value", "manual"] - - ["bsl", "vector", True, "emplace_back", "", "", "Argument[*@3]", "ReturnValue[*@]", "value", "manual"] - - ["bsl", "vector", True, "emplace_back", "", "", "Argument[*@4]", "Argument[-1].Element[@]", "value", "manual"] - - ["bsl", "vector", True, "emplace_back", "", "", "Argument[*@4]", "ReturnValue[*@]", "value", "manual"] - - ["bsl", "vector", True, "emplace_back", "", "", "Argument[*@5]", "Argument[-1].Element[@]", "value", "manual"] - - ["bsl", "vector", True, "emplace_back", "", "", "Argument[*@5]", "ReturnValue[*@]", "value", "manual"] - - ["bsl", "vector", True, "emplace_back", "", "", "Argument[-1].Element[@]", "ReturnValue[*@]", "value", "manual"] - ["bsl", "vector", True, "front", "", "", "Argument[-1].Element[@]", "ReturnValue[*@]", "value", "manual"] - ["bsl", "vector", True, "insert", "(const_iterator,InputIt,InputIt)", "", "Argument[-1].Element[@]", "ReturnValue.Element[@]", "value", "manual"] - ["bsl", "vector", True, "insert", "(const_iterator,InputIt,InputIt)", "", "Argument[1].Element[@]", "Argument[-1].Element[@]", "value", "manual"] @@ -58,4 +34,12 @@ extensions: - ["bsl", "vector", True, "insert", "(const_iterator,size_type,const T &)", "", "Argument[-1].Element[@]", "ReturnValue.Element[@]", "value", "manual"] - ["bsl", "vector", True, "insert", "(const_iterator,T &&)", "", "Argument[*@1]", "Argument[-1].Element[@]", "value", "manual"] - ["bsl", "vector", True, "insert", "(const_iterator,T &&)", "", "Argument[*@1]", "ReturnValue.Element[@]", "value", "manual"] - - ["bsl", "vector", True, "insert", "(const_iterator,T &&)", "", "Argument[-1].Element[@]", "ReturnValue.Element[@]", "value", "manual"] \ No newline at end of file + - ["bsl", "vector", True, "insert", "(const_iterator,T &&)", "", "Argument[-1].Element[@]", "ReturnValue.Element[@]", "value", "manual"] + - addsTo: + pack: codeql/cpp-all + extensible: forwardsModel + data: # namespace, type, subtypes, name, signature, ext, start, constructor, output, provenance + - ["bsl", "vector", True, "emplace", "(const_iterator,Args &&)", "", "1", "T", "Argument[-1].Element", "manual"] + - ["bsl", "vector", True, "emplace", "(const_iterator,Args &&)", "", "1", "T", "ReturnValue.Element", "manual"] + - ["bsl", "vector", True, "emplace_back", "(Args &&)", "", "0", "T", "Argument[-1].Element", "manual"] + - ["bsl", "vector", True, "emplace_back", "(Args &&)", "", "0", "T", "ReturnValue[*]", "manual"] \ No newline at end of file diff --git a/cpp/ql/lib/ext/std.map.model.yml b/cpp/ql/lib/ext/std.map.model.yml new file mode 100644 index 000000000000..ec18c9fb49b9 --- /dev/null +++ b/cpp/ql/lib/ext/std.map.model.yml @@ -0,0 +1,125 @@ +extensions: + - addsTo: + pack: codeql/cpp-all + extensible: summaryModel + data: # namespace, type, subtypes, name, signature, ext, input, output, kind, provenance + - ["std", "map", True, "at", "", "", "Argument[-1].Element.Field[@std::pair::second]", "ReturnValue[*@]", "value", "manual"] + - ["std", "map", True, "at", "", "", "ReturnValue[*@]", "Argument[-1].Element.Field[@std::pair::second]", "value", "manual"] + - ["std", "map", True, "begin", "", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["std", "map", True, "cbegin", "", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["std", "map", True, "rbegin", "", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["std", "map", True, "crbegin", "", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["std", "map", True, "emplace", "", "", "Argument[-1].Element.Field[@std::pair::first]", "ReturnValue.Field[std::pair::first].Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "map", True, "emplace", "", "", "Argument[-1].Element.Field[@std::pair::second]", "ReturnValue.Field[std::pair::first].Element.Field[@std::pair::second]", "value", "manual"] + - ["std", "map", True, "emplace_hint", "", "", "Argument[-1].Element.Field[@std::pair::first]", "ReturnValue.Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "map", True, "emplace_hint", "", "", "Argument[-1].Element.Field[@std::pair::second]", "ReturnValue.Element.Field[@std::pair::second]", "value", "manual"] + - ["std", "map", True, "erase", "", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["std", "map", True, "equal_range", "", "", "Argument[-1].Element", "ReturnValue.Field[std::pair::first,std::pair::second].Element", "value", "manual"] + - ["std", "map", True, "find", "", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["std", "map", True, "insert", "(const value_type &)", "", "Argument[*0]", "Argument[-1].Element", "value", "manual"] + - ["std", "map", True, "insert", "(const value_type &)", "", "Argument[*0]", "ReturnValue.Field[std::pair::first].Element", "value", "manual"] + - ["std", "map", True, "insert", "(const value_type &)", "", "Argument[-1].Element", "ReturnValue.Field[std::pair::first].Element", "value", "manual"] + - ["std", "map", True, "insert", "(value_type &&)", "", "Argument[*0]", "Argument[-1].Element", "value", "manual"] + - ["std", "map", True, "insert", "(value_type &&)", "", "Argument[*0]", "ReturnValue.Field[std::pair::first].Element", "value", "manual"] + - ["std", "map", True, "insert", "(value_type &&)", "", "Argument[-1].Element", "ReturnValue.Field[std::pair::first].Element", "value", "manual"] + - ["std", "map", True, "insert

", "(P &&)", "", "Argument[*0]", "Argument[-1].Element", "value", "manual"] + - ["std", "map", True, "insert

", "(P &&)", "", "Argument[*0]", "ReturnValue.Field[std::pair::first].Element", "value", "manual"] + - ["std", "map", True, "insert

", "(P &&)", "", "Argument[-1].Element", "ReturnValue.Field[std::pair::first].Element", "value", "manual"] + - ["std", "map", True, "insert", "(const_iterator,const value_type &)", "", "Argument[*1]", "Argument[-1].Element", "value", "manual"] + - ["std", "map", True, "insert", "(const_iterator,const value_type &)", "", "Argument[*1]", "ReturnValue.Element", "value", "manual"] + - ["std", "map", True, "insert", "(const_iterator,const value_type &)", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["std", "map", True, "insert", "(InputIt,InputIt)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["std", "map", True, "insert", "(initializer_list)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["std", "map", True, "insert", "(const_iterator,value_type &&)", "", "Argument[*1]", "Argument[-1].Element", "value", "manual"] + - ["std", "map", True, "insert", "(const_iterator,value_type &&)", "", "Argument[*1]", "ReturnValue.Element", "value", "manual"] + - ["std", "map", True, "insert", "(const_iterator,value_type &&)", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["std", "map", True, "insert

", "(const_iterator,P &&)", "", "Argument[*1]", "Argument[-1].Element", "value", "manual"] + - ["std", "map", True, "insert

", "(const_iterator,P &&)", "", "Argument[*1]", "ReturnValue.Element", "value", "manual"] + - ["std", "map", True, "insert

", "(const_iterator,P &&)", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["std", "map", True, "insert_range", "(R &&)", "", "Argument[*0].Element", "Argument[-1].Element", "value", "manual"] + - ["std", "map", True, "lower_bound", "", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["std", "map", True, "upper_bound", "", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["std", "map", True, "map", "(const map &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["std", "map", True, "map", "(map &&)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["std", "map", True, "map", "(initializer_list)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["std", "map", True, "map", "(const map &,const Allocator &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["std", "map", True, "map", "(map &&,const Allocator &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["std", "map", True, "map", "(initializer_list,const Compare &)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["std", "map", True, "map", "(initializer_list,const Compare &,const Allocator &)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["std", "map", True, "map", "(initializer_list,const Allocator &)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["std", "map", True, "map", "(InputIt,InputIt)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["std", "map", True, "map", "(InputIt,InputIt,const Compare &)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["std", "map", True, "map", "(InputIt,InputIt,const Compare &,const Allocator &)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["std", "map", True, "merge", "(map &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["std", "map", True, "merge", "(map &&)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["std", "map", True, "merge", "(multimap &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["std", "map", True, "merge", "(multimap &&)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["std", "map", True, "operator=", "(initializer_list)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["std", "map", True, "operator=", "(initializer_list)", "", "Argument[0].Element", "ReturnValue[*].Element", "value", "manual"] + - ["std", "map", True, "operator=", "(const map &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["std", "map", True, "operator=", "(const map &)", "", "Argument[*0]", "ReturnValue[*]", "value", "manual"] + - ["std", "map", True, "operator=", "(map &&)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["std", "map", True, "operator=", "(map &&)", "", "Argument[*0]", "ReturnValue[*]", "value", "manual"] + - ["std", "map", True, "operator[]", "(const key_type &)", "", "Argument[-1].Element.Field[@std::pair::second]", "ReturnValue[*@]", "value", "manual"] + - ["std", "map", True, "operator[]", "(const key_type &)", "", "ReturnValue[*@]", "Argument[-1].Element.Field[@std::pair::second]", "value", "manual"] + - ["std", "map", True, "operator[]", "(const key_type &)", "", "Argument[*@0]", "Argument[-1].Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "map", True, "operator[]", "(key_type &&)", "", "Argument[-1].Element.Field[@std::pair::second]", "ReturnValue[*@]", "value", "manual"] + - ["std", "map", True, "operator[]", "(key_type &&)", "", "ReturnValue[*@]", "Argument[-1].Element.Field[@std::pair::second]", "value", "manual"] + - ["std", "map", True, "operator[]", "(key_type &&)", "", "Argument[*@0]", "Argument[-1].Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "map", True, "operator[]", "(K &&)", "", "Argument[-1].Element.Field[@std::pair::second]", "ReturnValue[*@]", "value", "manual"] + - ["std", "map", True, "operator[]", "(K &&)", "", "ReturnValue[*@]", "Argument[-1].Element.Field[@std::pair::second]", "value", "manual"] + - ["std", "map", True, "operator[]", "(K &&)", "", "Argument[*@0]", "Argument[-1].Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "map", True, "insert_or_assign", "(const key_type &,M &&)", "", "Argument[*@0]", "Argument[-1].Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "map", True, "insert_or_assign", "(const key_type &,M &&)", "", "Argument[*@1]", "Argument[-1].Element.Field[@std::pair::second]", "value", "manual"] + - ["std", "map", True, "insert_or_assign", "(const key_type &,M &&)", "", "Argument[-1].Element.Field[@std::pair::first]", "ReturnValue.Field[std::pair::first].Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "map", True, "insert_or_assign", "(const key_type &,M &&)", "", "Argument[-1].Element.Field[@std::pair::second]", "ReturnValue.Field[std::pair::first].Element.Field[@std::pair::second]", "value", "manual"] + - ["std", "map", True, "insert_or_assign", "(const key_type &,M &&)", "", "Argument[*@0]", "ReturnValue.Field[std::pair::first].Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "map", True, "insert_or_assign", "(const key_type &,M &&)", "", "Argument[*@1]", "ReturnValue.Field[std::pair::first].Element.Field[@std::pair::second]", "value", "manual"] + - ["std", "map", True, "insert_or_assign", "(key_type &&,M &&)", "", "Argument[*@0]", "Argument[-1].Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "map", True, "insert_or_assign", "(key_type &&,M &&)", "", "Argument[*@1]", "Argument[-1].Element.Field[@std::pair::second]", "value", "manual"] + - ["std", "map", True, "insert_or_assign", "(key_type &&,M &&)", "", "Argument[-1].Element.Field[@std::pair::first]", "ReturnValue.Field[std::pair::first].Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "map", True, "insert_or_assign", "(key_type &&,M &&)", "", "Argument[-1].Element.Field[@std::pair::second]", "ReturnValue.Field[std::pair::first].Element.Field[@std::pair::second]", "value", "manual"] + - ["std", "map", True, "insert_or_assign", "(key_type &&,M &&)", "", "Argument[*@0]", "ReturnValue.Field[std::pair::first].Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "map", True, "insert_or_assign", "(key_type &&,M &&)", "", "Argument[*@1]", "ReturnValue.Field[std::pair::first].Element.Field[@std::pair::second]", "value", "manual"] + - ["std", "map", True, "insert_or_assign", "(const_iterator,const key_type &,M &&)", "", "Argument[*@1]", "Argument[-1].Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "map", True, "insert_or_assign", "(const_iterator,const key_type &,M &&)", "", "Argument[*@2]", "Argument[-1].Element.Field[@std::pair::second]", "value", "manual"] + - ["std", "map", True, "insert_or_assign", "(const_iterator,const key_type &,M &&)", "", "Argument[-1].Element.Field[@std::pair::first]", "ReturnValue.Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "map", True, "insert_or_assign", "(const_iterator,const key_type &,M &&)", "", "Argument[-1].Element.Field[@std::pair::second]", "ReturnValue.Element.Field[@std::pair::second]", "value", "manual"] + - ["std", "map", True, "insert_or_assign", "(const_iterator,const key_type &,M &&)", "", "Argument[*@1]", "ReturnValue.Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "map", True, "insert_or_assign", "(const_iterator,const key_type &,M &&)", "", "Argument[*@2]", "ReturnValue.Element.Field[@std::pair::second]", "value", "manual"] + - ["std", "map", True, "insert_or_assign", "(const_iterator,key_type &&,M &&)", "", "Argument[*@1]", "Argument[-1].Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "map", True, "insert_or_assign", "(const_iterator,key_type &&,M &&)", "", "Argument[*@2]", "Argument[-1].Element.Field[@std::pair::second]", "value", "manual"] + - ["std", "map", True, "insert_or_assign", "(const_iterator,key_type &&,M &&)", "", "Argument[-1].Element.Field[@std::pair::first]", "ReturnValue.Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "map", True, "insert_or_assign", "(const_iterator,key_type &&,M &&)", "", "Argument[-1].Element.Field[@std::pair::second]", "ReturnValue.Element.Field[@std::pair::second]", "value", "manual"] + - ["std", "map", True, "insert_or_assign", "(const_iterator,key_type &&,M &&)", "", "Argument[*@1]", "ReturnValue.Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "map", True, "insert_or_assign", "(const_iterator,key_type &&,M &&)", "", "Argument[*@2]", "ReturnValue.Element.Field[@std::pair::second]", "value", "manual"] + - ["std", "map", True, "try_emplace", "(const key_type &,Args &&)", "", "Argument[*@0]", "Argument[-1].Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "map", True, "try_emplace", "(const key_type &,Args &&)", "", "Argument[*@0]", "ReturnValue.Field[std::pair::first].Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "map", True, "try_emplace", "(const key_type &,Args &&)", "", "Argument[-1].Element", "ReturnValue.Field[std::pair::first].Element", "value", "manual"] + - ["std", "map", True, "try_emplace", "(key_type &&,Args &&)", "", "Argument[*@0]", "Argument[-1].Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "map", True, "try_emplace", "(key_type &&,Args &&)", "", "Argument[*@0]", "ReturnValue.Field[std::pair::first].Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "map", True, "try_emplace", "(key_type &&,Args &&)", "", "Argument[-1].Element", "ReturnValue.Field[std::pair::first].Element", "value", "manual"] + - ["std", "map", True, "try_emplace", "(const_iterator,const key_type &,Args &&)", "", "Argument[*@1]", "Argument[-1].Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "map", True, "try_emplace", "(const_iterator,const key_type &,Args &&)", "", "Argument[*@1]", "ReturnValue.Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "map", True, "try_emplace", "(const_iterator,const key_type &,Args &&)", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["std", "map", True, "try_emplace", "(const_iterator,key_type &&,Args &&)", "", "Argument[*@1]", "Argument[-1].Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "map", True, "try_emplace", "(const_iterator,key_type &&,Args &&)", "", "Argument[*@1]", "ReturnValue.Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "map", True, "try_emplace", "(const_iterator,key_type &&,Args &&)", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["std", "map", True, "swap", "", "", "Argument[-1]", "Argument[*0]", "value", "manual"] + - ["std", "map", True, "swap", "", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - addsTo: + pack: codeql/cpp-all + extensible: forwardsModel + data: # namespace, type, subtypes, name, signature, ext, start, constructor, output, provenance + - ["std", "map", True, "emplace", "(Args &&)", "", "0", "value_type", "Argument[-1].Element", "manual"] + - ["std", "map", True, "emplace", "(Args &&)", "", "0", "value_type", "ReturnValue.Field[std::pair::first].Element", "manual"] + - ["std", "map", True, "emplace_hint", "(const_iterator,Args &&)", "", "1", "value_type", "Argument[-1].Element", "manual"] + - ["std", "map", True, "emplace_hint", "(const_iterator,Args &&)", "", "1", "value_type", "ReturnValue.Element", "manual"] + - ["std", "map", True, "try_emplace", "(const Key &,Args &&)", "", "1", "T", "Argument[-1].Element.Field[std::pair::second]", "manual"] + - ["std", "map", True, "try_emplace", "(const Key &,Args &&)", "", "1", "T", "ReturnValue.Field[std::pair::first].Element.Field[std::pair::second]", "manual"] + - ["std", "map", True, "try_emplace", "(Key &&,Args &&)", "", "1", "T", "Argument[-1].Element.Field[std::pair::second]", "manual"] + - ["std", "map", True, "try_emplace", "(Key &&,Args &&)", "", "1", "T", "ReturnValue.Field[std::pair::first].Element.Field[std::pair::second]", "manual"] + - ["std", "map", True, "try_emplace", "(const_iterator,Key &&,Args &&)", "", "2", "T", "Argument[-1].Element.Field[std::pair::second]", "manual"] + - ["std", "map", True, "try_emplace", "(const_iterator,Key &&,Args &&)", "", "2", "T", "ReturnValue.Element.Field[std::pair::second]", "manual"] + - ["std", "map", True, "try_emplace", "(const_iterator,const Key &,Args &&)", "", "2", "T", "Argument[-1].Element.Field[std::pair::second]", "manual"] + - ["std", "map", True, "try_emplace", "(const_iterator,const Key &,Args &&)", "", "2", "T", "ReturnValue.Element.Field[std::pair::second]", "manual"] \ No newline at end of file diff --git a/cpp/ql/lib/ext/std.pair.model.yml b/cpp/ql/lib/ext/std.pair.model.yml new file mode 100644 index 000000000000..95bedd6ca6ad --- /dev/null +++ b/cpp/ql/lib/ext/std.pair.model.yml @@ -0,0 +1,21 @@ +extensions: + - addsTo: + pack: codeql/cpp-all + extensible: summaryModel + data: # namespace, type, subtypes, name, signature, ext, input, output, kind, provenance + - ["std", "", False, "make_pair", "(T1 &&,T2 &&)", "", "Argument[*@0]", "ReturnValue.Field[@std::pair::first]", "value", "manual"] + - ["std", "", False, "make_pair", "(T1 &&,T2 &&)", "", "Argument[*@1]", "ReturnValue.Field[@std::pair::second]", "value", "manual"] + - ["std", "pair", True, "operator=", "(const pair &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["std", "pair", True, "operator=", "(const pair &)", "", "Argument[*0]", "ReturnValue[*]", "value", "manual"] + - ["std", "pair", True, "operator=", "(pair &&)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["std", "pair", True, "operator=", "(pair &&)", "", "Argument[*0]", "ReturnValue[*]", "value", "manual"] + - ["std", "pair", True, "pair", "(const pair &)", "", "Argument[*0].Field[@std::pair::first]", "Argument[-1].Field[@std::pair::first]", "value", "manual"] + - ["std", "pair", True, "pair", "(const pair &)", "", "Argument[*0].Field[@std::pair::second]", "Argument[-1].Field[@std::pair::second]", "value", "manual"] + - ["std", "pair", True, "pair", "(pair &&)", "", "Argument[*0].Field[@std::pair::first]", "Argument[-1].Field[@std::pair::first]", "value", "manual"] + - ["std", "pair", True, "pair", "(pair &&)", "", "Argument[*0].Field[@std::pair::second]", "Argument[-1].Field[@std::pair::second]", "value", "manual"] + - ["std", "pair", True, "pair", "(const T1 &,const T2 &)", "", "Argument[*@0]", "Argument[-1].Field[@std::pair::first]", "value", "manual"] + - ["std", "pair", True, "pair", "(const T1 &,const T2 &)", "", "Argument[*@1]", "Argument[-1].Field[@std::pair::second]", "value", "manual"] + - ["std", "pair", True, "pair", "(U1 &&,U2 &&)", "", "Argument[*@0]", "Argument[-1].Field[@std::pair::first]", "value", "manual"] + - ["std", "pair", True, "pair", "(U1 &&,U2 &&)", "", "Argument[*@1]", "Argument[-1].Field[@std::pair::second]", "value", "manual"] + - ["std", "pair", True, "swap", "", "", "Argument[-1]", "Argument[*0]", "value", "manual"] + - ["std", "pair", True, "swap", "", "", "Argument[*0]", "Argument[-1]", "value", "manual"] \ No newline at end of file diff --git a/cpp/ql/lib/ext/std.string.model.yml b/cpp/ql/lib/ext/std.string.model.yml new file mode 100644 index 000000000000..700fcaa75f52 --- /dev/null +++ b/cpp/ql/lib/ext/std.string.model.yml @@ -0,0 +1,194 @@ +extensions: + - addsTo: + pack: codeql/cpp-all + extensible: summaryModel + data: # namespace, type, subtypes, name, signature, ext, input, output, kind, provenance + - ["std", "basic_string", True, "basic_string", "(size_type,CharT,const Allocator &)", "", "Argument[1]", "Argument[-1]", "value", "manual"] + - ["std", "basic_string", True, "basic_string", "(InputIt,InputIt,const Allocator &)", "", "Argument[0..1]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "basic_string", "(const CharT *,size_type,const Allocator &)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "basic_string", "(const CharT *,const Allocator &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["std", "basic_string", True, "basic_string", "(const StringViewLike &,const Allocator &)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "basic_string", "(const StringViewLike &,size_type,size_type,const Allocator &)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "basic_string", "(const basic_string &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["std", "basic_string", True, "basic_string", "(basic_string &&)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["std", "basic_string", True, "basic_string", "(const basic_string &,const Allocator &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["std", "basic_string", True, "basic_string", "(basic_string &&,const Allocator &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["std", "basic_string", True, "basic_string", "(const basic_string &,size_type,const Allocator &)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "basic_string", "(basic_string &&,size_type,const Allocator &)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "basic_string", "(const basic_string &,size_type,size_type,const Allocator &)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "basic_string", "(basic_string &&,size_type,size_type,const Allocator &)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "operator=", "", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["std", "basic_string", True, "operator=", "", "", "Argument[*0]", "ReturnValue[*]", "value", "manual"] + - ["std", "basic_string", True, "operator=", "", "", "Argument[0]", "Argument[-1]", "value", "manual"] + - ["std", "basic_string", True, "operator=", "", "", "Argument[0]", "ReturnValue[*]", "value", "manual"] + - ["std", "basic_string", True, "operator=", "", "", "ReturnValue[*]", "Argument[-1]", "value", "manual"] + - ["std", "basic_string", True, "assign", "(const basic_string &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["std", "basic_string", True, "assign", "(const basic_string &)", "", "Argument[*0]", "ReturnValue[*]", "value", "manual"] + - ["std", "basic_string", True, "assign", "(basic_string &&)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["std", "basic_string", True, "assign", "(basic_string &&)", "", "Argument[*0]", "ReturnValue[*]", "value", "manual"] + - ["std", "basic_string", True, "assign", "(size_type,CharT)", "", "Argument[1]", "Argument[-1]", "value", "manual"] + - ["std", "basic_string", True, "assign", "(size_type,CharT)", "", "Argument[1]", "ReturnValue[*]", "value", "manual"] + - ["std", "basic_string", True, "assign", "(const CharT *,size_type)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "assign", "(const CharT *,size_type)", "", "Argument[*0]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "assign", "(const CharT *)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["std", "basic_string", True, "assign", "(const CharT *)", "", "Argument[*0]", "ReturnValue[*]", "value", "manual"] + - ["std", "basic_string", True, "assign", "(const basic_string &,size_type,size_type)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "assign", "(const basic_string &,size_type,size_type)", "", "Argument[*0]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "assign", "(const StringViewLike &)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "assign", "(const StringViewLike &)", "", "Argument[*0]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "assign", "(const StringViewLike &,size_type,size_type)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "assign", "(const StringViewLike &,size_type,size_type)", "", "Argument[*0]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "assign", "(InputIt,InputIt)", "", "Argument[0]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "assign", "(InputIt,InputIt)", "", "Argument[0]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "assign", "", "", "ReturnValue[*]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "at", "", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "at", "", "", "ReturnValue[*]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "operator[]", "", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "operator[]", "", "", "ReturnValue[*]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "front", "", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "front", "", "", "ReturnValue[*]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "back", "", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "back", "", "", "ReturnValue[*]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "data", "", "", "Argument[-1]", "ReturnValue[*]", "value", "manual"] + - ["std", "basic_string", True, "data", "", "", "ReturnValue[*]", "Argument[-1]", "value", "manual"] + - ["std", "basic_string", True, "c_str", "", "", "Argument[-1]", "ReturnValue[*]", "value", "manual"] + - ["std", "basic_string", True, "begin", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["std", "basic_string", True, "cbegin", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["std", "basic_string", True, "rbegin", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["std", "basic_string", True, "crbegin", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["std", "basic_string", True, "end", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["std", "basic_string", True, "cend", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["std", "basic_string", True, "rend", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["std", "basic_string", True, "crend", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["std", "basic_string", True, "insert", "(size_type,size_type,CharT)", "", "Argument[2]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "insert", "(size_type,size_type,CharT)", "", "Argument[2]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "insert", "(size_type,size_type,CharT)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "insert", "(size_type,const CharT *)", "", "Argument[*1]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "insert", "(size_type,const CharT *)", "", "Argument[*1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "insert", "(size_type,const CharT *)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "insert", "(size_type,const CharT *,size_type)", "", "Argument[*1]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "insert", "(size_type,const CharT *,size_type)", "", "Argument[*1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "insert", "(size_type,const CharT *,size_type)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "insert", "(size_type,const basic_string &)", "", "Argument[*1]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "insert", "(size_type,const basic_string &)", "", "Argument[*1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "insert", "(size_type,const basic_string &)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "insert", "(size_type,const basic_string &,size_type,size_type)", "", "Argument[*1]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "insert", "(size_type,const basic_string &,size_type,size_type)", "", "Argument[*1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "insert", "(size_type,const basic_string &,size_type,size_type)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "insert", "(size_type,const StringViewLike &)", "", "Argument[*1]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "insert", "(size_type,const StringViewLike &)", "", "Argument[*1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "insert", "(size_type,const StringViewLike &,size_type,size_type)", "", "Argument[*1]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "insert", "(size_type,const StringViewLike &,size_type,size_type)", "", "Argument[*1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "insert", "(iterator,CharT)", "", "Argument[1]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "insert", "(iterator,CharT)", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["std", "basic_string", True, "insert", "(iterator,CharT)", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["std", "basic_string", True, "insert", "(const_iterator,CharT)", "", "Argument[1]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "insert", "(const_iterator,CharT)", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["std", "basic_string", True, "insert", "(const_iterator,CharT)", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["std", "basic_string", True, "insert", "(iterator,size_type,CharT)", "", "Argument[2]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "insert", "(iterator,size_type,CharT)", "", "Argument[2]", "ReturnValue", "taint", "manual"] + - ["std", "basic_string", True, "insert", "(iterator,size_type,CharT)", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["std", "basic_string", True, "insert", "(const_iterator,size_type,CharT)", "", "Argument[2]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "insert", "(const_iterator,size_type,CharT)", "", "Argument[2]", "ReturnValue", "taint", "manual"] + - ["std", "basic_string", True, "insert", "(const_iterator,size_type,CharT)", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["std", "basic_string", True, "insert", "", "", "ReturnValue[*]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "insert", "(iterator,InputIt,InputIt)", "", "Argument[1..2]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "insert", "(iterator,InputIt,InputIt)", "", "Argument[1..2]", "ReturnValue", "taint", "manual"] + - ["std", "basic_string", True, "insert", "(iterator,InputIt,InputIt)", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["std", "basic_string", True, "insert", "(const_iterator,InputIt,InputIt)", "", "Argument[1..2]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "insert", "(const_iterator,InputIt,InputIt)", "", "Argument[1..2]", "ReturnValue", "taint", "manual"] + - ["std", "basic_string", True, "insert", "(const_iterator,InputIt,InputIt)", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["std", "basic_string", True, "append", "(size_type,CharT)", "", "Argument[1]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "append", "(size_type,CharT)", "", "Argument[1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "append", "(size_type,CharT)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "append", "(const CharT *,size_type)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "append", "(const CharT *,size_type)", "", "Argument[*0]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "append", "(const CharT *,size_type)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "append", "(const CharT *)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "append", "(const CharT *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "append", "(const CharT *)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "append", "(const basic_string &)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "append", "(const basic_string &)", "", "Argument[*0]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "append", "(const basic_string &)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "append", "(const basic_string &,size_type,size_type)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "append", "(const basic_string &,size_type,size_type)", "", "Argument[*0]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "append", "(const basic_string &,size_type,size_type)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "append", "(const StringViewLike &)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "append", "(const StringViewLike &)", "", "Argument[*0]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "append", "(const StringViewLike &,size_type,size_type)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "append", "(const StringViewLike &,size_type,size_type)", "", "Argument[*0]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "append", "(InputIt,InputIt)", "", "Argument[0..1]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "append", "(InputIt,InputIt)", "", "Argument[0..1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "append", "(InputIt,InputIt)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "append", "", "", "ReturnValue[*]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "operator+=", "(const basic_string &)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "operator+=", "(const basic_string &)", "", "Argument[*0]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "operator+=", "(const basic_string &)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "operator+=", "(const StringViewLike &)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "operator+=", "(const StringViewLike &)", "", "Argument[*0]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "operator+=", "(const StringViewLike &)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "operator+=", "(CharT)", "", "Argument[0]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "operator+=", "(CharT)", "", "Argument[0]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "operator+=", "(CharT)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "operator+=", "(const CharT *)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "operator+=", "(const CharT *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "operator+=", "(const CharT *)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "operator+=", "", "", "ReturnValue[*]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "replace", "(size_type,size_type,const basic_string &)", "", "Argument[*2]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "replace", "(size_type,size_type,const basic_string &)", "", "Argument[*2]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "replace", "(size_type,size_type,const basic_string &)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "replace", "(const_iterator,const_iterator,const basic_string &)", "", "Argument[*2]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "replace", "(const_iterator,const_iterator,const basic_string &)", "", "Argument[*2]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "replace", "(const_iterator,const_iterator,const basic_string &)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "replace", "(size_type,size_type,const basic_string &,size_type,size_type)", "", "Argument[*2]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "replace", "(size_type,size_type,const basic_string &,size_type,size_type)", "", "Argument[*2]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "replace", "(size_type,size_type,const basic_string &,size_type,size_type)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "replace", "(size_type,size_type,const StringViewLike &)", "", "Argument[*2]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "replace", "(size_type,size_type,const StringViewLike &)", "", "Argument[*2]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "replace", "(const_iterator,const_iterator,const StringViewLike &)", "", "Argument[*2]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "replace", "(const_iterator,const_iterator,const StringViewLike &)", "", "Argument[*2]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "replace", "(size_type,size_type,const StringViewLike &,size_type,size_type)", "", "Argument[*2]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "replace", "(size_type,size_type,const StringViewLike &,size_type,size_type)", "", "Argument[*2]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "replace", "(size_type,size_type,const CharT *,size_type)", "", "Argument[*2]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "replace", "(size_type,size_type,const CharT *,size_type)", "", "Argument[*2]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "replace", "(size_type,size_type,const CharT *,size_type)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "replace", "(const_iterator,const_iterator,const CharT *,size_type)", "", "Argument[*2]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "replace", "(const_iterator,const_iterator,const CharT *,size_type)", "", "Argument[*2]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "replace", "(const_iterator,const_iterator,const CharT *,size_type)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "replace", "(size_type,size_type,const CharT *)", "", "Argument[*2]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "replace", "(size_type,size_type,const CharT *)", "", "Argument[*2]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "replace", "(size_type,size_type,const CharT *)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "replace", "(const_iterator,const_iterator,const CharT *)", "", "Argument[*2]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "replace", "(const_iterator,const_iterator,const CharT *)", "", "Argument[*2]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "replace", "(const_iterator,const_iterator,const CharT *)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "replace", "(size_type,size_type,size_type,CharT)", "", "Argument[3]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "replace", "(size_type,size_type,size_type,CharT)", "", "Argument[3]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "replace", "(size_type,size_type,size_type,CharT)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "replace", "(const_iterator,const_iterator,size_type,CharT)", "", "Argument[3]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "replace", "(const_iterator,const_iterator,size_type,CharT)", "", "Argument[3]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "replace", "(const_iterator,const_iterator,size_type,CharT)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "replace", "(const_iterator,const_iterator,InputIt,InputIt)", "", "Argument[2..3]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "replace", "(const_iterator,const_iterator,InputIt,InputIt)", "", "Argument[2..3]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "replace", "(const_iterator,const_iterator,InputIt,InputIt)", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string", True, "replace", "", "", "ReturnValue[*]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string", True, "substr", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["std", "basic_string", True, "push_back", "(CharT)", "", "Argument[0]", "Argument[-1]", "value", "manual"] + - ["std", "basic_string", True, "copy", "", "", "Argument[-1]", "Argument[*0]", "taint", "manual"] + - ["std", "basic_string", True, "swap", "", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["std", "basic_string", True, "swap", "", "", "Argument[-1]", "Argument[*0]", "value", "manual"] + - ["std", "", False, "operator+", "(const basic_string &,const basic_string &)", "", "Argument[*0..1]", "ReturnValue", "taint", "manual"] + - ["std", "", False, "operator+", "(basic_string &&,basic_string &&)", "", "Argument[*0..1]", "ReturnValue", "taint", "manual"] + - ["std", "", False, "operator+", "(const basic_string &,basic_string &&)", "", "Argument[*0..1]", "ReturnValue", "taint", "manual"] + - ["std", "", False, "operator+", "(basic_string &&,const basic_string &)", "", "Argument[*0..1]", "ReturnValue", "taint", "manual"] + - ["std", "", False, "operator+", "(const basic_string &,const CharT *)", "", "Argument[*0..1]", "ReturnValue", "taint", "manual"] + - ["std", "", False, "operator+", "(basic_string &&,const CharT *)", "", "Argument[*0..1]", "ReturnValue", "taint", "manual"] + - ["std", "", False, "operator+", "(const basic_string &,CharT)", "", "Argument[*0]", "ReturnValue", "taint", "manual"] + - ["std", "", False, "operator+", "(basic_string &&,CharT)", "", "Argument[*0]", "ReturnValue", "taint", "manual"] + - ["std", "", False, "operator+", "(const basic_string &,CharT)", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["std", "", False, "operator+", "(basic_string &&,CharT)", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["std", "", False, "operator+", "(const CharT *,const basic_string &)", "", "Argument[*0..1]", "ReturnValue", "taint", "manual"] + - ["std", "", False, "operator+", "(const CharT *,basic_string &&)", "", "Argument[*0..1]", "ReturnValue", "taint", "manual"] + - ["std", "", False, "operator+", "(CharT,const basic_string &)", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["std", "", False, "operator+", "(CharT,const basic_string &)", "", "Argument[*1]", "ReturnValue", "taint", "manual"] + - ["std", "", False, "operator+", "(CharT,basic_string &&)", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["std", "", False, "operator+", "(CharT,basic_string &&)", "", "Argument[*1]", "ReturnValue", "taint", "manual"] \ No newline at end of file diff --git a/cpp/ql/lib/ext/std.string_view.model.yml b/cpp/ql/lib/ext/std.string_view.model.yml new file mode 100644 index 000000000000..c90023914523 --- /dev/null +++ b/cpp/ql/lib/ext/std.string_view.model.yml @@ -0,0 +1,31 @@ +extensions: + - addsTo: + pack: codeql/cpp-all + extensible: summaryModel + data: # namespace, type, subtypes, name, signature, ext, input, output, kind, provenance + - ["std", "basic_string_view", True, "basic_string_view", "(const basic_string_view &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["std", "basic_string_view", True, "basic_string_view", "(const CharT *,size_type)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string_view", True, "basic_string_view", "(const CharT *)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["std", "basic_string_view", True, "basic_string_view", "(It,End)", "", "Argument[0..1]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string_view", True, "basic_string_view", "(R &&)", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["std", "basic_string_view", True, "operator=", "(const basic_string_view &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["std", "basic_string_view", True, "operator=", "(const basic_string_view &)", "", "Argument[*0]", "ReturnValue[*]", "value", "manual"] + - ["std", "basic_string_view", True, "operator=", "(const basic_string_view &)", "", "ReturnValue[*]", "Argument[-1]", "value", "manual"] + - ["std", "basic_string_view", True, "begin", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["std", "basic_string_view", True, "cbegin", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["std", "basic_string_view", True, "end", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["std", "basic_string_view", True, "cend", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["std", "basic_string_view", True, "rbegin", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["std", "basic_string_view", True, "crbegin", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["std", "basic_string_view", True, "rend", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["std", "basic_string_view", True, "crend", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["std", "basic_string_view", True, "operator[]", "", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string_view", True, "at", "", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string_view", True, "front", "", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string_view", True, "back", "", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["std", "basic_string_view", True, "data", "", "", "Argument[-1]", "ReturnValue[*]", "value", "manual"] + - ["std", "basic_string_view", True, "swap", "", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["std", "basic_string_view", True, "swap", "", "", "Argument[-1]", "Argument[*0]", "value", "manual"] + - ["std", "basic_string_view", True, "copy", "", "", "Argument[-1]", "Argument[*0]", "taint", "manual"] + - ["std", "basic_string_view", True, "substr", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["std", "basic_string_view", True, "subview", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"] \ No newline at end of file diff --git a/cpp/ql/lib/ext/std.unordered_map.model.yml b/cpp/ql/lib/ext/std.unordered_map.model.yml new file mode 100644 index 000000000000..07ad1e03abd1 --- /dev/null +++ b/cpp/ql/lib/ext/std.unordered_map.model.yml @@ -0,0 +1,136 @@ +extensions: + - addsTo: + pack: codeql/cpp-all + extensible: summaryModel + data: # namespace, type, subtypes, name, signature, ext, input, output, kind, provenance + - ["std", "unordered_map", True, "at", "", "", "Argument[-1].Element.Field[@std::pair::second]", "ReturnValue[*@]", "value", "manual"] + - ["std", "unordered_map", True, "at", "", "", "ReturnValue[*@]", "Argument[-1].Element.Field[@std::pair::second]", "value", "manual"] + - ["std", "unordered_map", True, "begin", "", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["std", "unordered_map", True, "cbegin", "", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["std", "unordered_map", True, "emplace", "", "", "Argument[-1].Element.Field[@std::pair::first]", "ReturnValue.Field[std::pair::first].Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "unordered_map", True, "emplace", "", "", "Argument[-1].Element.Field[@std::pair::second]", "ReturnValue.Field[std::pair::first].Element.Field[@std::pair::second]", "value", "manual"] + - ["std", "unordered_map", True, "emplace_hint", "", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["std", "unordered_map", True, "erase", "(iterator)", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["std", "unordered_map", True, "erase", "(const_iterator)", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["std", "unordered_map", True, "erase", "(const_iterator,const_iterator)", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["std", "unordered_map", True, "equal_range", "", "", "Argument[-1].Element", "ReturnValue.Field[std::pair::first].Element", "value", "manual"] + - ["std", "unordered_map", True, "equal_range", "", "", "Argument[-1].Element", "ReturnValue.Field[std::pair::second].Element", "value", "manual"] + - ["std", "unordered_map", True, "find", "", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["std", "unordered_map", True, "insert", "(const value_type &)", "", "Argument[*0]", "Argument[-1].Element", "value", "manual"] + - ["std", "unordered_map", True, "insert", "(const value_type &)", "", "Argument[*0]", "ReturnValue.Field[std::pair::first].Element", "value", "manual"] + - ["std", "unordered_map", True, "insert", "(const value_type &)", "", "Argument[-1].Element", "ReturnValue.Field[std::pair::first].Element", "value", "manual"] + - ["std", "unordered_map", True, "insert", "(value_type &&)", "", "Argument[*0]", "Argument[-1].Element", "value", "manual"] + - ["std", "unordered_map", True, "insert", "(value_type &&)", "", "Argument[*0]", "ReturnValue.Field[std::pair::first].Element", "value", "manual"] + - ["std", "unordered_map", True, "insert", "(value_type &&)", "", "Argument[-1].Element", "ReturnValue.Field[std::pair::first].Element", "value", "manual"] + - ["std", "unordered_map", True, "insert

", "(P &&)", "", "Argument[*0]", "Argument[-1].Element", "value", "manual"] + - ["std", "unordered_map", True, "insert

", "(P &&)", "", "Argument[*0]", "ReturnValue.Field[std::pair::first].Element", "value", "manual"] + - ["std", "unordered_map", True, "insert

", "(P &&)", "", "Argument[-1].Element", "ReturnValue.Field[std::pair::first].Element", "value", "manual"] + - ["std", "unordered_map", True, "insert", "(const_iterator,const value_type &)", "", "Argument[*1]", "Argument[-1].Element", "value", "manual"] + - ["std", "unordered_map", True, "insert", "(const_iterator,const value_type &)", "", "Argument[*1]", "ReturnValue.Element", "value", "manual"] + - ["std", "unordered_map", True, "insert", "(const_iterator,const value_type &)", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["std", "unordered_map", True, "insert", "(InputIt,InputIt)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["std", "unordered_map", True, "insert", "(initializer_list)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["std", "unordered_map", True, "insert", "(const_iterator,value_type &&)", "", "Argument[*1]", "Argument[-1].Element", "value", "manual"] + - ["std", "unordered_map", True, "insert", "(const_iterator,value_type &&)", "", "Argument[*1]", "ReturnValue.Element", "value", "manual"] + - ["std", "unordered_map", True, "insert", "(const_iterator,value_type &&)", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["std", "unordered_map", True, "insert

", "(const_iterator,P &&)", "", "Argument[*1]", "Argument[-1].Element", "value", "manual"] + - ["std", "unordered_map", True, "insert

", "(const_iterator,P &&)", "", "Argument[*1]", "ReturnValue.Element", "value", "manual"] + - ["std", "unordered_map", True, "insert

", "(const_iterator,P &&)", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["std", "unordered_map", True, "insert_range", "(R &&)", "", "Argument[*0].Element", "Argument[-1].Element", "value", "manual"] + - ["std", "unordered_map", True, "unordered_map", "(const unordered_map &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["std", "unordered_map", True, "unordered_map", "(unordered_map &&)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["std", "unordered_map", True, "unordered_map", "(const unordered_map &,const Allocator &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["std", "unordered_map", True, "unordered_map", "(unordered_map &&,const Allocator &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["std", "unordered_map", True, "unordered_map", "(initializer_list)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["std", "unordered_map", True, "unordered_map", "(initializer_list,size_type)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["std", "unordered_map", True, "unordered_map", "(initializer_list,size_type,const Hash &)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["std", "unordered_map", True, "unordered_map", "(initializer_list,size_type,const Hash &,const Pred &)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["std", "unordered_map", True, "unordered_map", "(initializer_list,size_type,const Hash &,const Pred &,const Allocator &)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["std", "unordered_map", True, "unordered_map", "(initializer_list,const Allocator &)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["std", "unordered_map", True, "unordered_map", "(initializer_list,size_type,const Allocator &)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["std", "unordered_map", True, "unordered_map", "(initializer_list,size_type,const Hash &,const Allocator &)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["std", "unordered_map", True, "unordered_map", "(InputIt,InputIt)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["std", "unordered_map", True, "unordered_map", "(InputIt,InputIt,size_type)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["std", "unordered_map", True, "unordered_map", "(InputIt,InputIt,size_type,const Hash &)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["std", "unordered_map", True, "unordered_map", "(InputIt,InputIt,size_type,const Hash &,const Pred &)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["std", "unordered_map", True, "unordered_map", "(InputIt,InputIt,size_type,const Hash &,const Pred &,const Allocator &)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["std", "unordered_map", True, "unordered_map", "(InputIt,InputIt,size_type,const Allocator &)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["std", "unordered_map", True, "unordered_map", "(InputIt,InputIt,size_type,const Hash &,const Allocator &)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["std", "unordered_map", True, "unordered_map", "(from_range_t,R &&)", "", "Argument[*1].Element", "Argument[-1].Element", "value", "manual"] + - ["std", "unordered_map", True, "unordered_map", "(from_range_t,R &&,size_type)", "", "Argument[*1].Element", "Argument[-1].Element", "value", "manual"] + - ["std", "unordered_map", True, "unordered_map", "(from_range_t,R &&,size_type,const Hash &)", "", "Argument[*1].Element", "Argument[-1].Element", "value", "manual"] + - ["std", "unordered_map", True, "unordered_map", "(from_range_t,R &&,size_type,const Hash &,const Pred &)", "", "Argument[*1].Element", "Argument[-1].Element", "value", "manual"] + - ["std", "unordered_map", True, "unordered_map", "(from_range_t,R &&,size_type,const Hash &,const Pred &,const Allocator &)", "", "Argument[*1].Element", "Argument[-1].Element", "value", "manual"] + - ["std", "unordered_map", True, "merge", "(unordered_map &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["std", "unordered_map", True, "merge", "(unordered_map &&)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["std", "unordered_map", True, "merge", "(unordered_multimap &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["std", "unordered_map", True, "merge", "(unordered_multimap &&)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["std", "unordered_map", True, "operator=", "(initializer_list)", "", "Argument[0].Element", "Argument[-1].Element", "value", "manual"] + - ["std", "unordered_map", True, "operator=", "(initializer_list)", "", "Argument[0].Element", "ReturnValue[*].Element", "value", "manual"] + - ["std", "unordered_map", True, "operator=", "(const unordered_map &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["std", "unordered_map", True, "operator=", "(const unordered_map &)", "", "Argument[*0]", "ReturnValue[*]", "value", "manual"] + - ["std", "unordered_map", True, "operator=", "(unordered_map &&)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["std", "unordered_map", True, "operator=", "(unordered_map &&)", "", "Argument[*0]", "ReturnValue[*]", "value", "manual"] + - ["std", "unordered_map", True, "operator[]", "(const key_type &)", "", "Argument[-1].Element.Field[@std::pair::second]", "ReturnValue[*@]", "value", "manual"] + - ["std", "unordered_map", True, "operator[]", "(const key_type &)", "", "ReturnValue[*@]", "Argument[-1].Element.Field[@std::pair::second]", "value", "manual"] + - ["std", "unordered_map", True, "operator[]", "(const key_type &)", "", "Argument[*@0]", "Argument[-1].Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "unordered_map", True, "operator[]", "(key_type &&)", "", "Argument[-1].Element.Field[@std::pair::second]", "ReturnValue[*@]", "value", "manual"] + - ["std", "unordered_map", True, "operator[]", "(key_type &&)", "", "ReturnValue[*@]", "Argument[-1].Element.Field[@std::pair::second]", "value", "manual"] + - ["std", "unordered_map", True, "operator[]", "(key_type &&)", "", "Argument[*@0]", "Argument[-1].Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "unordered_map", True, "operator[]", "(K &&)", "", "Argument[-1].Element.Field[@std::pair::second]", "ReturnValue[*@]", "value", "manual"] + - ["std", "unordered_map", True, "operator[]", "(K &&)", "", "ReturnValue[*@]", "Argument[-1].Element.Field[@std::pair::second]", "value", "manual"] + - ["std", "unordered_map", True, "operator[]", "(K &&)", "", "Argument[*@0]", "Argument[-1].Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "unordered_map", True, "insert_or_assign", "(const key_type &,M &&)", "", "Argument[*@0]", "Argument[-1].Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "unordered_map", True, "insert_or_assign", "(const key_type &,M &&)", "", "Argument[*@1]", "Argument[-1].Element.Field[@std::pair::second]", "value", "manual"] + - ["std", "unordered_map", True, "insert_or_assign", "(const key_type &,M &&)", "", "Argument[-1].Element.Field[@std::pair::first]", "ReturnValue.Field[std::pair::first].Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "unordered_map", True, "insert_or_assign", "(const key_type &,M &&)", "", "Argument[-1].Element.Field[@std::pair::second]", "ReturnValue.Field[std::pair::first].Element.Field[@std::pair::second]", "value", "manual"] + - ["std", "unordered_map", True, "insert_or_assign", "(const key_type &,M &&)", "", "Argument[*@0]", "ReturnValue.Field[std::pair::first].Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "unordered_map", True, "insert_or_assign", "(const key_type &,M &&)", "", "Argument[*@1]", "ReturnValue.Field[std::pair::first].Element.Field[@std::pair::second]", "value", "manual"] + - ["std", "unordered_map", True, "insert_or_assign", "(key_type &&,M &&)", "", "Argument[*@0]", "Argument[-1].Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "unordered_map", True, "insert_or_assign", "(key_type &&,M &&)", "", "Argument[*@1]", "Argument[-1].Element.Field[@std::pair::second]", "value", "manual"] + - ["std", "unordered_map", True, "insert_or_assign", "(key_type &&,M &&)", "", "Argument[-1].Element.Field[@std::pair::first]", "ReturnValue.Field[std::pair::first].Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "unordered_map", True, "insert_or_assign", "(key_type &&,M &&)", "", "Argument[-1].Element.Field[@std::pair::second]", "ReturnValue.Field[std::pair::first].Element.Field[@std::pair::second]", "value", "manual"] + - ["std", "unordered_map", True, "insert_or_assign", "(key_type &&,M &&)", "", "Argument[*@0]", "ReturnValue.Field[std::pair::first].Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "unordered_map", True, "insert_or_assign", "(key_type &&,M &&)", "", "Argument[*@1]", "ReturnValue.Field[std::pair::first].Element.Field[@std::pair::second]", "value", "manual"] + - ["std", "unordered_map", True, "insert_or_assign", "(const_iterator,const key_type &,M &&)", "", "Argument[*@1]", "Argument[-1].Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "unordered_map", True, "insert_or_assign", "(const_iterator,const key_type &,M &&)", "", "Argument[*@2]", "Argument[-1].Element.Field[@std::pair::second]", "value", "manual"] + - ["std", "unordered_map", True, "insert_or_assign", "(const_iterator,const key_type &,M &&)", "", "Argument[-1].Element.Field[@std::pair::first]", "ReturnValue.Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "unordered_map", True, "insert_or_assign", "(const_iterator,const key_type &,M &&)", "", "Argument[-1].Element.Field[@std::pair::second]", "ReturnValue.Element.Field[@std::pair::second]", "value", "manual"] + - ["std", "unordered_map", True, "insert_or_assign", "(const_iterator,const key_type &,M &&)", "", "Argument[*@1]", "ReturnValue.Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "unordered_map", True, "insert_or_assign", "(const_iterator,const key_type &,M &&)", "", "Argument[*@2]", "ReturnValue.Element.Field[@std::pair::second]", "value", "manual"] + - ["std", "unordered_map", True, "insert_or_assign", "(const_iterator,key_type &&,M &&)", "", "Argument[*@1]", "Argument[-1].Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "unordered_map", True, "insert_or_assign", "(const_iterator,key_type &&,M &&)", "", "Argument[*@2]", "Argument[-1].Element.Field[@std::pair::second]", "value", "manual"] + - ["std", "unordered_map", True, "insert_or_assign", "(const_iterator,key_type &&,M &&)", "", "Argument[-1].Element.Field[@std::pair::first]", "ReturnValue.Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "unordered_map", True, "insert_or_assign", "(const_iterator,key_type &&,M &&)", "", "Argument[-1].Element.Field[@std::pair::second]", "ReturnValue.Element.Field[@std::pair::second]", "value", "manual"] + - ["std", "unordered_map", True, "insert_or_assign", "(const_iterator,key_type &&,M &&)", "", "Argument[*@1]", "ReturnValue.Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "unordered_map", True, "insert_or_assign", "(const_iterator,key_type &&,M &&)", "", "Argument[*@2]", "ReturnValue.Element.Field[@std::pair::second]", "value", "manual"] + - ["std", "unordered_map", True, "try_emplace", "(const key_type &,Args &&)", "", "Argument[*@0]", "Argument[-1].Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "unordered_map", True, "try_emplace", "(const key_type &,Args &&)", "", "Argument[*@0]", "ReturnValue.Field[std::pair::first].Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "unordered_map", True, "try_emplace", "(const key_type &,Args &&)", "", "Argument[-1].Element", "ReturnValue.Field[std::pair::first].Element", "value", "manual"] + - ["std", "unordered_map", True, "try_emplace", "(key_type &&,Args &&)", "", "Argument[*@0]", "Argument[-1].Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "unordered_map", True, "try_emplace", "(key_type &&,Args &&)", "", "Argument[*@0]", "ReturnValue.Field[std::pair::first].Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "unordered_map", True, "try_emplace", "(key_type &&,Args &&)", "", "Argument[-1].Element", "ReturnValue.Field[std::pair::first].Element", "value", "manual"] + - ["std", "unordered_map", True, "try_emplace", "(const_iterator,const key_type &,Args &&)", "", "Argument[*@1]", "Argument[-1].Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "unordered_map", True, "try_emplace", "(const_iterator,const key_type &,Args &&)", "", "Argument[*@1]", "ReturnValue.Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "unordered_map", True, "try_emplace", "(const_iterator,const key_type &,Args &&)", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["std", "unordered_map", True, "try_emplace", "(const_iterator,key_type &&,Args &&)", "", "Argument[*@1]", "Argument[-1].Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "unordered_map", True, "try_emplace", "(const_iterator,key_type &&,Args &&)", "", "Argument[*@1]", "ReturnValue.Element.Field[@std::pair::first]", "value", "manual"] + - ["std", "unordered_map", True, "try_emplace", "(const_iterator,key_type &&,Args &&)", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"] + - ["std", "unordered_map", True, "swap", "", "", "Argument[-1]", "Argument[*0]", "value", "manual"] + - ["std", "unordered_map", True, "swap", "", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - addsTo: + pack: codeql/cpp-all + extensible: forwardsModel + data: # namespace, type, subtypes, name, signature, ext, start, constructor, output, provenance + - ["std", "unordered_map", True, "emplace", "(Args &&)", "", "0", "value_type", "Argument[-1].Element", "manual"] + - ["std", "unordered_map", True, "emplace", "(Args &&)", "", "0", "value_type", "ReturnValue.Field[std::pair::first].Element", "manual"] + - ["std", "unordered_map", True, "emplace_hint", "(const_iterator,Args &&)", "", "1", "value_type", "Argument[-1].Element", "manual"] + - ["std", "unordered_map", True, "emplace_hint", "(const_iterator,Args &&)", "", "1", "value_type", "ReturnValue.Element", "manual"] + - ["std", "unordered_map", True, "try_emplace", "(const Key &,Args &&)", "", "1", "T", "Argument[-1].Element.Field[std::pair::second]", "manual"] + - ["std", "unordered_map", True, "try_emplace", "(const Key &,Args &&)", "", "1", "T", "ReturnValue.Field[std::pair::first].Element.Field[std::pair::second]", "manual"] + - ["std", "unordered_map", True, "try_emplace", "(Key &&,Args &&)", "", "1", "T", "Argument[-1].Element.Field[std::pair::second]", "manual"] + - ["std", "unordered_map", True, "try_emplace", "(Key &&,Args &&)", "", "1", "T", "ReturnValue.Field[std::pair::first].Element.Field[std::pair::second]", "manual"] + - ["std", "unordered_map", True, "try_emplace", "(const_iterator,Key &&,Args &&)", "", "2", "T", "Argument[-1].Element.Field[std::pair::second]", "manual"] + - ["std", "unordered_map", True, "try_emplace", "(const_iterator,Key &&,Args &&)", "", "2", "T", "ReturnValue.Element.Field[std::pair::second]", "manual"] + - ["std", "unordered_map", True, "try_emplace", "(const_iterator,const Key &,Args &&)", "", "2", "T", "Argument[-1].Element.Field[std::pair::second]", "manual"] + - ["std", "unordered_map", True, "try_emplace", "(const_iterator,const Key &,Args &&)", "", "2", "T", "ReturnValue.Element.Field[std::pair::second]", "manual"] \ No newline at end of file diff --git a/cpp/ql/lib/ext/std.vector.model.yml b/cpp/ql/lib/ext/std.vector.model.yml index 71d5aafb5f66..ffb3c7933ad7 100644 --- a/cpp/ql/lib/ext/std.vector.model.yml +++ b/cpp/ql/lib/ext/std.vector.model.yml @@ -10,30 +10,6 @@ extensions: - ["std", "vector", True, "begin", "", "", "Argument[-1].Element[@]", "ReturnValue.Element[@]", "value", "manual"] - ["std", "vector", True, "cbegin", "", "", "Argument[-1].Element[@]", "ReturnValue.Element[@]", "value", "manual"] - ["std", "vector", True, "data", "", "", "Argument[-1].Element[@]", "ReturnValue[*@]", "value", "manual"] - - ["std", "vector", True, "emplace", "", "", "Argument[*@1]", "Argument[-1].Element[@]", "value", "manual"] - - ["std", "vector", True, "emplace", "", "", "Argument[*@1]", "ReturnValue.Element[@]", "value", "manual"] - - ["std", "vector", True, "emplace", "", "", "Argument[*@2]", "Argument[-1].Element[@]", "value", "manual"] - - ["std", "vector", True, "emplace", "", "", "Argument[*@2]", "ReturnValue.Element[@]", "value", "manual"] - - ["std", "vector", True, "emplace", "", "", "Argument[*@3]", "Argument[-1].Element[@]", "value", "manual"] - - ["std", "vector", True, "emplace", "", "", "Argument[*@3]", "ReturnValue.Element[@]", "value", "manual"] - - ["std", "vector", True, "emplace", "", "", "Argument[*@4]", "Argument[-1].Element[@]", "value", "manual"] - - ["std", "vector", True, "emplace", "", "", "Argument[*@4]", "ReturnValue.Element[@]", "value", "manual"] - - ["std", "vector", True, "emplace", "", "", "Argument[*@5]", "Argument[-1].Element[@]", "value", "manual"] - - ["std", "vector", True, "emplace", "", "", "Argument[*@5]", "ReturnValue.Element[@]", "value", "manual"] - - ["std", "vector", True, "emplace", "", "", "Argument[-1].Element[@]", "ReturnValue.Element[@]", "value", "manual"] - - ["std", "vector", True, "emplace_back", "", "", "Argument[*@0]", "Argument[-1].Element[@]", "value", "manual"] - - ["std", "vector", True, "emplace_back", "", "", "Argument[*@0]", "ReturnValue[*@]", "value", "manual"] - - ["std", "vector", True, "emplace_back", "", "", "Argument[*@1]", "Argument[-1].Element[@]", "value", "manual"] - - ["std", "vector", True, "emplace_back", "", "", "Argument[*@1]", "ReturnValue[*@]", "value", "manual"] - - ["std", "vector", True, "emplace_back", "", "", "Argument[*@2]", "Argument[-1].Element[@]", "value", "manual"] - - ["std", "vector", True, "emplace_back", "", "", "Argument[*@2]", "ReturnValue[*@]", "value", "manual"] - - ["std", "vector", True, "emplace_back", "", "", "Argument[*@3]", "Argument[-1].Element[@]", "value", "manual"] - - ["std", "vector", True, "emplace_back", "", "", "Argument[*@3]", "ReturnValue[*@]", "value", "manual"] - - ["std", "vector", True, "emplace_back", "", "", "Argument[*@4]", "Argument[-1].Element[@]", "value", "manual"] - - ["std", "vector", True, "emplace_back", "", "", "Argument[*@4]", "ReturnValue[*@]", "value", "manual"] - - ["std", "vector", True, "emplace_back", "", "", "Argument[*@5]", "Argument[-1].Element[@]", "value", "manual"] - - ["std", "vector", True, "emplace_back", "", "", "Argument[*@5]", "ReturnValue[*@]", "value", "manual"] - - ["std", "vector", True, "emplace_back", "", "", "Argument[-1].Element[@]", "ReturnValue[*@]", "value", "manual"] - ["std", "vector", True, "front", "", "", "Argument[-1].Element[@]", "ReturnValue[*@]", "value", "manual"] - ["std", "vector", True, "insert", "(const_iterator,InputIt,InputIt)", "", "Argument[-1].Element[@]", "ReturnValue.Element[@]", "value", "manual"] - ["std", "vector", True, "insert", "(const_iterator,InputIt,InputIt)", "", "Argument[1].Element[@]", "Argument[-1].Element[@]", "value", "manual"] @@ -58,4 +34,12 @@ extensions: - ["std", "vector", True, "insert", "(const_iterator,size_type,const T &)", "", "Argument[-1].Element[@]", "ReturnValue.Element[@]", "value", "manual"] - ["std", "vector", True, "insert", "(const_iterator,T &&)", "", "Argument[*@1]", "Argument[-1].Element[@]", "value", "manual"] - ["std", "vector", True, "insert", "(const_iterator,T &&)", "", "Argument[*@1]", "ReturnValue.Element[@]", "value", "manual"] - - ["std", "vector", True, "insert", "(const_iterator,T &&)", "", "Argument[-1].Element[@]", "ReturnValue.Element[@]", "value", "manual"] \ No newline at end of file + - ["std", "vector", True, "insert", "(const_iterator,T &&)", "", "Argument[-1].Element[@]", "ReturnValue.Element[@]", "value", "manual"] + - addsTo: + pack: codeql/cpp-all + extensible: forwardsModel + data: # namespace, type, subtypes, name, signature, ext, start, constructor, output, provenance + - ["std", "vector", True, "emplace", "(const_iterator,Args &&)", "", "1", "T", "Argument[-1].Element", "manual"] + - ["std", "vector", True, "emplace", "(const_iterator,Args &&)", "", "1", "T", "ReturnValue.Element", "manual"] + - ["std", "vector", True, "emplace_back", "(Args &&)", "", "0", "T", "Argument[-1].Element", "manual"] + - ["std", "vector", True, "emplace_back", "(Args &&)", "", "0", "T", "ReturnValue[*]", "manual"] \ No newline at end of file diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/ExternalFlow.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/ExternalFlow.qll index 80f296dca483..008a7c51c8e7 100644 --- a/cpp/ql/lib/semmle/code/cpp/dataflow/ExternalFlow.qll +++ b/cpp/ql/lib/semmle/code/cpp/dataflow/ExternalFlow.qll @@ -1088,21 +1088,26 @@ private Type getForwardedConstructorType( Function forwarder, string namespace, string type, boolean subtypes, string name, string signature, string ext, string constructorType ) { - exists(int index | - forwardsModel(namespace, type, subtypes, name, signature, ext, _, constructorType, _, _, _) and - forwarder = interpretElement(namespace, type, subtypes, name, signature, ext) - | - exists(string typeArguments | + forwardsModel(namespace, type, subtypes, name, signature, ext, _, constructorType, _, _, _) and + forwarder = interpretElement(namespace, type, subtypes, name, signature, ext) and + ( + exists(string typeArguments, int index | parseAngles(type, _, typeArguments, "") and constructorType = getAtIndex(typeArguments, index) and result = forwarder.getDeclaringType().getTemplateArgument(index) ) or - exists(string nameArguments | + exists(string nameArguments, int index | parseAngles(name, _, nameArguments, "") and constructorType = getAtIndex(nameArguments, index) and result = forwarder.getTemplateArgument(index) ) + or + exists(TypedefType member | + member = forwarder.getDeclaringType().getAMember() and + member.hasName(constructorType) and + result = member.getUnderlyingType() + ) ) } @@ -1215,6 +1220,7 @@ module ConstructorForwarding { (t1.isVolatile() implies t2.isVolatile()) } + bindingset[arg] private predicate baseTypeCompatible(Type arg, Type param) { param.stripTopLevelSpecifiers() = arg.stripTopLevelSpecifiers().(Class).getABaseClass+() and preservesQualifiers(arg, param) @@ -1224,6 +1230,7 @@ module ConstructorForwarding { private predicate routineType(Type t) { t.stripTopLevelSpecifiers() instanceof RoutineType } + bindingset[arg] private predicate pointerConversion(Cpp::PointerType arg, Cpp::PointerType param) { exists(Type argBase, Type paramBase | argBase = arg.getBaseType() and @@ -1251,6 +1258,7 @@ module ConstructorForwarding { t instanceof RoutineType } + bindingset[t, category] private predicate referenceAcceptsCategory(Cpp::ReferenceType t, ValueCategory category) { if t instanceof Cpp::LValueReferenceType then @@ -1280,19 +1288,13 @@ module ConstructorForwarding { private predicate isUnderlyingType(Type type) { type = type.getUnderlyingType() } - private newtype TTypeState = - MkTypeState(Type type, ValueCategory category, Boolean conversionUsed, Phase phase) { - not type instanceof Cpp::ReferenceType and - not type instanceof FunctionReferenceType and - isUnderlyingType(type) - } - private ValueCategory getCategoryForRef(Cpp::ReferenceType reference) { reference instanceof Cpp::LValueReferenceType and result = LValue() or reference instanceof Cpp::RValueReferenceType and result = XValue() } + bindingset[t] private Type getValueType(Type t, ValueCategory category) { result = t.(FunctionReferenceType).getBaseType().getUnderlyingType() and category = LValue() @@ -1306,71 +1308,33 @@ module ConstructorForwarding { category = PRValue() } - bindingset[arg, param] - pragma[inline_late] + bindingset[arg] private predicate qualificationCompatible(Type arg, Type param) { arg.stripTopLevelSpecifiers() = param.stripTopLevelSpecifiers() and preservesQualifiers(arg, param) } - private class TypeState extends TTypeState { - Type getType() { this = MkTypeState(result, _, _, _) } - - ValueCategory getCategory() { this = MkTypeState(_, result, _, _) } - - Phase getPhase() { this = MkTypeState(_, _, _, result) } - - /** Holds if this state's phase permits a value or base-class conversion. */ - predicate canConvertValue() { - this.getPhase() = Initial() or this.getPhase() = AfterTransformation() - } - - predicate hasNotUsedConversion() { this = MkTypeState(_, _, false, _) } - - string toString() { result = this.getType().toString() } - - predicate isSource(Type argType) { - argType = getForwardedArgumentType(_, _, _) and - exists(ValueCategory category | - this = MkTypeState(getValueType(argType, category), category, false, Initial()) - ) - } - - predicate matchesParameter(Type paramType) { - exists(Type base | base = paramType.(Cpp::ReferenceType).getBaseType() | - qualificationCompatible(this.getType(), base) and - referenceAcceptsCategory(paramType, this.getCategory()) - ) - or - not paramType instanceof Cpp::ReferenceType and - this.getType().stripTopLevelSpecifiers() = paramType.stripTopLevelSpecifiers() - } - - predicate isSink(Type paramType, Cpp::Constructor constructor) { - paramType = getConstructorParameterType(constructor, _) and - this.matchesParameter(paramType) - } + bindingset[argType, category] + private predicate matchesParameter(Type argType, ValueCategory category, Type paramType) { + exists(Type base | base = paramType.(Cpp::ReferenceType).getBaseType() | + qualificationCompatible(argType, base) and + referenceAcceptsCategory(paramType, category) + ) + or + not paramType instanceof Cpp::ReferenceType and + argType.stripTopLevelSpecifiers() = paramType.stripTopLevelSpecifiers() } private Cpp::PointerType pointerType(Type base) { result.getBaseType() = base.getUnderlyingType() } - private predicate arrayToPointerStep(TypeState argState, TypeState paramState) { - exists(Cpp::ArrayType array, boolean conversionUsed | - argState = MkTypeState(array, _, conversionUsed, Initial()) and - paramState = - MkTypeState(pointerType(array.getBaseType()), PRValue(), conversionUsed, - AfterTransformation()) - ) + private predicate arrayToPointerStep(Cpp::ArrayType array, Cpp::PointerType pointer) { + pointer = pointerType(array.getBaseType()) } - private predicate functionToPointerStep(TypeState argState, TypeState paramState) { - exists(RoutineType routine, FunctionPointerType pointer, boolean conversionUsed | - argState = MkTypeState(routine, _, conversionUsed, Initial()) and - routine = pointer.getBaseType().getUnderlyingType() and - paramState = MkTypeState(pointer, PRValue(), conversionUsed, AfterTransformation()) - ) + private predicate functionToPointerStep(RoutineType routine, FunctionPointerType pointer) { + routine = pointer.getBaseType().getUnderlyingType() } private predicate arithmeticConversion(Type t) { @@ -1381,14 +1345,12 @@ module ConstructorForwarding { private predicate hasNoTopLevelSpecifiers(Type type) { type = type.stripTopLevelSpecifiers() } - private predicate valueConversionStep(TypeState argState, TypeState paramState) { - exists(Type argType, Type paramType, boolean conversionUsed | - argState = MkTypeState(_, _, conversionUsed, _) and - argState.canConvertValue() and - argType = argState.getType().stripTopLevelSpecifiers() and + bindingset[type] + private predicate valueConversionStep(Type type, Type paramType) { + exists(Type argType | + argType = type.stripTopLevelSpecifiers() and hasNoTopLevelSpecifiers(paramType) and - argType != paramType and - paramState = MkTypeState(paramType, PRValue(), conversionUsed, AfterValueConversion()) + argType != paramType | paramType instanceof ArithmeticType and arithmeticConversion(argType) @@ -1415,86 +1377,151 @@ module ConstructorForwarding { k = FunPtrKind() } - private predicate pointerQualificationStep(TypeState argState, TypeState paramState) { - exists(Type argType, Type paramType, boolean conversionUsed, PtrKind k | - argState = MkTypeState(_, _, conversionUsed, _) and - argState.getPhase() != AfterQualification() and - argType = argState.getType().stripTopLevelSpecifiers() and + bindingset[type] + private predicate pointerQualificationStep(Type type, Type paramType) { + exists(Type argType, PtrKind k | + argType = type.stripTopLevelSpecifiers() and hasNoTopLevelSpecifiers(paramType) and argType != paramType and - qualificationCompatible(pointerBase(argType, k), pointerBase(paramType, k)) and - paramState = MkTypeState(paramType, PRValue(), conversionUsed, AfterQualification()) + qualificationCompatible(pointerBase(argType, pragma[only_bind_into](k)), + pointerBase(paramType, pragma[only_bind_into](k))) ) } - private predicate baseClassStep(TypeState argState, TypeState paramState) { - exists(Type arg, Type param, ValueCategory category, boolean conversionUsed | - argState = MkTypeState(arg, category, conversionUsed, _) and - argState.canConvertValue() and - baseTypeCompatible(arg, param) and - paramState = MkTypeState(param, category, conversionUsed, AfterValueConversion()) - ) + bindingset[argType] + private predicate baseClassStep(Type argType, Type paramType) { + baseTypeCompatible(argType, paramType) } - private predicate convertingConstructorStep(TypeState argState, TypeState paramState) { + bindingset[argType, argCategory] + private predicate convertingConstructorStep( + Type argType, ValueCategory argCategory, Class paramType + ) { exists(ConvertingConstructor constructor | - argState.hasNotUsedConversion() and - argState.matchesParameter(constructor.getUnderlyingFromType()) and - paramState = MkTypeState(constructor.getDeclaringType(), PRValue(), true, Initial()) + matchesParameter(argType, argCategory, constructor.getUnderlyingFromType()) and + paramType = constructor.getDeclaringType() ) } - private predicate conversionOperatorStep(TypeState argState, TypeState paramState) { - exists(ConversionOperator conversion, ValueCategory category | + bindingset[argType] + private predicate conversionOperatorStep(Type argType, Type paramType, ValueCategory paramCategory) { + exists(ConversionOperator conversion | not conversion.isFromUninstantiatedTemplate(_) and not conversion.isExplicit() and not conversion.isDeleted() and - argState.hasNotUsedConversion() and - conversion.getSourceType() = - argState.getType().stripTopLevelSpecifiers().(Class).getABaseClass*() and - paramState = - MkTypeState(getValueType(conversion.getDestType().getUnderlyingType(), category), category, - true, Initial()) + conversion.getSourceType() = argType.stripTopLevelSpecifiers().(Class).getABaseClass*() and + paramType = getValueType(conversion.getDestType().getUnderlyingType(), paramCategory) ) } - private predicate step(TypeState argState, TypeState paramState) { - arrayToPointerStep(argState, paramState) - or - functionToPointerStep(argState, paramState) - or - valueConversionStep(argState, paramState) - or - pointerQualificationStep(argState, paramState) - or - baseClassStep(argState, paramState) - or - convertingConstructorStep(argState, paramState) - or - conversionOperatorStep(argState, paramState) - } - - private predicate typeFwd(TypeState state) { - state.isSource(_) + bindingset[argType, argCategory, argConversionUsed, argPhase] + pragma[inline_late] + private predicate typeStep( + Type argType, ValueCategory argCategory, boolean argConversionUsed, Phase argPhase, + Type paramType, ValueCategory paramCategory, boolean paramConversionUsed, Phase paramPhase + ) { + paramConversionUsed = argConversionUsed and + ( + argPhase = Initial() and + paramCategory = PRValue() and + paramPhase = AfterTransformation() and + ( + arrayToPointerStep(argType, paramType) + or + functionToPointerStep(argType, paramType) + ) + or + (argPhase = Initial() or argPhase = AfterTransformation()) and + paramPhase = AfterValueConversion() and + ( + valueConversionStep(argType, paramType) and paramCategory = PRValue() + or + baseClassStep(argType, paramType) and paramCategory = argCategory + ) + or + argPhase != AfterQualification() and + pointerQualificationStep(argType, paramType) and + paramCategory = PRValue() and + paramPhase = AfterQualification() + ) or - exists(TypeState previous | - typeFwd(previous) and - step(previous, state) + argConversionUsed = false and + paramConversionUsed = true and + paramPhase = Initial() and + ( + convertingConstructorStep(argType, argCategory, paramType) and paramCategory = PRValue() + or + conversionOperatorStep(argType, paramType, paramCategory) ) } - private predicate typeRev(TypeState state, Cpp::Constructor constructor) { - typeFwd(state) and + private predicate typeFwd(Type type, ValueCategory category, boolean conversionUsed, Phase phase) { + not type instanceof Cpp::ReferenceType and + not type instanceof FunctionReferenceType and + isUnderlyingType(type) and ( - state.isSink(_, constructor) + type = getValueType(getForwardedArgumentType(_, _, _), category) and + conversionUsed = false and + phase = Initial() or - exists(TypeState next | - typeRev(next, constructor) and - step(state, next) + exists( + Type previousType, ValueCategory previousCategory, boolean previousConversionUsed, + Phase previousPhase + | + typeFwd(previousType, previousCategory, previousConversionUsed, previousPhase) and + typeStep(previousType, previousCategory, previousConversionUsed, previousPhase, type, + category, conversionUsed, phase) ) ) } + private newtype TTypeState = + MkTypeState(Type type, ValueCategory category, Boolean conversionUsed, Phase phase) { + typeFwd(type, category, conversionUsed, phase) + } + + private class TypeState extends TTypeState { + Type getType() { this = MkTypeState(result, _, _, _) } + + ValueCategory getCategory() { this = MkTypeState(_, result, _, _) } + + Phase getPhase() { this = MkTypeState(_, _, _, result) } + + string toString() { result = this.getType().toString() } + + predicate isSource(Type argType) { + argType = getForwardedArgumentType(_, _, _) and + exists(ValueCategory category | + this = MkTypeState(getValueType(argType, category), category, false, Initial()) + ) + } + + predicate isSink(Type paramType, Cpp::Constructor constructor) { + paramType = getConstructorParameterType(constructor, _) and + matchesParameter(this.getType(), this.getCategory(), paramType) + } + } + + private predicate step(TypeState argState, TypeState paramState) { + exists( + Type t1, Type t2, ValueCategory vc1, ValueCategory vc2, boolean b1, boolean b2, Phase p1, + Phase p2 + | + argState = MkTypeState(t1, vc1, b1, p1) and + paramState = MkTypeState(t2, vc2, b2, p2) and + typeStep(t1, vc1, b1, p1, t2, vc2, b2, p2) + ) + } + + private predicate typeRev(TypeState state, Cpp::Constructor constructor) { + state.isSink(_, constructor) + or + exists(TypeState next | + typeRev(next, constructor) and + step(state, next) + ) + } + private predicate prunedStep(TypeState argState, TypeState paramState) { exists(Cpp::Constructor constructor | typeRev(argState, constructor) and diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/ExprNodes.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/ExprNodes.qll index 927d2ea90288..d4b30c346bd4 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/ExprNodes.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/ExprNodes.qll @@ -246,7 +246,30 @@ private module Cached { /** Holds if `node` should be an `IndirectOperand` that maps `node.asExpr()` to `e`. */ private predicate exprNodeShouldBeIndirectOperand(IndirectOperand node, Expr e, int n) { - exists(ArgumentOperand operand | + exists(ArgumentOperand operand | isIndirectOperandOfArgument(node, operand, e, n) | + // If `x` has type `Foo` in a call such `x.f()` the `VariableAddress` + // instruction (which is of type `glvalue`) is the qualifier. + // So the `DataFlow::Node` we want to represent `x` is the indirection of + // the qualifier (which will then have type `Foo`). + // Since the node -> expression mapping is one-to-many we additionally need to + // check that the specific expression we map to is also a glvalue. For example, + // in `(*x).f()` the qualifier generates IR like: + // ``` + // r1(glval) = VariableAddress[x] : + // r2(Foo *) = Load[x] : &:r1 + // r3(glval) = CopyValue : r2 + // ``` + // The qualifier is associated with both `*x` and the lvalue-to-rvalue + // conversion of `x`. Only `*x` is a glvalue and should map to the + // indirect qualifier node; the converted `x` is a pointer prvalue and + // should map to the direct qualifier node. Restricting `e` to only be + // expressions for which `e.isGLValueCategory()` holds ensures that `*x` + // is the result of calling `asExpr()` while `asIndirectExpr()` gives + // `x`. + operand.isGLValue() and + operand instanceof ThisArgumentOperand and + e.isGLValueCategory() + or // When an argument (qualifier or positional) is a prvalue and the // parameter (qualifier or positional) is a (const) reference, IR // construction introduces a temporary `IRVariable`. The `VariableAddress` @@ -254,7 +277,6 @@ private module Cached { // result. However, the instruction actually represents the _address_ of // the argument. So to fix this mismatch, we have the indirection of the // `VariableAddressInstruction` map to the expression. - isIndirectOperandOfArgument(node, operand, e, n) and irTempOperandConversionFlows(operand) ) } diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/TaintTrackingUtil.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/TaintTrackingUtil.qll index 84c0a92ec8e6..73063e5406cd 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/TaintTrackingUtil.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/TaintTrackingUtil.qll @@ -165,7 +165,11 @@ predicate defaultAdditionalTaintStep(DataFlow::Node src, DataFlow::Node sink, st bindingset[node] predicate defaultImplicitTaintRead(DataFlow::Node node, DataFlow::ContentSet c) { node instanceof ArgumentNode and - c.isSingleton(any(ElementContent ec)) + ( + c.isSingleton(any(ElementContent ec)) + or + c.isSingleton(any(FieldContent fc | fc.getField().hasName("second"))) + ) } /** diff --git a/cpp/ql/lib/semmle/code/cpp/models/implementations/StdMap.qll b/cpp/ql/lib/semmle/code/cpp/models/implementations/StdMap.qll index 5d2133b6f450..e6c2013d2e8c 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/implementations/StdMap.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/implementations/StdMap.qll @@ -2,8 +2,6 @@ * Provides models for C++ containers `std::map` and `std::unordered_map`. */ -import semmle.code.cpp.models.interfaces.Taint -import semmle.code.cpp.models.interfaces.DataFlow import semmle.code.cpp.models.interfaces.Iterator import semmle.code.cpp.models.interfaces.SideEffect import semmle.code.cpp.models.interfaces.Alias @@ -18,9 +16,7 @@ private class MapOrUnorderedMap extends Class { /** * Additional model for map constructors using iterator inputs. */ -private class StdMapConstructor extends Constructor, TaintFunction, AliasFunction, - SideEffectFunction -{ +private class StdMapConstructor extends Constructor, AliasFunction, SideEffectFunction { StdMapConstructor() { this.getDeclaringType() instanceof MapOrUnorderedMap } /** @@ -30,16 +26,6 @@ private class StdMapConstructor extends Constructor, TaintFunction, AliasFunctio this.getParameter(result).getUnspecifiedType() instanceof Iterator } - override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) { - // taint flow from any parameter of an iterator type to the qualifier - input.isParameterDeref(this.getAnIteratorParameterIndex()) and - ( - output.isReturnValue() // TODO: this is only needed for AST data flow, which treats constructors as returning the new object - or - output.isQualifierObject() - ) - } - override predicate hasOnlySpecificReadSideEffects() { any() } override predicate hasOnlySpecificWriteSideEffects() { any() } @@ -58,95 +44,6 @@ private class StdMapConstructor extends Constructor, TaintFunction, AliasFunctio } } -/** - * The standard map `insert` and `insert_or_assign` functions. - */ -private class StdMapInsert extends TaintFunction { - StdMapInsert() { - this.getClassAndName(["insert", "insert_or_assign"]) instanceof MapOrUnorderedMap - } - - override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) { - // flow from last parameter to qualifier and return value - // (where the return value is a pair, this should really flow just to the first part of it) - input.isParameterDeref(this.getNumberOfParameters() - 1) and - ( - output.isQualifierObject() or - output.isReturnValue() - ) - } - - override predicate isPartialWrite(FunctionOutput output) { output.isQualifierObject() } -} - -/** - * The standard map `emplace` and `emplace_hint` functions. - */ -private class StdMapEmplace extends TaintFunction { - StdMapEmplace() { this.getClassAndName(["emplace", "emplace_hint"]) instanceof MapOrUnorderedMap } - - override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) { - // flow from the last parameter (which may be the value part used to - // construct a pair, or a pair to be copied / moved) to the qualifier and - // return value. - // (where the return value is a pair, this should really flow just to the first part of it) - input.isParameterDeref(this.getNumberOfParameters() - 1) and - ( - output.isQualifierObject() or - output.isReturnValue() - ) - or - input.isQualifierObject() and - output.isReturnValue() - } - - override predicate isPartialWrite(FunctionOutput output) { output.isQualifierObject() } -} - -/** - * The standard map `try_emplace` function. - */ -private class StdMapTryEmplace extends TaintFunction { - StdMapTryEmplace() { this.getClassAndName("try_emplace") instanceof MapOrUnorderedMap } - - override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) { - // flow from any parameter apart from the key to qualifier and return value - // (here we assume taint flow from any constructor parameter to the constructed object) - // (where the return value is a pair, this should really flow just to the first part of it) - exists(int arg | arg = [1 .. this.getNumberOfParameters() - 1] | - ( - not this.getUnspecifiedType() instanceof Iterator or - arg != 1 - ) and - input.isParameterDeref(arg) - ) and - ( - output.isQualifierObject() or - output.isReturnValue() - ) - or - input.isQualifierObject() and - output.isReturnValue() - } - - override predicate isPartialWrite(FunctionOutput output) { output.isQualifierObject() } -} - -/** - * The standard map `merge` function. - */ -private class StdMapMerge extends TaintFunction { - StdMapMerge() { this.getClassAndName("merge") instanceof MapOrUnorderedMap } - - override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) { - // container1.merge(container2) - input.isParameterDeref(0) and - output.isQualifierObject() - } - - override predicate isPartialWrite(FunctionOutput output) { output.isQualifierObject() } -} - /** * The standard map functions `at` and `operator[]`. */ @@ -154,17 +51,7 @@ class StdMapAt extends MemberFunction { StdMapAt() { this.getClassAndName(["at", "operator[]"]) instanceof MapOrUnorderedMap } } -private class StdMapAtModels extends StdMapAt, TaintFunction, AliasFunction, SideEffectFunction { - override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) { - // flow from qualifier to referenced return value - input.isQualifierObject() and - output.isReturnValueDeref() - or - // reverse flow from returned reference to the qualifier - input.isReturnValueDeref() and - output.isQualifierObject() - } - +private class StdMapAtModels extends StdMapAt, AliasFunction, SideEffectFunction { override predicate hasOnlySpecificReadSideEffects() { any() } override predicate hasOnlySpecificWriteSideEffects() { any() } @@ -176,49 +63,6 @@ private class StdMapAtModels extends StdMapAt, TaintFunction, AliasFunction, Sid override predicate hasSpecificReadSideEffect(ParameterIndex i, boolean buffer) { i = -1 and buffer = false } - - override predicate isPartialWrite(FunctionOutput output) { output.isQualifierObject() } -} - -/** - * The standard map `find` function. - */ -private class StdMapFind extends TaintFunction { - StdMapFind() { this.getClassAndName("find") instanceof MapOrUnorderedMap } - - override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) { - input.isQualifierObject() and - output.isReturnValue() - } -} - -/** - * The standard map `erase` function. - */ -private class StdMapErase extends TaintFunction { - StdMapErase() { this.getClassAndName("erase") instanceof MapOrUnorderedMap } - - override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) { - // flow from qualifier to iterator return value - this.getType().getUnderlyingType() instanceof Iterator and - input.isQualifierObject() and - output.isReturnValue() - } -} - -/** - * The standard map `lower_bound`, `upper_bound` and `equal_range` functions. - */ -private class StdMapEqualRange extends TaintFunction { - StdMapEqualRange() { - this.getClassAndName(["lower_bound", "upper_bound", "equal_range"]) instanceof MapOrUnorderedMap - } - - override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) { - // flow from qualifier to return value - input.isQualifierObject() and - output.isReturnValue() - } } class StdMapDestructor extends Destructor, SideEffectFunction, AliasFunction { diff --git a/cpp/ql/lib/semmle/code/cpp/models/implementations/StdPair.qll b/cpp/ql/lib/semmle/code/cpp/models/implementations/StdPair.qll index 54b6719e289f..06106c6f3a25 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/implementations/StdPair.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/implementations/StdPair.qll @@ -18,30 +18,18 @@ private class StdPair extends ClassTemplateInstantiation { * instantiation of `std::pair`. These constructors allow conversion between pair types when the * underlying element types are convertible. */ -class StdPairCopyishConstructor extends Constructor, TaintFunction { +class StdPairCopyishConstructor extends Constructor { StdPairCopyishConstructor() { this.getDeclaringType() instanceof StdPair and this.getNumberOfParameters() = 1 and this.getParameter(0).getUnspecifiedType().(ReferenceType).getBaseType() instanceof StdPair } - - override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) { - // taint flow from the source object to the constructed object - input.isParameterDeref(0) and - ( - output.isReturnValue() - or - output.isQualifierObject() - ) - } } /** * Additional model for `std::pair` constructors. */ -private class StdPairConstructor extends Constructor, TaintFunction, AliasFunction, - SideEffectFunction -{ +private class StdPairConstructor extends Constructor, AliasFunction, SideEffectFunction { StdPairConstructor() { this.getDeclaringType() instanceof StdPair } /** @@ -53,17 +41,6 @@ private class StdPairConstructor extends Constructor, TaintFunction, AliasFuncti this.getDeclaringType().getTemplateArgument(_).(Type).getUnspecifiedType() // i.e. the `T1` or `T2` of this `std::pair` } - override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) { - // taint flow from second parameter of a value type to the qualifier - this.getAValueTypeParameterIndex() = 1 and - input.isParameterDeref(1) and - ( - output.isReturnValue() // TODO: this is only needed for AST data flow, which treats constructors as returning the new object - or - output.isQualifierObject() - ) - } - override predicate parameterNeverEscapes(int index) { index = -1 } override predicate parameterEscapesOnlyViaReturn(int index) { none() } diff --git a/cpp/ql/lib/semmle/code/cpp/models/implementations/StdString.qll b/cpp/ql/lib/semmle/code/cpp/models/implementations/StdString.qll index 00dc8d26ad39..f46abf325cc1 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/implementations/StdString.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/implementations/StdString.qll @@ -35,43 +35,6 @@ private class StdBasicStringIterator extends Iterator, Type { } } -/** - * A `std::string` function for which taint should be propagated. - */ -abstract private class StdStringTaintFunction extends TaintFunction { - /** - * Gets the index of a parameter to this function that is a string. - */ - final int getAStringParameterIndex() { - exists(Type paramType | paramType = this.getParameter(result).getUnspecifiedType() | - // e.g. `std::basic_string::CharT *` - paramType instanceof PointerType - or - // e.g. `std::basic_string &`, avoiding `const Allocator&` - paramType instanceof ReferenceType and - not paramType.(ReferenceType).getBaseType() = - this.getDeclaringType().getTemplateArgument(2).(Type).getUnspecifiedType() - ) - } - - /** - * Gets the index of a parameter to this function that is a character. - */ - final int getACharParameterIndex() { - exists(Type paramType | paramType = this.getParameter(result).getUnspecifiedType() | - // i.e. `std::basic_string::CharT` - paramType = this.getDeclaringType().getTemplateArgument(0).(Type).getUnspecifiedType() - ) - } - - /** - * Gets the index of a parameter to this function that is an iterator. - */ - final int getAnIteratorParameterIndex() { - this.getParameter(result).getUnspecifiedType() instanceof Iterator - } -} - /** * Additional model for `std::string` constructors that reference the character * type of the container, or an iterator. For example construction from @@ -80,25 +43,9 @@ abstract private class StdStringTaintFunction extends TaintFunction { * std::string b(a.begin(), a.end()); * ``` */ -private class StdStringConstructor extends Constructor, StdStringTaintFunction, SideEffectFunction, - AliasFunction -{ +private class StdStringConstructor extends Constructor, SideEffectFunction, AliasFunction { StdStringConstructor() { this.getDeclaringType() instanceof StdBasicString } - override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) { - // taint flow from any parameter of the value type to the returned object - ( - input.isParameterDeref(this.getAStringParameterIndex()) or - input.isParameter(this.getACharParameterIndex()) or - input.isParameter(this.getAnIteratorParameterIndex()) - ) and - ( - output.isReturnValue() // TODO: this is only needed for AST data flow, which treats constructors as returning the new object - or - output.isQualifierObject() - ) - } - override predicate parameterNeverEscapes(int index) { index = -1 } override predicate parameterEscapesOnlyViaReturn(int index) { none() } @@ -143,14 +90,6 @@ class StdStringCStr extends MemberFunction { StdStringCStr() { this.getClassAndName("c_str") instanceof StdBasicString } } -private class StdStringCStrModel extends StdStringCStr, StdStringTaintFunction { - override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) { - // flow from string itself (qualifier) to return value - input.isQualifierObject() and - output.isReturnValueDeref() - } -} - /** * The `std::string` function `data`. */ @@ -158,67 +97,15 @@ class StdStringData extends MemberFunction { StdStringData() { this.getClassAndName("data") instanceof StdBasicString } } -private class StdStringDataModel extends StdStringData, StdStringTaintFunction { - override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) { - // flow from string itself (qualifier) to return value - input.isQualifierObject() and - output.isReturnValueDeref() - or - // reverse flow from returned reference to the qualifier (for writes to - // `data`) - input.isReturnValueDeref() and - output.isQualifierObject() - } - - override predicate isPartialWrite(FunctionOutput output) { output.isQualifierObject() } -} - -/** - * The `std::string` function `push_back`. - */ -private class StdStringPush extends StdStringTaintFunction { - StdStringPush() { this.getClassAndName("push_back") instanceof StdBasicString } - - override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) { - // flow from parameter to qualifier - input.isParameter(0) and - output.isQualifierObject() - } - - override predicate isPartialWrite(FunctionOutput output) { output.isQualifierObject() } -} - -/** - * The `std::string` functions `front` and `back`. - */ -private class StdStringFrontBack extends StdStringTaintFunction { - StdStringFrontBack() { this.getClassAndName(["front", "back"]) instanceof StdBasicString } - - override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) { - // flow from object to returned reference - input.isQualifierObject() and - output.isReturnValueDeref() - } -} - /** * The (non-member) `std::string` function `operator+`. */ -private class StdStringPlus extends StdStringTaintFunction, SideEffectFunction, AliasFunction { +private class StdStringPlus extends SideEffectFunction, AliasFunction { StdStringPlus() { this.hasQualifiedName(["std", "bsl"], "operator+") and this.getUnspecifiedType() instanceof StdBasicString } - override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) { - // flow from parameters to return value - ( - input.isParameterDeref(0) or - input.isParameterDeref(1) - ) and - output.isReturnValue() - } - override predicate hasOnlySpecificReadSideEffects() { any() } override predicate hasOnlySpecificWriteSideEffects() { any() } @@ -241,32 +128,11 @@ private class StdStringPlus extends StdStringTaintFunction, SideEffectFunction, * All of these functions combine the existing string with a new * string (or character) from one of the arguments. */ -private class StdStringAppend extends StdStringTaintFunction, SideEffectFunction, AliasFunction { +private class StdStringAppend extends SideEffectFunction, AliasFunction { StdStringAppend() { this.getClassAndName(["operator+=", "append", "replace"]) instanceof StdBasicString } - override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) { - // flow from string and parameter to string (qualifier) and return value - ( - input.isQualifierObject() or - input.isParameterDeref(this.getAStringParameterIndex()) or - input.isParameter(this.getACharParameterIndex()) or - input.isParameter(this.getAnIteratorParameterIndex()) - ) and - ( - output.isQualifierObject() or - output.isReturnValueDeref() - ) - or - // reverse flow from returned reference to the qualifier (for writes to - // the result) - input.isReturnValueDeref() and - output.isQualifierObject() - } - - override predicate isPartialWrite(FunctionOutput output) { output.isQualifierObject() } - override predicate hasOnlySpecificReadSideEffects() { any() } override predicate hasOnlySpecificWriteSideEffects() { any() } @@ -284,110 +150,12 @@ private class StdStringAppend extends StdStringTaintFunction, SideEffectFunction override predicate parameterEscapesOnlyViaReturn(int index) { none() } } -/** - * The `std::string` function `insert`. - */ -private class StdStringInsert extends StdStringTaintFunction { - StdStringInsert() { this.getClassAndName("insert") instanceof StdBasicString } - - /** - * Holds if the return type is an iterator. - */ - predicate hasIteratorReturnValue() { this.getType() instanceof Iterator } - - override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) { - // flow from string and parameter to string (qualifier) and return value - ( - input.isQualifierObject() or - input.isParameterDeref(this.getAStringParameterIndex()) or - input.isParameter(this.getACharParameterIndex()) or - input.isParameter(this.getAnIteratorParameterIndex()) - ) and - ( - output.isQualifierObject() - or - if this.hasIteratorReturnValue() then output.isReturnValue() else output.isReturnValueDeref() - ) - or - // reverse flow from returned reference to the qualifier (for writes to - // the result) - not this.hasIteratorReturnValue() and - input.isReturnValueDeref() and - output.isQualifierObject() - } - - override predicate isPartialWrite(FunctionOutput output) { output.isQualifierObject() } -} - -/** - * The standard function `std::string.assign`. - */ -private class StdStringAssign extends StdStringTaintFunction { - StdStringAssign() { this.getClassAndName("assign") instanceof StdBasicString } - - override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) { - // flow from parameter to string itself (qualifier) and return value - ( - input.isParameterDeref(this.getAStringParameterIndex()) or - input.isParameter(this.getACharParameterIndex()) or - input.isParameter(this.getAnIteratorParameterIndex()) - ) and - ( - output.isQualifierObject() or - output.isReturnValueDeref() - ) - or - // reverse flow from returned reference to the qualifier (for writes to - // the result) - input.isReturnValueDeref() and - output.isQualifierObject() - } -} - -/** - * The standard function `std::string.copy`. - */ -private class StdStringCopy extends StdStringTaintFunction { - StdStringCopy() { this.getClassAndName("copy") instanceof StdBasicString } - - override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) { - // copy(dest, num, pos) - input.isQualifierObject() and - output.isParameterDeref(0) - } -} - -/** - * The standard function `std::string.substr`. - */ -private class StdStringSubstr extends StdStringTaintFunction { - StdStringSubstr() { this.getClassAndName("substr") instanceof StdBasicString } - - override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) { - // substr(pos, num) - input.isQualifierObject() and - output.isReturnValue() - } -} - /** * The `std::string` functions `at` and `operator[]`. */ -private class StdStringAt extends StdStringTaintFunction, SideEffectFunction, AliasFunction { +private class StdStringAt extends SideEffectFunction, AliasFunction { StdStringAt() { this.getClassAndName(["at", "operator[]"]) instanceof StdBasicString } - override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) { - // flow from qualifier to referenced return value - input.isQualifierObject() and - output.isReturnValueDeref() - or - // reverse flow from returned reference to the qualifier - input.isReturnValueDeref() and - output.isQualifierObject() - } - - override predicate isPartialWrite(FunctionOutput output) { output.isQualifierObject() } - override predicate parameterNeverEscapes(int index) { index = -1 } override predicate parameterEscapesOnlyViaReturn(int index) { none() } diff --git a/cpp/ql/src/Security/CWE/CWE-078/ExecTainted.ql b/cpp/ql/src/Security/CWE/CWE-078/ExecTainted.ql index 0e5f0f36f105..db62eba01b78 100644 --- a/cpp/ql/src/Security/CWE/CWE-078/ExecTainted.ql +++ b/cpp/ql/src/Security/CWE/CWE-078/ExecTainted.ql @@ -50,7 +50,7 @@ predicate interestingConcatenation(DataFlow::Node incoming, DataFlow::Node outgo op.hasQualifiedName("std", "operator+") and op.getType().(UserType).hasQualifiedName("std", "basic_string") and incoming.asIndirectArgument() = call.getArgument(1) and // right operand - call = outgoing.asInstruction().getUnconvertedResultExpression() + call = outgoing.asExpr() ) } diff --git a/cpp/ql/src/Security/CWE/CWE-311/ClearText.qll b/cpp/ql/src/Security/CWE/CWE-311/ClearText.qll new file mode 100644 index 000000000000..32e7f24301ac --- /dev/null +++ b/cpp/ql/src/Security/CWE/CWE-311/ClearText.qll @@ -0,0 +1,37 @@ +private import cpp +private import semmle.code.cpp.dataflow.new.DataFlow + +/** + * Holds if `node` should be a barrier for the CWE-311 queries + * because it is of a non-char integral type. + */ +predicate isBarrier(DataFlow::Node node) { + exists(IntegralType type | + type = node.asCertainDefinition().getUnspecifiedType() and + not type instanceof CharType and + not type instanceof WideCharType and + not type instanceof Char8Type and + not type instanceof Char16Type and + not type instanceof Char32Type + ) +} + +private Expr asExprOrIndirectExpr(DataFlow::Node node, int indirectionIndex) { + indirectionIndex = 0 and + result = node.asExpr() + or + result = node.asIndirectExpr(indirectionIndex) +} + +/** + * Holds if `source` is the relevant `DataFlow::Node` for + * expression `e`. + */ +predicate isSource(DataFlow::Node source, Expr e) { + exists(int indirectionIndex | + e = asExprOrIndirectExpr(source, indirectionIndex) and + if e.getUnspecifiedType() instanceof ReferenceType + then indirectionIndex = 1 + else indirectionIndex = 0 + ) +} diff --git a/cpp/ql/src/Security/CWE/CWE-311/CleartextFileWrite.ql b/cpp/ql/src/Security/CWE/CWE-311/CleartextFileWrite.ql index 17f4b7ae0fdb..83220002e29c 100644 --- a/cpp/ql/src/Security/CWE/CWE-311/CleartextFileWrite.ql +++ b/cpp/ql/src/Security/CWE/CWE-311/CleartextFileWrite.ql @@ -19,6 +19,7 @@ import semmle.code.cpp.ir.dataflow.DataFlow import semmle.code.cpp.valuenumbering.GlobalValueNumbering import semmle.code.cpp.ir.dataflow.TaintTracking import FromSensitiveFlow::PathGraph +import ClearText as ClearText /** * A taint flow configuration for flow from a sensitive expression to a `FileWrite` sink. @@ -28,9 +29,7 @@ module FromSensitiveConfig implements DataFlow::ConfigSig { predicate isSink(DataFlow::Node sink) { isSinkImpl(sink, _, _) } - predicate isBarrier(DataFlow::Node node) { - node.asExpr().getUnspecifiedType() instanceof IntegralType - } + predicate isBarrier = ClearText::isBarrier/1; predicate observeDiffInformedIncrementalMode() { any() } @@ -61,7 +60,7 @@ predicate isSinkImpl(DataFlow::Node sink, FileWrite w, Expr dest) { predicate isSourceImpl(DataFlow::Node source, SensitiveExpr sensitive) { not isFileName(globalValueNumber(sensitive)) and // file names are not passwords - source.asExpr() = sensitive + ClearText::isSource(source, sensitive) } /** diff --git a/cpp/ql/src/Security/CWE/CWE-311/CleartextTransmission.ql b/cpp/ql/src/Security/CWE/CWE-311/CleartextTransmission.ql index 207aec189b2e..1182628cc837 100644 --- a/cpp/ql/src/Security/CWE/CWE-311/CleartextTransmission.ql +++ b/cpp/ql/src/Security/CWE/CWE-311/CleartextTransmission.ql @@ -19,6 +19,7 @@ import semmle.code.cpp.ir.dataflow.TaintTracking import semmle.code.cpp.models.interfaces.FlowSource import semmle.code.cpp.commons.File import FromSensitiveFlow::PathGraph +import ClearText as ClearText class SourceVariable extends Variable { SourceVariable() { @@ -218,12 +219,12 @@ predicate isSinkEncrypt(DataFlow::Node sink, Encrypted enc) { sink.asExpr() = en * function returning sensitive data. */ predicate isSourceImpl(DataFlow::Node source) { - exists(VariableAccess e | - e = source.asExpr() and - e.getTarget() instanceof SourceVariable + exists(Expr e | + e.(VariableAccess).getTarget() instanceof SourceVariable or + e.(FunctionCall).getTarget() instanceof SourceFunction + | + ClearText::isSource(source, e) ) - or - source.asExpr().(FunctionCall).getTarget() instanceof SourceFunction } /** @@ -235,9 +236,7 @@ module FromSensitiveConfig implements DataFlow::ConfigSig { predicate isSink(DataFlow::Node sink) { isSinkSendRecv(sink, _) } - predicate isBarrier(DataFlow::Node node) { - node.asExpr().getUnspecifiedType() instanceof IntegralType - } + predicate isBarrier = ClearText::isBarrier/1; predicate isBarrierIn(DataFlow::Node node) { // As any use of a sensitive variable is a potential source, we need to block flow into @@ -266,9 +265,7 @@ module ToEncryptionConfig implements DataFlow::ConfigSig { predicate isSink(DataFlow::Node sink) { isSinkEncrypt(sink, _) } - predicate isBarrier(DataFlow::Node node) { - node.asExpr().getUnspecifiedType() instanceof IntegralType - } + predicate isBarrier = ClearText::isBarrier/1; predicate isBarrierIn(DataFlow::Node node) { // As any use of a sensitive variable is a potential source, we need to block flow into @@ -291,9 +288,7 @@ module FromEncryptionConfig implements DataFlow::ConfigSig { predicate isSink(DataFlow::Node sink) { FromSensitiveFlow::flowTo(sink) } - predicate isBarrier(DataFlow::Node node) { - node.asExpr().getUnspecifiedType() instanceof IntegralType - } + predicate isBarrier = ClearText::isBarrier/1; predicate observeDiffInformedIncrementalMode() { none() // only used negatively diff --git a/cpp/ql/test/include/type_traits.h b/cpp/ql/test/include/type_traits.h index dba04f36cad6..421ae3bd50cc 100644 --- a/cpp/ql/test/include/type_traits.h +++ b/cpp/ql/test/include/type_traits.h @@ -1,9 +1,10 @@ #if !defined(CODEQL_TYPE_TRAITS_H) #define CODEQL_TYPE_TRAITS_H -typedef unsigned long size_t; +using size_t = decltype(sizeof(0)); namespace std { + using size_t = decltype(sizeof(0)); template struct remove_const { typedef T type; }; diff --git a/cpp/ql/test/library-tests/dataflow/external-models/asio_streams.cpp b/cpp/ql/test/library-tests/dataflow/external-models/asio_streams.cpp index c6b46bf54b15..669c7dba79c5 100644 --- a/cpp/ql/test/library-tests/dataflow/external-models/asio_streams.cpp +++ b/cpp/ql/test/library-tests/dataflow/external-models/asio_streams.cpp @@ -1,17 +1,10 @@ // --- stub library headers --- -#include "std_string.h" +#include "../taint-tests/stl.h" #define SIZE_MAX 0xFFFFFFFF -namespace std { - class string_view { - public: - string_view(const char* s); - }; -}; - namespace boost { namespace system { class error_code { diff --git a/cpp/ql/test/library-tests/dataflow/external-models/azure.cpp b/cpp/ql/test/library-tests/dataflow/external-models/azure.cpp index 14407a8b5bed..99b11f9b33db 100644 --- a/cpp/ql/test/library-tests/dataflow/external-models/azure.cpp +++ b/cpp/ql/test/library-tests/dataflow/external-models/azure.cpp @@ -1,3 +1,4 @@ +#include "../taint-tests/stl.h" using uint16_t = unsigned short; using int64_t = long long; using size_t = unsigned long; @@ -5,51 +6,13 @@ using uint8_t = unsigned char; using int32_t = int; using uint32_t = unsigned int; -namespace std -{ - class string - { - public: - string(); - string(const char *); - ~string(); - }; - - template - class map - { - public: - map(); - ~map(); - - V& operator[](const K& key); - }; - - template - class vector - { - public: - vector(); - ~vector(); - - T& operator[](size_t); - }; - - template - class unique_ptr { - public: - unique_ptr(); - ~unique_ptr(); - - T* get(); - }; -} - namespace Azure { template class Nullable { + T m_value; + public: Nullable(); Nullable(const T); @@ -284,6 +247,7 @@ void test_RawResponse(Azure::Core::Http::RawResponse& resp) { } void test_GetHeader() { + std::pair(); Azure::Core::Http::Request request(Azure::Core::Http::Get, Azure::Core::Url("http://example.com")); { auto headerValue = request.GetHeader("Content-Type").Value(); @@ -294,4 +258,11 @@ void test_GetHeader() { std::string contentType = headers["Content-Type"]; sink(contentType); // $ ir } +} + +void test_QueryParameters() { + Azure::Core::Http::Request request(Azure::Core::Http::Get, Azure::Core::Url("http://example.com")); + Azure::Core::Url url; + url.SetQueryParameters(request.GetHeaders()); + sink(url.GetQueryParameters()["query"]); // $ ir } \ No newline at end of file diff --git a/cpp/ql/test/library-tests/dataflow/external-models/bslx.cpp b/cpp/ql/test/library-tests/dataflow/external-models/bslx.cpp index 10d1179e4c33..22178f3c3e49 100644 --- a/cpp/ql/test/library-tests/dataflow/external-models/bslx.cpp +++ b/cpp/ql/test/library-tests/dataflow/external-models/bslx.cpp @@ -1,20 +1,4 @@ - -// --- stub library headers --- - -namespace std { - typedef unsigned long size_t; - template class allocator {}; - template struct char_traits {}; - template, class Allocator = allocator > - class basic_string { - public: - basic_string(); - basic_string(const charT* s, const Allocator& a = Allocator()); - const charT* data() const; - size_t size() const; - }; - typedef basic_string string; -} +#include "../taint-tests/stl.h" // BDE spells the standard string as `bsl::string`; alias it onto the stub above. namespace bsl { diff --git a/cpp/ql/test/library-tests/dataflow/external-models/flow.expected b/cpp/ql/test/library-tests/dataflow/external-models/flow.expected index 618661341ced..d231b95b0795 100644 --- a/cpp/ql/test/library-tests/dataflow/external-models/flow.expected +++ b/cpp/ql/test/library-tests/dataflow/external-models/flow.expected @@ -50,10 +50,10 @@ models | 49 | Source: ; ; false; ymlSourcePtr; ; ; ReturnValue[*]; local; manual | | 50 | Source: Azure::Core::Http; RawResponse; true; ExtractBodyStream; ; ; ReturnValue[*]; remote; manual | | 51 | Source: Azure::Core::Http; RawResponse; true; GetBody; ; ; ReturnValue[*]; remote; manual | -| 52 | Source: Azure::Core::Http; RawResponse; true; GetHeaders; ; ; ReturnValue[*]; remote; manual | +| 52 | Source: Azure::Core::Http; RawResponse; true; GetHeaders; ; ; ReturnValue[*].Element.Field[std::pair::second]; remote; manual | | 53 | Source: Azure::Core::Http; Request; true; GetBodyStream; ; ; ReturnValue[*]; remote; manual | -| 54 | Source: Azure::Core::Http; Request; true; GetHeader; ; ; ReturnValue; remote; manual | -| 55 | Source: Azure::Core::Http; Request; true; GetHeaders; ; ; ReturnValue; remote; manual | +| 54 | Source: Azure::Core::Http; Request; true; GetHeader; ; ; ReturnValue.Field[Azure::Nullable::m_value]; remote; manual | +| 55 | Source: Azure::Core::Http; Request; true; GetHeaders; ; ; ReturnValue.Element.Field[std::pair::second]; remote; manual | | 56 | Source: boost::asio; ; false; read_until; ; ; Argument[*1]; remote; manual | | 57 | Summary: ; ; false; CLSIDFromProgID; ; ; Argument[*0]; Argument[*1]; taint; manual | | 58 | Summary: ; ; false; CLSIDFromString; ; ; Argument[*0]; Argument[*1]; taint; manual | @@ -96,1120 +96,1732 @@ models | 95 | Summary: Azure::Core::IO; BodyStream; true; Read; ; ; Argument[-1]; Argument[*0]; taint; manual | | 96 | Summary: Azure::Core::IO; BodyStream; true; ReadToCount; ; ; Argument[-1]; Argument[*0]; taint; manual | | 97 | Summary: Azure::Core::IO; BodyStream; true; ReadToEnd; ; ; Argument[-1]; ReturnValue.Element; taint; manual | -| 98 | Summary: Azure; Nullable; true; Value; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 99 | Summary: BloombergLP::balber; BerDecoder; true; decode; ; ; Argument[*0]; Argument[*1]; taint; manual | -| 100 | Summary: BloombergLP::balber; BerDecoder; true; decodeAny; ; ; Argument[*0]; Argument[*1]; taint; manual | -| 101 | Summary: BloombergLP::balber; BerEncoder; true; encode; ; ; Argument[*1]; Argument[*0]; taint; manual | -| 102 | Summary: BloombergLP::balber; BerEncoder; true; encodeAny; ; ; Argument[*1]; Argument[*0]; taint; manual | -| 103 | Summary: BloombergLP::baljsn; Decoder; true; decode; ; ; Argument[*0]; Argument[*1]; taint; manual | -| 104 | Summary: BloombergLP::baljsn; Decoder; true; decodeAny; ; ; Argument[*0]; Argument[*1]; taint; manual | -| 105 | Summary: BloombergLP::baljsn; Encoder; true; encode; ; ; Argument[*1]; Argument[*0]; taint; manual | -| 106 | Summary: BloombergLP::baljsn; Encoder; true; encodeAny; ; ; Argument[*1]; Argument[*0]; taint; manual | -| 107 | Summary: BloombergLP::balxml; Decoder; true; decode; (const char *,size_t,TYPE *,const char *); ; Argument[*0]; Argument[*2]; taint; manual | -| 108 | Summary: BloombergLP::balxml; Decoder; true; decode; (istream &,TYPE *,const char *); ; Argument[*0]; Argument[*1]; taint; manual | -| 109 | Summary: BloombergLP::balxml; Decoder; true; decode; (istream &,TYPE *,const char *); ; Argument[*0]; ReturnValue[*]; taint; manual | -| 110 | Summary: BloombergLP::balxml; Decoder; true; decode; (streambuf *,TYPE *,const char *); ; Argument[*0]; Argument[*1]; taint; manual | -| 111 | Summary: BloombergLP::balxml; Decoder; true; decodeAny; (istream &,AnyRef *,const char *); ; Argument[*0]; Argument[*1]; taint; manual | -| 112 | Summary: BloombergLP::balxml; Decoder; true; decodeAny; (istream &,AnyRef *,const char *); ; Argument[*0]; ReturnValue[*]; taint; manual | -| 113 | Summary: BloombergLP::balxml; Decoder; true; decodeAny; (streambuf *,AnyRef *,const char *); ; Argument[*0]; Argument[*1]; taint; manual | -| 114 | Summary: BloombergLP::balxml; Decoder; true; decodeAny; (istream &,TYPE *,const char *); ; Argument[*0]; Argument[*1]; taint; manual | -| 115 | Summary: BloombergLP::balxml; Decoder; true; decodeAny; (istream &,TYPE *,const char *); ; Argument[*0]; ReturnValue[*]; taint; manual | -| 116 | Summary: BloombergLP::balxml; Decoder; true; decodeAny; (streambuf *,TYPE *,const char *); ; Argument[*0]; Argument[*1]; taint; manual | -| 117 | Summary: BloombergLP::balxml; Encoder; true; encode; (ostream &,const TYPE &); ; Argument[*0..1]; ReturnValue[*]; taint; manual | -| 118 | Summary: BloombergLP::balxml; Encoder; true; encode; (ostream &,const TYPE &); ; Argument[*1]; Argument[*0]; taint; manual | -| 119 | Summary: BloombergLP::balxml; Encoder; true; encode; (streambuf *,const TYPE &); ; Argument[*1]; Argument[*0]; taint; manual | -| 120 | Summary: BloombergLP::balxml; Encoder; true; encodeAny; (ostream &,const AnyConstRef &); ; Argument[*0..1]; ReturnValue[*]; taint; manual | -| 121 | Summary: BloombergLP::balxml; Encoder; true; encodeAny; (ostream &,const AnyConstRef &); ; Argument[*1]; Argument[*0]; taint; manual | -| 122 | Summary: BloombergLP::balxml; Encoder; true; encodeAny; (streambuf *,const AnyConstRef &); ; Argument[*1]; Argument[*0]; taint; manual | -| 123 | Summary: BloombergLP::balxml; Encoder; true; encodeAny; (ostream &,const TYPE &); ; Argument[*0..1]; ReturnValue[*]; taint; manual | -| 124 | Summary: BloombergLP::balxml; Encoder; true; encodeAny; (ostream &,const TYPE &); ; Argument[*1]; Argument[*0]; taint; manual | -| 125 | Summary: BloombergLP::balxml; Encoder; true; encodeAny; (streambuf *,const TYPE &); ; Argument[*1]; Argument[*0]; taint; manual | -| 126 | Summary: BloombergLP::balxml; Encoder; true; encodeAnyToStream; ; ; Argument[*1]; Argument[*0]; taint; manual | -| 127 | Summary: BloombergLP::balxml; Encoder; true; encodeToStream; ; ; Argument[*1]; Argument[*0]; taint; manual | -| 128 | Summary: BloombergLP::bdlbb; Blob; true; buffer; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 129 | Summary: BloombergLP::bdlbb; BlobBuffer; true; buffer; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 130 | Summary: BloombergLP::bdlbb; BlobBuffer; true; data; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 131 | Summary: BloombergLP::bdlbb; BlobUtil; true; copy; (Blob *,int,const Blob &,int,int); ; Argument[*2]; Argument[*0]; taint; manual | -| 132 | Summary: BloombergLP::bdlbb; BlobUtil; true; copy; (Blob *,int,const char *,int); ; Argument[*2]; Argument[*0]; taint; manual | -| 133 | Summary: BloombergLP::bdlbb; BlobUtil; true; copy; (char *,const Blob &,int,int); ; Argument[*1]; Argument[*0]; taint; manual | -| 134 | Summary: BloombergLP::bdlbb; BlobUtil; true; getContiguousRangeOrCopy; ; ; Argument[*1]; ReturnValue[*]; taint; manual | -| 135 | Summary: BloombergLP::bmqa; Message; true; clone; ; ; Argument[-1]; ReturnValue; taint; manual | -| 136 | Summary: BloombergLP::bmqa; Message; true; getData; ; ; Argument[-1]; Argument[*0]; taint; manual | -| 137 | Summary: BloombergLP::bmqa; Message; true; loadProperties; ; ; Argument[-1]; Argument[*0]; taint; manual | -| 138 | Summary: BloombergLP::bmqa; Message; true; setData; ; ; Argument[*0]; Argument[-1]; taint; manual | -| 139 | Summary: BloombergLP::bmqa; Message; true; setDataRef; ; ; Argument[*0]; Argument[-1]; taint; manual | -| 140 | Summary: BloombergLP::bmqa; Message; true; setPropertiesRef; ; ; Argument[*0]; Argument[-1]; taint; manual | -| 141 | Summary: BloombergLP::bmqa; MessageEvent; true; messageIterator; ; ; Argument[-1]; ReturnValue; taint; manual | -| 142 | Summary: BloombergLP::bmqa; MessageIterator; true; message; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 143 | Summary: BloombergLP::bmqa; MessageProperties; true; MessageProperties; (const MessageProperties &,Allocator *); ; Argument[*0]; Argument[-1]; value; manual | -| 144 | Summary: BloombergLP::bmqa; MessageProperties; true; getPropertyAsBinary; ; ; Argument[-1]; ReturnValue[*].Element; taint; manual | -| 145 | Summary: BloombergLP::bmqa; MessageProperties; true; getPropertyAsBinaryOr; ; ; Argument[*1].Element[@]; ReturnValue[*].Element[@]; value; manual | -| 146 | Summary: BloombergLP::bmqa; MessageProperties; true; getPropertyAsBinaryOr; ; ; Argument[-1]; ReturnValue[*].Element; taint; manual | -| 147 | Summary: BloombergLP::bmqa; MessageProperties; true; getPropertyAsString; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 148 | Summary: BloombergLP::bmqa; MessageProperties; true; getPropertyAsStringOr; ; ; Argument[*1]; ReturnValue[*]; value; manual | -| 149 | Summary: BloombergLP::bmqa; MessageProperties; true; getPropertyAsStringOr; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 150 | Summary: BloombergLP::bmqa; MessageProperties; true; operator=; ; ; Argument[*0]; Argument[-1]; value; manual | -| 151 | Summary: BloombergLP::bmqa; MessageProperties; true; operator=; ; ; Argument[*0]; ReturnValue[*]; value; manual | -| 152 | Summary: BloombergLP::bmqa; MessageProperties; true; setPropertyAsBinary; ; ; Argument[0]; Argument[-1]; taint; manual | -| 153 | Summary: BloombergLP::bmqa; MessageProperties; true; setPropertyAsBinary; ; ; Argument[1]; Argument[-1]; taint; manual | -| 154 | Summary: BloombergLP::bmqa; MessageProperties; true; setPropertyAsBool; ; ; Argument[0]; Argument[-1]; taint; manual | -| 155 | Summary: BloombergLP::bmqa; MessageProperties; true; setPropertyAsChar; ; ; Argument[0]; Argument[-1]; taint; manual | -| 156 | Summary: BloombergLP::bmqa; MessageProperties; true; setPropertyAsInt32; ; ; Argument[0]; Argument[-1]; taint; manual | -| 157 | Summary: BloombergLP::bmqa; MessageProperties; true; setPropertyAsInt64; ; ; Argument[0]; Argument[-1]; taint; manual | -| 158 | Summary: BloombergLP::bmqa; MessageProperties; true; setPropertyAsShort; ; ; Argument[0]; Argument[-1]; taint; manual | -| 159 | Summary: BloombergLP::bmqa; MessageProperties; true; setPropertyAsString; ; ; Argument[0]; Argument[-1]; taint; manual | -| 160 | Summary: BloombergLP::bmqa; MessageProperties; true; setPropertyAsString; ; ; Argument[1]; Argument[-1]; taint; manual | -| 161 | Summary: BloombergLP::bmqa; MessageProperties; true; streamIn; ; ; Argument[*0]; Argument[-1]; taint; manual | -| 162 | Summary: BloombergLP::bmqa; MessageProperties; true; streamOut; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 163 | Summary: BloombergLP::bmqa; MessagePropertiesIterator; true; MessagePropertiesIterator; ; ; Argument[*0]; Argument[-1]; taint; manual | -| 164 | Summary: BloombergLP::bmqa; MessagePropertiesIterator; true; getAsBinary; ; ; Argument[-1]; ReturnValue[*].Element; taint; manual | -| 165 | Summary: BloombergLP::bmqa; MessagePropertiesIterator; true; getAsString; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 166 | Summary: BloombergLP::bmqa; MessagePropertiesIterator; true; name; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 167 | Summary: BloombergLP::bmqa; MessagePropertiesIterator; true; operator=; ; ; Argument[*0]; Argument[-1]; value; manual | -| 168 | Summary: BloombergLP::bmqa; MessagePropertiesIterator; true; operator=; ; ; Argument[*0]; ReturnValue[*]; value; manual | -| 169 | Summary: BloombergLP::bslx::InStreamFunctions; ; false; bdexStreamIn; ; ; Argument[*0]; Argument[*1]; taint; manual | -| 170 | Summary: BloombergLP::bslx::InStreamFunctions; ; false; bdexStreamIn; ; ; Argument[*0]; ReturnValue[*]; taint; manual | -| 171 | Summary: BloombergLP::bslx; ByteInStream; true; ByteInStream; ; ; Argument[*0]; Argument[-1]; taint; manual | -| 172 | Summary: BloombergLP::bslx; ByteInStream; true; getArrayFloat32; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 173 | Summary: BloombergLP::bslx; ByteInStream; true; getArrayFloat64; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 174 | Summary: BloombergLP::bslx; ByteInStream; true; getArrayInt16; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 175 | Summary: BloombergLP::bslx; ByteInStream; true; getArrayInt24; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 176 | Summary: BloombergLP::bslx; ByteInStream; true; getArrayInt32; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 177 | Summary: BloombergLP::bslx; ByteInStream; true; getArrayInt40; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 178 | Summary: BloombergLP::bslx; ByteInStream; true; getArrayInt48; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 179 | Summary: BloombergLP::bslx; ByteInStream; true; getArrayInt56; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 180 | Summary: BloombergLP::bslx; ByteInStream; true; getArrayInt64; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 181 | Summary: BloombergLP::bslx; ByteInStream; true; getArrayInt8; ; ; Argument[-1]; Argument[*0]; taint; manual | -| 182 | Summary: BloombergLP::bslx; ByteInStream; true; getArrayInt8; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 183 | Summary: BloombergLP::bslx; ByteInStream; true; getArrayUint16; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 184 | Summary: BloombergLP::bslx; ByteInStream; true; getArrayUint24; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 185 | Summary: BloombergLP::bslx; ByteInStream; true; getArrayUint32; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 186 | Summary: BloombergLP::bslx; ByteInStream; true; getArrayUint40; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 187 | Summary: BloombergLP::bslx; ByteInStream; true; getArrayUint48; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 188 | Summary: BloombergLP::bslx; ByteInStream; true; getArrayUint56; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 189 | Summary: BloombergLP::bslx; ByteInStream; true; getArrayUint64; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 190 | Summary: BloombergLP::bslx; ByteInStream; true; getArrayUint8; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 191 | Summary: BloombergLP::bslx; ByteInStream; true; getFloat32; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 192 | Summary: BloombergLP::bslx; ByteInStream; true; getFloat64; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 193 | Summary: BloombergLP::bslx; ByteInStream; true; getInt16; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 194 | Summary: BloombergLP::bslx; ByteInStream; true; getInt24; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 195 | Summary: BloombergLP::bslx; ByteInStream; true; getInt32; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 196 | Summary: BloombergLP::bslx; ByteInStream; true; getInt40; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 197 | Summary: BloombergLP::bslx; ByteInStream; true; getInt48; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 198 | Summary: BloombergLP::bslx; ByteInStream; true; getInt56; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 199 | Summary: BloombergLP::bslx; ByteInStream; true; getInt64; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 200 | Summary: BloombergLP::bslx; ByteInStream; true; getInt8; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 201 | Summary: BloombergLP::bslx; ByteInStream; true; getLength; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 202 | Summary: BloombergLP::bslx; ByteInStream; true; getString; ; ; Argument[-1]; Argument[*0]; taint; manual | -| 203 | Summary: BloombergLP::bslx; ByteInStream; true; getString; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 204 | Summary: BloombergLP::bslx; ByteInStream; true; getUint16; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 205 | Summary: BloombergLP::bslx; ByteInStream; true; getUint24; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 206 | Summary: BloombergLP::bslx; ByteInStream; true; getUint32; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 207 | Summary: BloombergLP::bslx; ByteInStream; true; getUint40; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 208 | Summary: BloombergLP::bslx; ByteInStream; true; getUint48; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 209 | Summary: BloombergLP::bslx; ByteInStream; true; getUint56; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 210 | Summary: BloombergLP::bslx; ByteInStream; true; getUint64; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 211 | Summary: BloombergLP::bslx; ByteInStream; true; getUint8; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 212 | Summary: BloombergLP::bslx; ByteInStream; true; getVersion; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 213 | Summary: BloombergLP::bslx; ByteInStream; true; reset; (const StringRef &); ; Argument[*0]; Argument[-1]; taint; manual | -| 214 | Summary: BloombergLP::bslx; ByteInStream; true; reset; (const char *,size_t); ; Argument[*0]; Argument[-1]; taint; manual | -| 215 | Summary: BloombergLP::bslx; GenericInStream; true; GenericInStream; ; ; Argument[*0]; Argument[-1]; taint; manual | -| 216 | Summary: BloombergLP::bslx; GenericInStream; true; getArrayFloat32; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 217 | Summary: BloombergLP::bslx; GenericInStream; true; getArrayFloat64; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 218 | Summary: BloombergLP::bslx; GenericInStream; true; getArrayInt16; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 219 | Summary: BloombergLP::bslx; GenericInStream; true; getArrayInt24; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 220 | Summary: BloombergLP::bslx; GenericInStream; true; getArrayInt32; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 221 | Summary: BloombergLP::bslx; GenericInStream; true; getArrayInt40; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 222 | Summary: BloombergLP::bslx; GenericInStream; true; getArrayInt48; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 223 | Summary: BloombergLP::bslx; GenericInStream; true; getArrayInt56; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 224 | Summary: BloombergLP::bslx; GenericInStream; true; getArrayInt64; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 225 | Summary: BloombergLP::bslx; GenericInStream; true; getArrayInt8; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 226 | Summary: BloombergLP::bslx; GenericInStream; true; getArrayUint16; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 227 | Summary: BloombergLP::bslx; GenericInStream; true; getArrayUint24; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 228 | Summary: BloombergLP::bslx; GenericInStream; true; getArrayUint32; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 229 | Summary: BloombergLP::bslx; GenericInStream; true; getArrayUint40; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 230 | Summary: BloombergLP::bslx; GenericInStream; true; getArrayUint48; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 231 | Summary: BloombergLP::bslx; GenericInStream; true; getArrayUint56; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 232 | Summary: BloombergLP::bslx; GenericInStream; true; getArrayUint64; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 233 | Summary: BloombergLP::bslx; GenericInStream; true; getArrayUint8; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 234 | Summary: BloombergLP::bslx; GenericInStream; true; getFloat32; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 235 | Summary: BloombergLP::bslx; GenericInStream; true; getFloat64; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 236 | Summary: BloombergLP::bslx; GenericInStream; true; getInt16; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 237 | Summary: BloombergLP::bslx; GenericInStream; true; getInt24; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 238 | Summary: BloombergLP::bslx; GenericInStream; true; getInt32; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 239 | Summary: BloombergLP::bslx; GenericInStream; true; getInt40; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 240 | Summary: BloombergLP::bslx; GenericInStream; true; getInt48; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 241 | Summary: BloombergLP::bslx; GenericInStream; true; getInt56; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 242 | Summary: BloombergLP::bslx; GenericInStream; true; getInt64; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 243 | Summary: BloombergLP::bslx; GenericInStream; true; getInt8; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 244 | Summary: BloombergLP::bslx; GenericInStream; true; getLength; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 245 | Summary: BloombergLP::bslx; GenericInStream; true; getString; ; ; Argument[-1]; Argument[*0]; taint; manual | -| 246 | Summary: BloombergLP::bslx; GenericInStream; true; getString; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 247 | Summary: BloombergLP::bslx; GenericInStream; true; getUint16; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 248 | Summary: BloombergLP::bslx; GenericInStream; true; getUint24; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 249 | Summary: BloombergLP::bslx; GenericInStream; true; getUint32; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 250 | Summary: BloombergLP::bslx; GenericInStream; true; getUint40; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 251 | Summary: BloombergLP::bslx; GenericInStream; true; getUint48; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 252 | Summary: BloombergLP::bslx; GenericInStream; true; getUint56; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 253 | Summary: BloombergLP::bslx; GenericInStream; true; getUint64; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 254 | Summary: BloombergLP::bslx; GenericInStream; true; getUint8; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 255 | Summary: BloombergLP::bslx; GenericInStream; true; getVersion; ; ; Argument[-1]; ReturnValue[*]; taint; manual | -| 256 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const InternetProtocol &,const string &,const string &); ; Argument[*1..2]; ReturnValue; taint; manual | -| 257 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const InternetProtocol &,const string &,const string &,error_code &); ; Argument[*1..2]; ReturnValue; taint; manual | -| 258 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const InternetProtocol &,const string &,const string &,flags); ; Argument[*1..2]; ReturnValue; taint; manual | -| 259 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const InternetProtocol &,const string &,const string &,flags,error_code &); ; Argument[*1..2]; ReturnValue; taint; manual | -| 260 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const InternetProtocol &,string_view,string_view); ; Argument[1..2]; ReturnValue; taint; manual | -| 261 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const InternetProtocol &,string_view,string_view,error_code &); ; Argument[1..2]; ReturnValue; taint; manual | -| 262 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const InternetProtocol &,string_view,string_view,flags); ; Argument[1..2]; ReturnValue; taint; manual | -| 263 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const InternetProtocol &,string_view,string_view,flags,error_code &); ; Argument[1..2]; ReturnValue; taint; manual | -| 264 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const string &,const string &); ; Argument[*0..1]; ReturnValue; taint; manual | -| 265 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const string &,const string &,error_code &); ; Argument[*0..1]; ReturnValue; taint; manual | -| 266 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const string &,const string &,flags); ; Argument[*0..1]; ReturnValue; taint; manual | -| 267 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const string &,const string &,flags,error_code &); ; Argument[*0..1]; ReturnValue; taint; manual | -| 268 | Summary: boost::asio::ip; basic_resolver; false; resolve; (string_view,string_view); ; Argument[0..1]; ReturnValue; taint; manual | -| 269 | Summary: boost::asio::ip; basic_resolver; false; resolve; (string_view,string_view,error_code &); ; Argument[0..1]; ReturnValue; taint; manual | -| 270 | Summary: boost::asio::ip; basic_resolver; false; resolve; (string_view,string_view,flags); ; Argument[0..1]; ReturnValue; taint; manual | -| 271 | Summary: boost::asio::ip; basic_resolver; false; resolve; (string_view,string_view,flags,error_code &); ; Argument[0..1]; ReturnValue; taint; manual | -| 272 | Summary: boost::asio; ; false; buffer; ; ; Argument[*0]; ReturnValue; taint; manual | -| 273 | Summary: bsl; vector; true; data; ; ; Argument[-1].Element[@]; ReturnValue[*@]; value; manual | -| 274 | Summary: bsl; vector; true; operator[]; ; ; Argument[-1].Element[@]; ReturnValue[*@]; value; manual | -| 275 | Summary: bsl; vector; true; push_back; ; ; Argument[*@0]; Argument[-1].Element[@]; value; manual | -| 276 | Summary: google::protobuf; MessageLite; true; AppendPartialToCord; ; ; Argument[-1]; Argument[*0]; taint; manual | -| 277 | Summary: google::protobuf; MessageLite; true; AppendPartialToString; ; ; Argument[-1]; Argument[*0]; taint; manual | -| 278 | Summary: google::protobuf; MessageLite; true; AppendToCord; ; ; Argument[-1]; Argument[*0]; taint; manual | -| 279 | Summary: google::protobuf; MessageLite; true; AppendToString; ; ; Argument[-1]; Argument[*0]; taint; manual | -| 280 | Summary: google::protobuf; MessageLite; true; MergeFromBoundedZeroCopyStream; ; ; Argument[*0]; Argument[-1]; taint; manual | -| 281 | Summary: google::protobuf; MessageLite; true; MergeFromCodedStream; ; ; Argument[*0]; Argument[-1]; taint; manual | -| 282 | Summary: google::protobuf; MessageLite; true; MergeFromCord; ; ; Argument[*0]; Argument[-1]; taint; manual | -| 283 | Summary: google::protobuf; MessageLite; true; MergeFromString; (const Cord &); ; Argument[*0]; Argument[-1]; taint; manual | -| 284 | Summary: google::protobuf; MessageLite; true; MergeFromString; (string_view); ; Argument[0]; Argument[-1]; taint; manual | -| 285 | Summary: google::protobuf; MessageLite; true; MergePartialFromBoundedZeroCopyStream; ; ; Argument[*0]; Argument[-1]; taint; manual | -| 286 | Summary: google::protobuf; MessageLite; true; MergePartialFromCodedStream; ; ; Argument[*0]; Argument[-1]; taint; manual | -| 287 | Summary: google::protobuf; MessageLite; true; MergePartialFromCord; ; ; Argument[*0]; Argument[-1]; taint; manual | -| 288 | Summary: google::protobuf; MessageLite; true; MergePartialFromString; (const Cord &); ; Argument[*0]; Argument[-1]; taint; manual | -| 289 | Summary: google::protobuf; MessageLite; true; MergePartialFromString; (string_view); ; Argument[0]; Argument[-1]; taint; manual | -| 290 | Summary: google::protobuf; MessageLite; true; ParseFromArray; ; ; Argument[*0]; Argument[-1]; taint; manual | -| 291 | Summary: google::protobuf; MessageLite; true; ParseFromBoundedZeroCopyStream; ; ; Argument[*0]; Argument[-1]; taint; manual | -| 292 | Summary: google::protobuf; MessageLite; true; ParseFromCodedStream; ; ; Argument[*0]; Argument[-1]; taint; manual | -| 293 | Summary: google::protobuf; MessageLite; true; ParseFromCord; ; ; Argument[*0]; Argument[-1]; taint; manual | -| 294 | Summary: google::protobuf; MessageLite; true; ParseFromIstream; ; ; Argument[*0]; Argument[-1]; taint; manual | -| 295 | Summary: google::protobuf; MessageLite; true; ParseFromString; (const Cord &); ; Argument[*0]; Argument[-1]; taint; manual | -| 296 | Summary: google::protobuf; MessageLite; true; ParseFromString; (string_view); ; Argument[0]; Argument[-1]; taint; manual | -| 297 | Summary: google::protobuf; MessageLite; true; ParseFromZeroCopyStream; ; ; Argument[*0]; Argument[-1]; taint; manual | -| 298 | Summary: google::protobuf; MessageLite; true; ParsePartialFromArray; ; ; Argument[*0]; Argument[-1]; taint; manual | -| 299 | Summary: google::protobuf; MessageLite; true; ParsePartialFromBoundedZeroCopyStream; ; ; Argument[*0]; Argument[-1]; taint; manual | -| 300 | Summary: google::protobuf; MessageLite; true; ParsePartialFromCodedStream; ; ; Argument[*0]; Argument[-1]; taint; manual | -| 301 | Summary: google::protobuf; MessageLite; true; ParsePartialFromCord; ; ; Argument[*0]; Argument[-1]; taint; manual | -| 302 | Summary: google::protobuf; MessageLite; true; ParsePartialFromIstream; ; ; Argument[*0]; Argument[-1]; taint; manual | -| 303 | Summary: google::protobuf; MessageLite; true; ParsePartialFromString; (const Cord &); ; Argument[*0]; Argument[-1]; taint; manual | -| 304 | Summary: google::protobuf; MessageLite; true; ParsePartialFromString; (string_view); ; Argument[0]; Argument[-1]; taint; manual | -| 305 | Summary: google::protobuf; MessageLite; true; ParsePartialFromZeroCopyStream; ; ; Argument[*0]; Argument[-1]; taint; manual | -| 306 | Summary: google::protobuf; MessageLite; true; SerializeAsCord; ; ; Argument[-1]; ReturnValue; taint; manual | -| 307 | Summary: google::protobuf; MessageLite; true; SerializeAsString; ; ; Argument[-1]; ReturnValue; taint; manual | -| 308 | Summary: google::protobuf; MessageLite; true; SerializePartialAsCord; ; ; Argument[-1]; ReturnValue; taint; manual | -| 309 | Summary: google::protobuf; MessageLite; true; SerializePartialAsString; ; ; Argument[-1]; ReturnValue; taint; manual | -| 310 | Summary: google::protobuf; MessageLite; true; SerializePartialToArray; ; ; Argument[-1]; Argument[*0]; taint; manual | -| 311 | Summary: google::protobuf; MessageLite; true; SerializePartialToCodedStream; ; ; Argument[-1]; Argument[*0]; taint; manual | -| 312 | Summary: google::protobuf; MessageLite; true; SerializePartialToCord; ; ; Argument[-1]; Argument[*0]; taint; manual | -| 313 | Summary: google::protobuf; MessageLite; true; SerializePartialToOstream; ; ; Argument[-1]; Argument[*0]; taint; manual | -| 314 | Summary: google::protobuf; MessageLite; true; SerializePartialToString; ; ; Argument[-1]; Argument[*0]; taint; manual | -| 315 | Summary: google::protobuf; MessageLite; true; SerializePartialToZeroCopyStream; ; ; Argument[-1]; Argument[*0]; taint; manual | -| 316 | Summary: google::protobuf; MessageLite; true; SerializeToArray; ; ; Argument[-1]; Argument[*0]; taint; manual | -| 317 | Summary: google::protobuf; MessageLite; true; SerializeToCodedStream; ; ; Argument[-1]; Argument[*0]; taint; manual | -| 318 | Summary: google::protobuf; MessageLite; true; SerializeToCord; ; ; Argument[-1]; Argument[*0]; taint; manual | -| 319 | Summary: google::protobuf; MessageLite; true; SerializeToOstream; ; ; Argument[-1]; Argument[*0]; taint; manual | -| 320 | Summary: google::protobuf; MessageLite; true; SerializeToString; ; ; Argument[-1]; Argument[*0]; taint; manual | -| 321 | Summary: google::protobuf; MessageLite; true; SerializeToZeroCopyStream; ; ; Argument[-1]; Argument[*0]; taint; manual | +| 98 | Summary: Azure::Core; Url; true; GetQueryParameters; ; ; Argument[-1]; ReturnValue.Element.Field[std::pair::second]; taint; manual | +| 99 | Summary: Azure::Core; Url; true; SetQueryParameters; ; ; Argument[0].Element.Field[std::pair::second]; Argument[-1]; taint; manual | +| 100 | Summary: Azure; Nullable; true; Value; ; ; Argument[-1].Field[@Azure::Nullable::m_value]; ReturnValue[*@]; value; manual | +| 101 | Summary: BloombergLP::balber; BerDecoder; true; decode; ; ; Argument[*0]; Argument[*1]; taint; manual | +| 102 | Summary: BloombergLP::balber; BerDecoder; true; decodeAny; ; ; Argument[*0]; Argument[*1]; taint; manual | +| 103 | Summary: BloombergLP::balber; BerEncoder; true; encode; ; ; Argument[*1]; Argument[*0]; taint; manual | +| 104 | Summary: BloombergLP::balber; BerEncoder; true; encodeAny; ; ; Argument[*1]; Argument[*0]; taint; manual | +| 105 | Summary: BloombergLP::baljsn; Decoder; true; decode; ; ; Argument[*0]; Argument[*1]; taint; manual | +| 106 | Summary: BloombergLP::baljsn; Decoder; true; decodeAny; ; ; Argument[*0]; Argument[*1]; taint; manual | +| 107 | Summary: BloombergLP::baljsn; Encoder; true; encode; ; ; Argument[*1]; Argument[*0]; taint; manual | +| 108 | Summary: BloombergLP::baljsn; Encoder; true; encodeAny; ; ; Argument[*1]; Argument[*0]; taint; manual | +| 109 | Summary: BloombergLP::balxml; Decoder; true; decode; (const char *,size_t,TYPE *,const char *); ; Argument[*0]; Argument[*2]; taint; manual | +| 110 | Summary: BloombergLP::balxml; Decoder; true; decode; (istream &,TYPE *,const char *); ; Argument[*0]; Argument[*1]; taint; manual | +| 111 | Summary: BloombergLP::balxml; Decoder; true; decode; (istream &,TYPE *,const char *); ; Argument[*0]; ReturnValue[*]; taint; manual | +| 112 | Summary: BloombergLP::balxml; Decoder; true; decode; (streambuf *,TYPE *,const char *); ; Argument[*0]; Argument[*1]; taint; manual | +| 113 | Summary: BloombergLP::balxml; Decoder; true; decodeAny; (istream &,AnyRef *,const char *); ; Argument[*0]; Argument[*1]; taint; manual | +| 114 | Summary: BloombergLP::balxml; Decoder; true; decodeAny; (istream &,AnyRef *,const char *); ; Argument[*0]; ReturnValue[*]; taint; manual | +| 115 | Summary: BloombergLP::balxml; Decoder; true; decodeAny; (streambuf *,AnyRef *,const char *); ; Argument[*0]; Argument[*1]; taint; manual | +| 116 | Summary: BloombergLP::balxml; Decoder; true; decodeAny; (istream &,TYPE *,const char *); ; Argument[*0]; Argument[*1]; taint; manual | +| 117 | Summary: BloombergLP::balxml; Decoder; true; decodeAny; (istream &,TYPE *,const char *); ; Argument[*0]; ReturnValue[*]; taint; manual | +| 118 | Summary: BloombergLP::balxml; Decoder; true; decodeAny; (streambuf *,TYPE *,const char *); ; Argument[*0]; Argument[*1]; taint; manual | +| 119 | Summary: BloombergLP::balxml; Encoder; true; encode; (ostream &,const TYPE &); ; Argument[*0..1]; ReturnValue[*]; taint; manual | +| 120 | Summary: BloombergLP::balxml; Encoder; true; encode; (ostream &,const TYPE &); ; Argument[*1]; Argument[*0]; taint; manual | +| 121 | Summary: BloombergLP::balxml; Encoder; true; encode; (streambuf *,const TYPE &); ; Argument[*1]; Argument[*0]; taint; manual | +| 122 | Summary: BloombergLP::balxml; Encoder; true; encodeAny; (ostream &,const AnyConstRef &); ; Argument[*0..1]; ReturnValue[*]; taint; manual | +| 123 | Summary: BloombergLP::balxml; Encoder; true; encodeAny; (ostream &,const AnyConstRef &); ; Argument[*1]; Argument[*0]; taint; manual | +| 124 | Summary: BloombergLP::balxml; Encoder; true; encodeAny; (streambuf *,const AnyConstRef &); ; Argument[*1]; Argument[*0]; taint; manual | +| 125 | Summary: BloombergLP::balxml; Encoder; true; encodeAny; (ostream &,const TYPE &); ; Argument[*0..1]; ReturnValue[*]; taint; manual | +| 126 | Summary: BloombergLP::balxml; Encoder; true; encodeAny; (ostream &,const TYPE &); ; Argument[*1]; Argument[*0]; taint; manual | +| 127 | Summary: BloombergLP::balxml; Encoder; true; encodeAny; (streambuf *,const TYPE &); ; Argument[*1]; Argument[*0]; taint; manual | +| 128 | Summary: BloombergLP::balxml; Encoder; true; encodeAnyToStream; ; ; Argument[*1]; Argument[*0]; taint; manual | +| 129 | Summary: BloombergLP::balxml; Encoder; true; encodeToStream; ; ; Argument[*1]; Argument[*0]; taint; manual | +| 130 | Summary: BloombergLP::bdlbb; Blob; true; buffer; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 131 | Summary: BloombergLP::bdlbb; BlobBuffer; true; buffer; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 132 | Summary: BloombergLP::bdlbb; BlobBuffer; true; data; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 133 | Summary: BloombergLP::bdlbb; BlobUtil; true; copy; (Blob *,int,const Blob &,int,int); ; Argument[*2]; Argument[*0]; taint; manual | +| 134 | Summary: BloombergLP::bdlbb; BlobUtil; true; copy; (Blob *,int,const char *,int); ; Argument[*2]; Argument[*0]; taint; manual | +| 135 | Summary: BloombergLP::bdlbb; BlobUtil; true; copy; (char *,const Blob &,int,int); ; Argument[*1]; Argument[*0]; taint; manual | +| 136 | Summary: BloombergLP::bdlbb; BlobUtil; true; getContiguousRangeOrCopy; ; ; Argument[*1]; ReturnValue[*]; taint; manual | +| 137 | Summary: BloombergLP::bmqa; Message; true; clone; ; ; Argument[-1]; ReturnValue; taint; manual | +| 138 | Summary: BloombergLP::bmqa; Message; true; getData; ; ; Argument[-1]; Argument[*0]; taint; manual | +| 139 | Summary: BloombergLP::bmqa; Message; true; loadProperties; ; ; Argument[-1]; Argument[*0]; taint; manual | +| 140 | Summary: BloombergLP::bmqa; Message; true; setData; ; ; Argument[*0]; Argument[-1]; taint; manual | +| 141 | Summary: BloombergLP::bmqa; Message; true; setDataRef; ; ; Argument[*0]; Argument[-1]; taint; manual | +| 142 | Summary: BloombergLP::bmqa; Message; true; setPropertiesRef; ; ; Argument[*0]; Argument[-1]; taint; manual | +| 143 | Summary: BloombergLP::bmqa; MessageEvent; true; messageIterator; ; ; Argument[-1]; ReturnValue; taint; manual | +| 144 | Summary: BloombergLP::bmqa; MessageIterator; true; message; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 145 | Summary: BloombergLP::bmqa; MessageProperties; true; MessageProperties; (const MessageProperties &,Allocator *); ; Argument[*0]; Argument[-1]; value; manual | +| 146 | Summary: BloombergLP::bmqa; MessageProperties; true; getPropertyAsBinary; ; ; Argument[-1]; ReturnValue[*].Element; taint; manual | +| 147 | Summary: BloombergLP::bmqa; MessageProperties; true; getPropertyAsBinaryOr; ; ; Argument[*1].Element[@]; ReturnValue[*].Element[@]; value; manual | +| 148 | Summary: BloombergLP::bmqa; MessageProperties; true; getPropertyAsBinaryOr; ; ; Argument[-1]; ReturnValue[*].Element; taint; manual | +| 149 | Summary: BloombergLP::bmqa; MessageProperties; true; getPropertyAsString; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 150 | Summary: BloombergLP::bmqa; MessageProperties; true; getPropertyAsStringOr; ; ; Argument[*1]; ReturnValue[*]; value; manual | +| 151 | Summary: BloombergLP::bmqa; MessageProperties; true; getPropertyAsStringOr; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 152 | Summary: BloombergLP::bmqa; MessageProperties; true; operator=; ; ; Argument[*0]; Argument[-1]; value; manual | +| 153 | Summary: BloombergLP::bmqa; MessageProperties; true; operator=; ; ; Argument[*0]; ReturnValue[*]; value; manual | +| 154 | Summary: BloombergLP::bmqa; MessageProperties; true; setPropertyAsBinary; ; ; Argument[0]; Argument[-1]; taint; manual | +| 155 | Summary: BloombergLP::bmqa; MessageProperties; true; setPropertyAsBinary; ; ; Argument[1]; Argument[-1]; taint; manual | +| 156 | Summary: BloombergLP::bmqa; MessageProperties; true; setPropertyAsBool; ; ; Argument[0]; Argument[-1]; taint; manual | +| 157 | Summary: BloombergLP::bmqa; MessageProperties; true; setPropertyAsChar; ; ; Argument[0]; Argument[-1]; taint; manual | +| 158 | Summary: BloombergLP::bmqa; MessageProperties; true; setPropertyAsInt32; ; ; Argument[0]; Argument[-1]; taint; manual | +| 159 | Summary: BloombergLP::bmqa; MessageProperties; true; setPropertyAsInt64; ; ; Argument[0]; Argument[-1]; taint; manual | +| 160 | Summary: BloombergLP::bmqa; MessageProperties; true; setPropertyAsShort; ; ; Argument[0]; Argument[-1]; taint; manual | +| 161 | Summary: BloombergLP::bmqa; MessageProperties; true; setPropertyAsString; ; ; Argument[0]; Argument[-1]; taint; manual | +| 162 | Summary: BloombergLP::bmqa; MessageProperties; true; setPropertyAsString; ; ; Argument[1]; Argument[-1]; taint; manual | +| 163 | Summary: BloombergLP::bmqa; MessageProperties; true; streamIn; ; ; Argument[*0]; Argument[-1]; taint; manual | +| 164 | Summary: BloombergLP::bmqa; MessageProperties; true; streamOut; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 165 | Summary: BloombergLP::bmqa; MessagePropertiesIterator; true; MessagePropertiesIterator; ; ; Argument[*0]; Argument[-1]; taint; manual | +| 166 | Summary: BloombergLP::bmqa; MessagePropertiesIterator; true; getAsBinary; ; ; Argument[-1]; ReturnValue[*].Element; taint; manual | +| 167 | Summary: BloombergLP::bmqa; MessagePropertiesIterator; true; getAsString; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 168 | Summary: BloombergLP::bmqa; MessagePropertiesIterator; true; name; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 169 | Summary: BloombergLP::bmqa; MessagePropertiesIterator; true; operator=; ; ; Argument[*0]; Argument[-1]; value; manual | +| 170 | Summary: BloombergLP::bmqa; MessagePropertiesIterator; true; operator=; ; ; Argument[*0]; ReturnValue[*]; value; manual | +| 171 | Summary: BloombergLP::bslx::InStreamFunctions; ; false; bdexStreamIn; ; ; Argument[*0]; Argument[*1]; taint; manual | +| 172 | Summary: BloombergLP::bslx::InStreamFunctions; ; false; bdexStreamIn; ; ; Argument[*0]; ReturnValue[*]; taint; manual | +| 173 | Summary: BloombergLP::bslx; ByteInStream; true; ByteInStream; ; ; Argument[*0]; Argument[-1]; taint; manual | +| 174 | Summary: BloombergLP::bslx; ByteInStream; true; getArrayFloat32; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 175 | Summary: BloombergLP::bslx; ByteInStream; true; getArrayFloat64; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 176 | Summary: BloombergLP::bslx; ByteInStream; true; getArrayInt16; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 177 | Summary: BloombergLP::bslx; ByteInStream; true; getArrayInt24; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 178 | Summary: BloombergLP::bslx; ByteInStream; true; getArrayInt32; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 179 | Summary: BloombergLP::bslx; ByteInStream; true; getArrayInt40; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 180 | Summary: BloombergLP::bslx; ByteInStream; true; getArrayInt48; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 181 | Summary: BloombergLP::bslx; ByteInStream; true; getArrayInt56; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 182 | Summary: BloombergLP::bslx; ByteInStream; true; getArrayInt64; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 183 | Summary: BloombergLP::bslx; ByteInStream; true; getArrayInt8; ; ; Argument[-1]; Argument[*0]; taint; manual | +| 184 | Summary: BloombergLP::bslx; ByteInStream; true; getArrayInt8; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 185 | Summary: BloombergLP::bslx; ByteInStream; true; getArrayUint16; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 186 | Summary: BloombergLP::bslx; ByteInStream; true; getArrayUint24; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 187 | Summary: BloombergLP::bslx; ByteInStream; true; getArrayUint32; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 188 | Summary: BloombergLP::bslx; ByteInStream; true; getArrayUint40; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 189 | Summary: BloombergLP::bslx; ByteInStream; true; getArrayUint48; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 190 | Summary: BloombergLP::bslx; ByteInStream; true; getArrayUint56; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 191 | Summary: BloombergLP::bslx; ByteInStream; true; getArrayUint64; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 192 | Summary: BloombergLP::bslx; ByteInStream; true; getArrayUint8; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 193 | Summary: BloombergLP::bslx; ByteInStream; true; getFloat32; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 194 | Summary: BloombergLP::bslx; ByteInStream; true; getFloat64; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 195 | Summary: BloombergLP::bslx; ByteInStream; true; getInt16; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 196 | Summary: BloombergLP::bslx; ByteInStream; true; getInt24; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 197 | Summary: BloombergLP::bslx; ByteInStream; true; getInt32; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 198 | Summary: BloombergLP::bslx; ByteInStream; true; getInt40; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 199 | Summary: BloombergLP::bslx; ByteInStream; true; getInt48; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 200 | Summary: BloombergLP::bslx; ByteInStream; true; getInt56; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 201 | Summary: BloombergLP::bslx; ByteInStream; true; getInt64; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 202 | Summary: BloombergLP::bslx; ByteInStream; true; getInt8; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 203 | Summary: BloombergLP::bslx; ByteInStream; true; getLength; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 204 | Summary: BloombergLP::bslx; ByteInStream; true; getString; ; ; Argument[-1]; Argument[*0]; taint; manual | +| 205 | Summary: BloombergLP::bslx; ByteInStream; true; getString; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 206 | Summary: BloombergLP::bslx; ByteInStream; true; getUint16; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 207 | Summary: BloombergLP::bslx; ByteInStream; true; getUint24; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 208 | Summary: BloombergLP::bslx; ByteInStream; true; getUint32; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 209 | Summary: BloombergLP::bslx; ByteInStream; true; getUint40; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 210 | Summary: BloombergLP::bslx; ByteInStream; true; getUint48; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 211 | Summary: BloombergLP::bslx; ByteInStream; true; getUint56; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 212 | Summary: BloombergLP::bslx; ByteInStream; true; getUint64; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 213 | Summary: BloombergLP::bslx; ByteInStream; true; getUint8; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 214 | Summary: BloombergLP::bslx; ByteInStream; true; getVersion; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 215 | Summary: BloombergLP::bslx; ByteInStream; true; reset; (const StringRef &); ; Argument[*0]; Argument[-1]; taint; manual | +| 216 | Summary: BloombergLP::bslx; ByteInStream; true; reset; (const char *,size_t); ; Argument[*0]; Argument[-1]; taint; manual | +| 217 | Summary: BloombergLP::bslx; GenericInStream; true; GenericInStream; ; ; Argument[*0]; Argument[-1]; taint; manual | +| 218 | Summary: BloombergLP::bslx; GenericInStream; true; getArrayFloat32; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 219 | Summary: BloombergLP::bslx; GenericInStream; true; getArrayFloat64; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 220 | Summary: BloombergLP::bslx; GenericInStream; true; getArrayInt16; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 221 | Summary: BloombergLP::bslx; GenericInStream; true; getArrayInt24; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 222 | Summary: BloombergLP::bslx; GenericInStream; true; getArrayInt32; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 223 | Summary: BloombergLP::bslx; GenericInStream; true; getArrayInt40; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 224 | Summary: BloombergLP::bslx; GenericInStream; true; getArrayInt48; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 225 | Summary: BloombergLP::bslx; GenericInStream; true; getArrayInt56; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 226 | Summary: BloombergLP::bslx; GenericInStream; true; getArrayInt64; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 227 | Summary: BloombergLP::bslx; GenericInStream; true; getArrayInt8; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 228 | Summary: BloombergLP::bslx; GenericInStream; true; getArrayUint16; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 229 | Summary: BloombergLP::bslx; GenericInStream; true; getArrayUint24; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 230 | Summary: BloombergLP::bslx; GenericInStream; true; getArrayUint32; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 231 | Summary: BloombergLP::bslx; GenericInStream; true; getArrayUint40; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 232 | Summary: BloombergLP::bslx; GenericInStream; true; getArrayUint48; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 233 | Summary: BloombergLP::bslx; GenericInStream; true; getArrayUint56; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 234 | Summary: BloombergLP::bslx; GenericInStream; true; getArrayUint64; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 235 | Summary: BloombergLP::bslx; GenericInStream; true; getArrayUint8; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 236 | Summary: BloombergLP::bslx; GenericInStream; true; getFloat32; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 237 | Summary: BloombergLP::bslx; GenericInStream; true; getFloat64; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 238 | Summary: BloombergLP::bslx; GenericInStream; true; getInt16; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 239 | Summary: BloombergLP::bslx; GenericInStream; true; getInt24; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 240 | Summary: BloombergLP::bslx; GenericInStream; true; getInt32; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 241 | Summary: BloombergLP::bslx; GenericInStream; true; getInt40; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 242 | Summary: BloombergLP::bslx; GenericInStream; true; getInt48; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 243 | Summary: BloombergLP::bslx; GenericInStream; true; getInt56; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 244 | Summary: BloombergLP::bslx; GenericInStream; true; getInt64; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 245 | Summary: BloombergLP::bslx; GenericInStream; true; getInt8; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 246 | Summary: BloombergLP::bslx; GenericInStream; true; getLength; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 247 | Summary: BloombergLP::bslx; GenericInStream; true; getString; ; ; Argument[-1]; Argument[*0]; taint; manual | +| 248 | Summary: BloombergLP::bslx; GenericInStream; true; getString; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 249 | Summary: BloombergLP::bslx; GenericInStream; true; getUint16; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 250 | Summary: BloombergLP::bslx; GenericInStream; true; getUint24; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 251 | Summary: BloombergLP::bslx; GenericInStream; true; getUint32; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 252 | Summary: BloombergLP::bslx; GenericInStream; true; getUint40; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 253 | Summary: BloombergLP::bslx; GenericInStream; true; getUint48; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 254 | Summary: BloombergLP::bslx; GenericInStream; true; getUint56; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 255 | Summary: BloombergLP::bslx; GenericInStream; true; getUint64; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 256 | Summary: BloombergLP::bslx; GenericInStream; true; getUint8; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 257 | Summary: BloombergLP::bslx; GenericInStream; true; getVersion; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 258 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const InternetProtocol &,const string &,const string &); ; Argument[*1..2]; ReturnValue; taint; manual | +| 259 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const InternetProtocol &,const string &,const string &,error_code &); ; Argument[*1..2]; ReturnValue; taint; manual | +| 260 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const InternetProtocol &,const string &,const string &,flags); ; Argument[*1..2]; ReturnValue; taint; manual | +| 261 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const InternetProtocol &,const string &,const string &,flags,error_code &); ; Argument[*1..2]; ReturnValue; taint; manual | +| 262 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const InternetProtocol &,string_view,string_view); ; Argument[1..2]; ReturnValue; taint; manual | +| 263 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const InternetProtocol &,string_view,string_view,error_code &); ; Argument[1..2]; ReturnValue; taint; manual | +| 264 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const InternetProtocol &,string_view,string_view,flags); ; Argument[1..2]; ReturnValue; taint; manual | +| 265 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const InternetProtocol &,string_view,string_view,flags,error_code &); ; Argument[1..2]; ReturnValue; taint; manual | +| 266 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const string &,const string &); ; Argument[*0..1]; ReturnValue; taint; manual | +| 267 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const string &,const string &,error_code &); ; Argument[*0..1]; ReturnValue; taint; manual | +| 268 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const string &,const string &,flags); ; Argument[*0..1]; ReturnValue; taint; manual | +| 269 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const string &,const string &,flags,error_code &); ; Argument[*0..1]; ReturnValue; taint; manual | +| 270 | Summary: boost::asio::ip; basic_resolver; false; resolve; (string_view,string_view); ; Argument[0..1]; ReturnValue; taint; manual | +| 271 | Summary: boost::asio::ip; basic_resolver; false; resolve; (string_view,string_view,error_code &); ; Argument[0..1]; ReturnValue; taint; manual | +| 272 | Summary: boost::asio::ip; basic_resolver; false; resolve; (string_view,string_view,flags); ; Argument[0..1]; ReturnValue; taint; manual | +| 273 | Summary: boost::asio::ip; basic_resolver; false; resolve; (string_view,string_view,flags,error_code &); ; Argument[0..1]; ReturnValue; taint; manual | +| 274 | Summary: boost::asio; ; false; buffer; ; ; Argument[*0]; ReturnValue; taint; manual | +| 275 | Summary: bsl; basic_string; true; data; ; ; Argument[-1]; ReturnValue[*]; value; manual | +| 276 | Summary: bsl; basic_string; true; data; ; ; ReturnValue[*]; Argument[-1]; value; manual | +| 277 | Summary: bsl; vector; true; data; ; ; Argument[-1].Element[@]; ReturnValue[*@]; value; manual | +| 278 | Summary: bsl; vector; true; operator[]; ; ; Argument[-1].Element[@]; ReturnValue[*@]; value; manual | +| 279 | Summary: bsl; vector; true; push_back; ; ; Argument[*@0]; Argument[-1].Element[@]; value; manual | +| 280 | Summary: google::protobuf; MessageLite; true; AppendPartialToCord; ; ; Argument[-1]; Argument[*0]; taint; manual | +| 281 | Summary: google::protobuf; MessageLite; true; AppendPartialToString; ; ; Argument[-1]; Argument[*0]; taint; manual | +| 282 | Summary: google::protobuf; MessageLite; true; AppendToCord; ; ; Argument[-1]; Argument[*0]; taint; manual | +| 283 | Summary: google::protobuf; MessageLite; true; AppendToString; ; ; Argument[-1]; Argument[*0]; taint; manual | +| 284 | Summary: google::protobuf; MessageLite; true; MergeFromBoundedZeroCopyStream; ; ; Argument[*0]; Argument[-1]; taint; manual | +| 285 | Summary: google::protobuf; MessageLite; true; MergeFromCodedStream; ; ; Argument[*0]; Argument[-1]; taint; manual | +| 286 | Summary: google::protobuf; MessageLite; true; MergeFromCord; ; ; Argument[*0]; Argument[-1]; taint; manual | +| 287 | Summary: google::protobuf; MessageLite; true; MergeFromString; (const Cord &); ; Argument[*0]; Argument[-1]; taint; manual | +| 288 | Summary: google::protobuf; MessageLite; true; MergeFromString; (string_view); ; Argument[0]; Argument[-1]; taint; manual | +| 289 | Summary: google::protobuf; MessageLite; true; MergePartialFromBoundedZeroCopyStream; ; ; Argument[*0]; Argument[-1]; taint; manual | +| 290 | Summary: google::protobuf; MessageLite; true; MergePartialFromCodedStream; ; ; Argument[*0]; Argument[-1]; taint; manual | +| 291 | Summary: google::protobuf; MessageLite; true; MergePartialFromCord; ; ; Argument[*0]; Argument[-1]; taint; manual | +| 292 | Summary: google::protobuf; MessageLite; true; MergePartialFromString; (const Cord &); ; Argument[*0]; Argument[-1]; taint; manual | +| 293 | Summary: google::protobuf; MessageLite; true; MergePartialFromString; (string_view); ; Argument[0]; Argument[-1]; taint; manual | +| 294 | Summary: google::protobuf; MessageLite; true; ParseFromArray; ; ; Argument[*0]; Argument[-1]; taint; manual | +| 295 | Summary: google::protobuf; MessageLite; true; ParseFromBoundedZeroCopyStream; ; ; Argument[*0]; Argument[-1]; taint; manual | +| 296 | Summary: google::protobuf; MessageLite; true; ParseFromCodedStream; ; ; Argument[*0]; Argument[-1]; taint; manual | +| 297 | Summary: google::protobuf; MessageLite; true; ParseFromCord; ; ; Argument[*0]; Argument[-1]; taint; manual | +| 298 | Summary: google::protobuf; MessageLite; true; ParseFromIstream; ; ; Argument[*0]; Argument[-1]; taint; manual | +| 299 | Summary: google::protobuf; MessageLite; true; ParseFromString; (const Cord &); ; Argument[*0]; Argument[-1]; taint; manual | +| 300 | Summary: google::protobuf; MessageLite; true; ParseFromString; (string_view); ; Argument[0]; Argument[-1]; taint; manual | +| 301 | Summary: google::protobuf; MessageLite; true; ParseFromZeroCopyStream; ; ; Argument[*0]; Argument[-1]; taint; manual | +| 302 | Summary: google::protobuf; MessageLite; true; ParsePartialFromArray; ; ; Argument[*0]; Argument[-1]; taint; manual | +| 303 | Summary: google::protobuf; MessageLite; true; ParsePartialFromBoundedZeroCopyStream; ; ; Argument[*0]; Argument[-1]; taint; manual | +| 304 | Summary: google::protobuf; MessageLite; true; ParsePartialFromCodedStream; ; ; Argument[*0]; Argument[-1]; taint; manual | +| 305 | Summary: google::protobuf; MessageLite; true; ParsePartialFromCord; ; ; Argument[*0]; Argument[-1]; taint; manual | +| 306 | Summary: google::protobuf; MessageLite; true; ParsePartialFromIstream; ; ; Argument[*0]; Argument[-1]; taint; manual | +| 307 | Summary: google::protobuf; MessageLite; true; ParsePartialFromString; (const Cord &); ; Argument[*0]; Argument[-1]; taint; manual | +| 308 | Summary: google::protobuf; MessageLite; true; ParsePartialFromString; (string_view); ; Argument[0]; Argument[-1]; taint; manual | +| 309 | Summary: google::protobuf; MessageLite; true; ParsePartialFromZeroCopyStream; ; ; Argument[*0]; Argument[-1]; taint; manual | +| 310 | Summary: google::protobuf; MessageLite; true; SerializeAsCord; ; ; Argument[-1]; ReturnValue; taint; manual | +| 311 | Summary: google::protobuf; MessageLite; true; SerializeAsString; ; ; Argument[-1]; ReturnValue; taint; manual | +| 312 | Summary: google::protobuf; MessageLite; true; SerializePartialAsCord; ; ; Argument[-1]; ReturnValue; taint; manual | +| 313 | Summary: google::protobuf; MessageLite; true; SerializePartialAsString; ; ; Argument[-1]; ReturnValue; taint; manual | +| 314 | Summary: google::protobuf; MessageLite; true; SerializePartialToArray; ; ; Argument[-1]; Argument[*0]; taint; manual | +| 315 | Summary: google::protobuf; MessageLite; true; SerializePartialToCodedStream; ; ; Argument[-1]; Argument[*0]; taint; manual | +| 316 | Summary: google::protobuf; MessageLite; true; SerializePartialToCord; ; ; Argument[-1]; Argument[*0]; taint; manual | +| 317 | Summary: google::protobuf; MessageLite; true; SerializePartialToOstream; ; ; Argument[-1]; Argument[*0]; taint; manual | +| 318 | Summary: google::protobuf; MessageLite; true; SerializePartialToString; ; ; Argument[-1]; Argument[*0]; taint; manual | +| 319 | Summary: google::protobuf; MessageLite; true; SerializePartialToZeroCopyStream; ; ; Argument[-1]; Argument[*0]; taint; manual | +| 320 | Summary: google::protobuf; MessageLite; true; SerializeToArray; ; ; Argument[-1]; Argument[*0]; taint; manual | +| 321 | Summary: google::protobuf; MessageLite; true; SerializeToCodedStream; ; ; Argument[-1]; Argument[*0]; taint; manual | +| 322 | Summary: google::protobuf; MessageLite; true; SerializeToCord; ; ; Argument[-1]; Argument[*0]; taint; manual | +| 323 | Summary: google::protobuf; MessageLite; true; SerializeToOstream; ; ; Argument[-1]; Argument[*0]; taint; manual | +| 324 | Summary: google::protobuf; MessageLite; true; SerializeToString; ; ; Argument[-1]; Argument[*0]; taint; manual | +| 325 | Summary: google::protobuf; MessageLite; true; SerializeToZeroCopyStream; ; ; Argument[-1]; Argument[*0]; taint; manual | +| 326 | Summary: std; basic_string; true; data; ; ; Argument[-1]; ReturnValue[*]; value; manual | +| 327 | Summary: std; basic_string; true; data; ; ; ReturnValue[*]; Argument[-1]; value; manual | +| 328 | Summary: std; basic_string_view; true; basic_string_view; (const basic_string_view &); ; Argument[*0]; Argument[-1]; value; manual | +| 329 | Summary: std; basic_string_view; true; basic_string_view; (R &&); ; Argument[*0]; Argument[-1]; taint; manual | +| 330 | Summary: std; map; true; map; (const map &); ; Argument[*0]; Argument[-1]; value; manual | +| 331 | Summary: std; map; true; operator[]; (K &&); ; Argument[-1].Element.Field[@std::pair::second]; ReturnValue[*@]; value; manual | +| 332 | Summary: std; vector; true; vector; (const vector &); ; Argument[*0].Element[@]; Argument[-1].Element[@]; value; manual | edges -| asio_streams.cpp:116:34:116:44 | read_until output argument | asio_streams.cpp:120:7:120:17 | recv_buffer | provenance | Src:MaD:56 | -| asio_streams.cpp:116:34:116:44 | read_until output argument | asio_streams.cpp:122:29:122:39 | recv_buffer | provenance | Src:MaD:56 Sink:MaD:4 | -| asio_streams.cpp:126:37:126:44 | call to source | asio_streams.cpp:127:7:127:14 | send_str | provenance | TaintFunction | -| asio_streams.cpp:126:37:126:44 | call to source | asio_streams.cpp:129:64:129:71 | *send_str | provenance | TaintFunction | -| asio_streams.cpp:129:44:129:62 | call to buffer | asio_streams.cpp:129:44:129:62 | call to buffer | provenance | | -| asio_streams.cpp:129:44:129:62 | call to buffer | asio_streams.cpp:130:7:130:17 | send_buffer | provenance | | -| asio_streams.cpp:129:44:129:62 | call to buffer | asio_streams.cpp:132:29:132:39 | send_buffer | provenance | Sink:MaD:4 | -| asio_streams.cpp:129:64:129:71 | *send_str | asio_streams.cpp:129:44:129:62 | call to buffer | provenance | MaD:272 | -| asio_streams.cpp:143:19:143:26 | call to source | asio_streams.cpp:148:24:148:27 | *host | provenance | TaintFunction | -| asio_streams.cpp:143:19:143:26 | call to source | asio_streams.cpp:149:24:149:27 | *host | provenance | TaintFunction | -| asio_streams.cpp:143:19:143:26 | call to source | asio_streams.cpp:150:24:150:27 | *host | provenance | TaintFunction | -| asio_streams.cpp:143:19:143:26 | call to source | asio_streams.cpp:151:24:151:27 | *host | provenance | TaintFunction | -| asio_streams.cpp:143:19:143:26 | call to source | asio_streams.cpp:158:34:158:37 | *host | provenance | TaintFunction | -| asio_streams.cpp:143:19:143:26 | call to source | asio_streams.cpp:159:34:159:37 | *host | provenance | TaintFunction | -| asio_streams.cpp:143:19:143:26 | call to source | asio_streams.cpp:160:34:160:37 | *host | provenance | TaintFunction | -| asio_streams.cpp:143:19:143:26 | call to source | asio_streams.cpp:161:34:161:37 | *host | provenance | TaintFunction | -| asio_streams.cpp:145:29:145:36 | call to source | asio_streams.cpp:153:24:153:32 | host_view | provenance | TaintFunction | -| asio_streams.cpp:145:29:145:36 | call to source | asio_streams.cpp:154:24:154:32 | host_view | provenance | TaintFunction | -| asio_streams.cpp:145:29:145:36 | call to source | asio_streams.cpp:155:24:155:32 | host_view | provenance | TaintFunction | -| asio_streams.cpp:145:29:145:36 | call to source | asio_streams.cpp:156:24:156:32 | host_view | provenance | TaintFunction | -| asio_streams.cpp:145:29:145:36 | call to source | asio_streams.cpp:163:34:163:42 | host_view | provenance | TaintFunction | -| asio_streams.cpp:145:29:145:36 | call to source | asio_streams.cpp:164:34:164:42 | host_view | provenance | TaintFunction | -| asio_streams.cpp:145:29:145:36 | call to source | asio_streams.cpp:165:34:165:42 | host_view | provenance | TaintFunction | -| asio_streams.cpp:145:29:145:36 | call to source | asio_streams.cpp:166:34:166:42 | host_view | provenance | TaintFunction | -| asio_streams.cpp:148:24:148:27 | *host | asio_streams.cpp:148:16:148:22 | call to resolve | provenance | MaD:264 | -| asio_streams.cpp:149:24:149:27 | *host | asio_streams.cpp:149:16:149:22 | call to resolve | provenance | MaD:265 | -| asio_streams.cpp:150:24:150:27 | *host | asio_streams.cpp:150:16:150:22 | call to resolve | provenance | MaD:266 | -| asio_streams.cpp:151:24:151:27 | *host | asio_streams.cpp:151:16:151:22 | call to resolve | provenance | MaD:267 | -| asio_streams.cpp:153:24:153:32 | host_view | asio_streams.cpp:153:16:153:22 | call to resolve | provenance | MaD:268 | -| asio_streams.cpp:154:24:154:32 | host_view | asio_streams.cpp:154:16:154:22 | call to resolve | provenance | MaD:269 | -| asio_streams.cpp:155:24:155:32 | host_view | asio_streams.cpp:155:16:155:22 | call to resolve | provenance | MaD:270 | -| asio_streams.cpp:156:24:156:32 | host_view | asio_streams.cpp:156:16:156:22 | call to resolve | provenance | MaD:271 | -| asio_streams.cpp:158:34:158:37 | *host | asio_streams.cpp:158:16:158:22 | call to resolve | provenance | MaD:256 | -| asio_streams.cpp:159:34:159:37 | *host | asio_streams.cpp:159:16:159:22 | call to resolve | provenance | MaD:257 | -| asio_streams.cpp:160:34:160:37 | *host | asio_streams.cpp:160:16:160:22 | call to resolve | provenance | MaD:258 | -| asio_streams.cpp:161:34:161:37 | *host | asio_streams.cpp:161:16:161:22 | call to resolve | provenance | MaD:259 | -| asio_streams.cpp:163:34:163:42 | host_view | asio_streams.cpp:163:16:163:22 | call to resolve | provenance | MaD:260 | -| asio_streams.cpp:164:34:164:42 | host_view | asio_streams.cpp:164:16:164:22 | call to resolve | provenance | MaD:261 | -| asio_streams.cpp:165:34:165:42 | host_view | asio_streams.cpp:165:16:165:22 | call to resolve | provenance | MaD:262 | -| asio_streams.cpp:166:34:166:42 | host_view | asio_streams.cpp:166:16:166:22 | call to resolve | provenance | MaD:263 | -| asio_streams.cpp:175:22:175:29 | call to source | asio_streams.cpp:179:30:179:36 | *service | provenance | TaintFunction | -| asio_streams.cpp:175:22:175:29 | call to source | asio_streams.cpp:180:30:180:36 | *service | provenance | TaintFunction | -| asio_streams.cpp:175:22:175:29 | call to source | asio_streams.cpp:181:30:181:36 | *service | provenance | TaintFunction | -| asio_streams.cpp:175:22:175:29 | call to source | asio_streams.cpp:182:30:182:36 | *service | provenance | TaintFunction | -| asio_streams.cpp:175:22:175:29 | call to source | asio_streams.cpp:189:40:189:46 | *service | provenance | TaintFunction | -| asio_streams.cpp:175:22:175:29 | call to source | asio_streams.cpp:190:40:190:46 | *service | provenance | TaintFunction | -| asio_streams.cpp:175:22:175:29 | call to source | asio_streams.cpp:191:40:191:46 | *service | provenance | TaintFunction | -| asio_streams.cpp:175:22:175:29 | call to source | asio_streams.cpp:192:40:192:46 | *service | provenance | TaintFunction | -| asio_streams.cpp:177:32:177:39 | call to source | asio_streams.cpp:184:35:184:46 | service_view | provenance | TaintFunction | -| asio_streams.cpp:177:32:177:39 | call to source | asio_streams.cpp:185:35:185:46 | service_view | provenance | TaintFunction | -| asio_streams.cpp:177:32:177:39 | call to source | asio_streams.cpp:186:35:186:46 | service_view | provenance | TaintFunction | -| asio_streams.cpp:177:32:177:39 | call to source | asio_streams.cpp:187:35:187:46 | service_view | provenance | TaintFunction | -| asio_streams.cpp:177:32:177:39 | call to source | asio_streams.cpp:194:45:194:56 | service_view | provenance | TaintFunction | -| asio_streams.cpp:177:32:177:39 | call to source | asio_streams.cpp:195:45:195:56 | service_view | provenance | TaintFunction | -| asio_streams.cpp:177:32:177:39 | call to source | asio_streams.cpp:196:45:196:56 | service_view | provenance | TaintFunction | -| asio_streams.cpp:177:32:177:39 | call to source | asio_streams.cpp:197:45:197:56 | service_view | provenance | TaintFunction | -| asio_streams.cpp:179:30:179:36 | *service | asio_streams.cpp:179:16:179:22 | call to resolve | provenance | MaD:264 | -| asio_streams.cpp:180:30:180:36 | *service | asio_streams.cpp:180:16:180:22 | call to resolve | provenance | MaD:265 | -| asio_streams.cpp:181:30:181:36 | *service | asio_streams.cpp:181:16:181:22 | call to resolve | provenance | MaD:266 | -| asio_streams.cpp:182:30:182:36 | *service | asio_streams.cpp:182:16:182:22 | call to resolve | provenance | MaD:267 | -| asio_streams.cpp:184:35:184:46 | service_view | asio_streams.cpp:184:16:184:22 | call to resolve | provenance | MaD:268 | -| asio_streams.cpp:185:35:185:46 | service_view | asio_streams.cpp:185:16:185:22 | call to resolve | provenance | MaD:269 | -| asio_streams.cpp:186:35:186:46 | service_view | asio_streams.cpp:186:16:186:22 | call to resolve | provenance | MaD:270 | -| asio_streams.cpp:187:35:187:46 | service_view | asio_streams.cpp:187:16:187:22 | call to resolve | provenance | MaD:271 | -| asio_streams.cpp:189:40:189:46 | *service | asio_streams.cpp:189:16:189:22 | call to resolve | provenance | MaD:256 | -| asio_streams.cpp:190:40:190:46 | *service | asio_streams.cpp:190:16:190:22 | call to resolve | provenance | MaD:257 | -| asio_streams.cpp:191:40:191:46 | *service | asio_streams.cpp:191:16:191:22 | call to resolve | provenance | MaD:258 | -| asio_streams.cpp:192:40:192:46 | *service | asio_streams.cpp:192:16:192:22 | call to resolve | provenance | MaD:259 | -| asio_streams.cpp:194:45:194:56 | service_view | asio_streams.cpp:194:16:194:22 | call to resolve | provenance | MaD:260 | -| asio_streams.cpp:195:45:195:56 | service_view | asio_streams.cpp:195:16:195:22 | call to resolve | provenance | MaD:261 | -| asio_streams.cpp:196:45:196:56 | service_view | asio_streams.cpp:196:16:196:22 | call to resolve | provenance | MaD:262 | -| asio_streams.cpp:197:45:197:56 | service_view | asio_streams.cpp:197:16:197:22 | call to resolve | provenance | MaD:263 | -| azure.cpp:253:48:253:60 | *call to GetBodyStream | azure.cpp:257:5:257:8 | *resp | provenance | | -| azure.cpp:253:48:253:60 | *call to GetBodyStream | azure.cpp:262:5:262:8 | *resp | provenance | | -| azure.cpp:253:48:253:60 | *call to GetBodyStream | azure.cpp:266:38:266:41 | *resp | provenance | | -| azure.cpp:253:48:253:60 | call to GetBodyStream | azure.cpp:253:48:253:60 | *call to GetBodyStream | provenance | Src:MaD:53 | -| azure.cpp:257:5:257:8 | *resp | azure.cpp:257:16:257:21 | Read output argument | provenance | MaD:95 | -| azure.cpp:257:16:257:21 | Read output argument | azure.cpp:258:10:258:16 | * ... | provenance | | -| azure.cpp:262:5:262:8 | *resp | azure.cpp:262:23:262:28 | ReadToCount output argument | provenance | MaD:96 | -| azure.cpp:262:23:262:28 | ReadToCount output argument | azure.cpp:263:10:263:16 | * ... | provenance | | -| azure.cpp:266:38:266:41 | *resp | azure.cpp:266:44:266:52 | call to ReadToEnd [element] | provenance | MaD:97 | -| azure.cpp:266:44:266:52 | call to ReadToEnd [element] | azure.cpp:266:44:266:52 | call to ReadToEnd [element] | provenance | | -| azure.cpp:266:44:266:52 | call to ReadToEnd [element] | azure.cpp:267:10:267:12 | vec [element] | provenance | | -| azure.cpp:267:10:267:12 | vec [element] | azure.cpp:267:10:267:12 | vec | provenance | | -| azure.cpp:273:52:273:61 | call to GetHeaders | azure.cpp:273:62:273:64 | call to GetHeaders | provenance | Src:MaD:52 | -| azure.cpp:273:62:273:64 | call to GetHeaders | azure.cpp:274:14:274:29 | call to operator[] | provenance | TaintFunction | -| azure.cpp:273:62:273:64 | call to GetHeaders | azure.cpp:274:14:274:29 | call to operator[] | provenance | TaintFunction | -| azure.cpp:273:62:273:64 | call to GetHeaders | azure.cpp:274:14:274:29 | call to operator[] | provenance | TaintFunction | -| azure.cpp:274:14:274:29 | call to operator[] | azure.cpp:274:10:274:29 | call to operator[] | provenance | | -| azure.cpp:274:14:274:29 | call to operator[] | azure.cpp:274:14:274:29 | call to operator[] | provenance | | -| azure.cpp:277:38:277:44 | call to GetBody | azure.cpp:277:45:277:47 | call to GetBody | provenance | Src:MaD:51 | -| azure.cpp:277:45:277:47 | call to GetBody | azure.cpp:278:10:278:13 | body | provenance | | -| azure.cpp:277:45:277:47 | call to GetBody | azure.cpp:278:10:278:13 | body | provenance | | -| azure.cpp:278:10:278:13 | body | azure.cpp:278:10:278:13 | body | provenance | | -| azure.cpp:281:68:281:84 | *call to ExtractBodyStream | azure.cpp:282:21:282:23 | *call to get | provenance | | -| azure.cpp:281:68:281:84 | call to ExtractBodyStream | azure.cpp:281:68:281:84 | *call to ExtractBodyStream | provenance | Src:MaD:50 | -| azure.cpp:282:21:282:23 | *call to get | azure.cpp:282:28:282:36 | call to ReadToEnd [element] | provenance | MaD:97 | -| azure.cpp:282:28:282:36 | call to ReadToEnd [element] | azure.cpp:282:10:282:38 | call to ReadToEnd | provenance | | -| azure.cpp:282:28:282:36 | call to ReadToEnd [element] | azure.cpp:282:28:282:36 | call to ReadToEnd [element] | provenance | | -| azure.cpp:289:24:289:56 | call to GetHeader | azure.cpp:289:63:289:65 | call to Value | provenance | MaD:98 | -| azure.cpp:289:32:289:40 | call to GetHeader | azure.cpp:289:24:289:56 | call to GetHeader | provenance | | -| azure.cpp:289:32:289:40 | call to GetHeader | azure.cpp:289:32:289:40 | call to GetHeader | provenance | Src:MaD:54 | -| azure.cpp:289:63:289:65 | call to Value | azure.cpp:289:63:289:65 | call to Value | provenance | | -| azure.cpp:289:63:289:65 | call to Value | azure.cpp:290:10:290:20 | headerValue | provenance | | -| azure.cpp:289:63:289:65 | call to Value | azure.cpp:290:10:290:20 | headerValue | provenance | | -| azure.cpp:290:10:290:20 | headerValue | azure.cpp:290:10:290:20 | headerValue | provenance | | -| azure.cpp:293:58:293:67 | call to GetHeaders | azure.cpp:293:58:293:67 | call to GetHeaders | provenance | Src:MaD:55 | -| azure.cpp:293:58:293:67 | call to GetHeaders | azure.cpp:294:38:294:53 | call to operator[] | provenance | TaintFunction | -| azure.cpp:294:38:294:53 | call to operator[] | azure.cpp:295:10:295:20 | contentType | provenance | | -| azure.cpp:294:38:294:53 | call to operator[] | azure.cpp:295:10:295:20 | contentType | provenance | | -| azure.cpp:295:10:295:20 | contentType | azure.cpp:295:10:295:20 | contentType | provenance | | -| bal.cpp:128:19:128:26 | call to source | bal.cpp:129:23:129:51 | *call to data | provenance | TaintFunction | +| asio_streams.cpp:109:34:109:44 | read_until output argument | asio_streams.cpp:113:7:113:17 | recv_buffer | provenance | Src:MaD:56 | +| asio_streams.cpp:109:34:109:44 | read_until output argument | asio_streams.cpp:115:29:115:39 | recv_buffer | provenance | Src:MaD:56 Sink:MaD:4 | +| asio_streams.cpp:119:37:119:44 | call to source | asio_streams.cpp:120:7:120:14 | send_str | provenance | TaintFunction | +| asio_streams.cpp:119:37:119:44 | call to source | asio_streams.cpp:122:64:122:71 | *send_str | provenance | TaintFunction | +| asio_streams.cpp:122:44:122:62 | call to buffer | asio_streams.cpp:122:44:122:62 | call to buffer | provenance | | +| asio_streams.cpp:122:44:122:62 | call to buffer | asio_streams.cpp:123:7:123:17 | send_buffer | provenance | | +| asio_streams.cpp:122:44:122:62 | call to buffer | asio_streams.cpp:125:29:125:39 | send_buffer | provenance | Sink:MaD:4 | +| asio_streams.cpp:122:64:122:71 | *send_str | asio_streams.cpp:122:44:122:62 | call to buffer | provenance | MaD:274 | +| asio_streams.cpp:136:19:136:26 | call to source | asio_streams.cpp:141:24:141:27 | *host | provenance | TaintFunction | +| asio_streams.cpp:136:19:136:26 | call to source | asio_streams.cpp:142:24:142:27 | *host | provenance | TaintFunction | +| asio_streams.cpp:136:19:136:26 | call to source | asio_streams.cpp:143:24:143:27 | *host | provenance | TaintFunction | +| asio_streams.cpp:136:19:136:26 | call to source | asio_streams.cpp:144:24:144:27 | *host | provenance | TaintFunction | +| asio_streams.cpp:136:19:136:26 | call to source | asio_streams.cpp:151:34:151:37 | *host | provenance | TaintFunction | +| asio_streams.cpp:136:19:136:26 | call to source | asio_streams.cpp:152:34:152:37 | *host | provenance | TaintFunction | +| asio_streams.cpp:136:19:136:26 | call to source | asio_streams.cpp:153:34:153:37 | *host | provenance | TaintFunction | +| asio_streams.cpp:136:19:136:26 | call to source | asio_streams.cpp:154:34:154:37 | *host | provenance | TaintFunction | +| asio_streams.cpp:138:19:138:27 | call to basic_string_view | asio_streams.cpp:146:24:146:32 | *host_view | provenance | | +| asio_streams.cpp:138:19:138:27 | call to basic_string_view | asio_streams.cpp:146:24:146:32 | call to basic_string_view | provenance | DataFlowFunction | +| asio_streams.cpp:138:19:138:27 | call to basic_string_view | asio_streams.cpp:146:24:146:32 | call to basic_string_view | provenance | TaintFunction | +| asio_streams.cpp:138:19:138:27 | call to basic_string_view | asio_streams.cpp:147:24:147:32 | *host_view | provenance | | +| asio_streams.cpp:138:19:138:27 | call to basic_string_view | asio_streams.cpp:147:24:147:32 | call to basic_string_view | provenance | DataFlowFunction | +| asio_streams.cpp:138:19:138:27 | call to basic_string_view | asio_streams.cpp:147:24:147:32 | call to basic_string_view | provenance | TaintFunction | +| asio_streams.cpp:138:19:138:27 | call to basic_string_view | asio_streams.cpp:148:24:148:32 | *host_view | provenance | | +| asio_streams.cpp:138:19:138:27 | call to basic_string_view | asio_streams.cpp:148:24:148:32 | call to basic_string_view | provenance | DataFlowFunction | +| asio_streams.cpp:138:19:138:27 | call to basic_string_view | asio_streams.cpp:148:24:148:32 | call to basic_string_view | provenance | TaintFunction | +| asio_streams.cpp:138:19:138:27 | call to basic_string_view | asio_streams.cpp:149:24:149:32 | *host_view | provenance | | +| asio_streams.cpp:138:19:138:27 | call to basic_string_view | asio_streams.cpp:149:24:149:32 | call to basic_string_view | provenance | DataFlowFunction | +| asio_streams.cpp:138:19:138:27 | call to basic_string_view | asio_streams.cpp:149:24:149:32 | call to basic_string_view | provenance | TaintFunction | +| asio_streams.cpp:138:19:138:27 | call to basic_string_view | asio_streams.cpp:156:34:156:42 | *host_view | provenance | | +| asio_streams.cpp:138:19:138:27 | call to basic_string_view | asio_streams.cpp:156:34:156:42 | call to basic_string_view | provenance | DataFlowFunction | +| asio_streams.cpp:138:19:138:27 | call to basic_string_view | asio_streams.cpp:156:34:156:42 | call to basic_string_view | provenance | TaintFunction | +| asio_streams.cpp:138:19:138:27 | call to basic_string_view | asio_streams.cpp:157:34:157:42 | *host_view | provenance | | +| asio_streams.cpp:138:19:138:27 | call to basic_string_view | asio_streams.cpp:157:34:157:42 | call to basic_string_view | provenance | DataFlowFunction | +| asio_streams.cpp:138:19:138:27 | call to basic_string_view | asio_streams.cpp:157:34:157:42 | call to basic_string_view | provenance | TaintFunction | +| asio_streams.cpp:138:19:138:27 | call to basic_string_view | asio_streams.cpp:158:34:158:42 | *host_view | provenance | | +| asio_streams.cpp:138:19:138:27 | call to basic_string_view | asio_streams.cpp:158:34:158:42 | call to basic_string_view | provenance | DataFlowFunction | +| asio_streams.cpp:138:19:138:27 | call to basic_string_view | asio_streams.cpp:158:34:158:42 | call to basic_string_view | provenance | TaintFunction | +| asio_streams.cpp:138:19:138:27 | call to basic_string_view | asio_streams.cpp:159:34:159:42 | *host_view | provenance | | +| asio_streams.cpp:138:19:138:27 | call to basic_string_view | asio_streams.cpp:159:34:159:42 | call to basic_string_view | provenance | DataFlowFunction | +| asio_streams.cpp:138:19:138:27 | call to basic_string_view | asio_streams.cpp:159:34:159:42 | call to basic_string_view | provenance | TaintFunction | +| asio_streams.cpp:138:29:138:36 | call to source | asio_streams.cpp:138:19:138:27 | call to basic_string_view | provenance | MaD:329 | +| asio_streams.cpp:141:24:141:27 | *host | asio_streams.cpp:141:16:141:22 | call to resolve | provenance | MaD:266 | +| asio_streams.cpp:142:24:142:27 | *host | asio_streams.cpp:142:16:142:22 | call to resolve | provenance | MaD:267 | +| asio_streams.cpp:143:24:143:27 | *host | asio_streams.cpp:143:16:143:22 | call to resolve | provenance | MaD:268 | +| asio_streams.cpp:144:24:144:27 | *host | asio_streams.cpp:144:16:144:22 | call to resolve | provenance | MaD:269 | +| asio_streams.cpp:146:24:146:32 | *host_view | asio_streams.cpp:146:24:146:32 | call to basic_string_view | provenance | MaD:328 | +| asio_streams.cpp:146:24:146:32 | call to basic_string_view | asio_streams.cpp:146:16:146:22 | call to resolve | provenance | MaD:270 | +| asio_streams.cpp:146:24:146:32 | call to basic_string_view | asio_streams.cpp:146:24:146:32 | call to basic_string_view | provenance | | +| asio_streams.cpp:147:24:147:32 | *host_view | asio_streams.cpp:147:24:147:32 | call to basic_string_view | provenance | MaD:328 | +| asio_streams.cpp:147:24:147:32 | call to basic_string_view | asio_streams.cpp:147:16:147:22 | call to resolve | provenance | MaD:271 | +| asio_streams.cpp:147:24:147:32 | call to basic_string_view | asio_streams.cpp:147:24:147:32 | call to basic_string_view | provenance | | +| asio_streams.cpp:148:24:148:32 | *host_view | asio_streams.cpp:148:24:148:32 | call to basic_string_view | provenance | MaD:328 | +| asio_streams.cpp:148:24:148:32 | call to basic_string_view | asio_streams.cpp:148:16:148:22 | call to resolve | provenance | MaD:272 | +| asio_streams.cpp:148:24:148:32 | call to basic_string_view | asio_streams.cpp:148:24:148:32 | call to basic_string_view | provenance | | +| asio_streams.cpp:149:24:149:32 | *host_view | asio_streams.cpp:149:24:149:32 | call to basic_string_view | provenance | MaD:328 | +| asio_streams.cpp:149:24:149:32 | call to basic_string_view | asio_streams.cpp:149:16:149:22 | call to resolve | provenance | MaD:273 | +| asio_streams.cpp:149:24:149:32 | call to basic_string_view | asio_streams.cpp:149:24:149:32 | call to basic_string_view | provenance | | +| asio_streams.cpp:151:34:151:37 | *host | asio_streams.cpp:151:16:151:22 | call to resolve | provenance | MaD:258 | +| asio_streams.cpp:152:34:152:37 | *host | asio_streams.cpp:152:16:152:22 | call to resolve | provenance | MaD:259 | +| asio_streams.cpp:153:34:153:37 | *host | asio_streams.cpp:153:16:153:22 | call to resolve | provenance | MaD:260 | +| asio_streams.cpp:154:34:154:37 | *host | asio_streams.cpp:154:16:154:22 | call to resolve | provenance | MaD:261 | +| asio_streams.cpp:156:34:156:42 | *host_view | asio_streams.cpp:156:34:156:42 | call to basic_string_view | provenance | MaD:328 | +| asio_streams.cpp:156:34:156:42 | call to basic_string_view | asio_streams.cpp:156:16:156:22 | call to resolve | provenance | MaD:262 | +| asio_streams.cpp:156:34:156:42 | call to basic_string_view | asio_streams.cpp:156:34:156:42 | call to basic_string_view | provenance | | +| asio_streams.cpp:157:34:157:42 | *host_view | asio_streams.cpp:157:34:157:42 | call to basic_string_view | provenance | MaD:328 | +| asio_streams.cpp:157:34:157:42 | call to basic_string_view | asio_streams.cpp:157:16:157:22 | call to resolve | provenance | MaD:263 | +| asio_streams.cpp:157:34:157:42 | call to basic_string_view | asio_streams.cpp:157:34:157:42 | call to basic_string_view | provenance | | +| asio_streams.cpp:158:34:158:42 | *host_view | asio_streams.cpp:158:34:158:42 | call to basic_string_view | provenance | MaD:328 | +| asio_streams.cpp:158:34:158:42 | call to basic_string_view | asio_streams.cpp:158:16:158:22 | call to resolve | provenance | MaD:264 | +| asio_streams.cpp:158:34:158:42 | call to basic_string_view | asio_streams.cpp:158:34:158:42 | call to basic_string_view | provenance | | +| asio_streams.cpp:159:34:159:42 | *host_view | asio_streams.cpp:159:34:159:42 | call to basic_string_view | provenance | MaD:328 | +| asio_streams.cpp:159:34:159:42 | call to basic_string_view | asio_streams.cpp:159:16:159:22 | call to resolve | provenance | MaD:265 | +| asio_streams.cpp:159:34:159:42 | call to basic_string_view | asio_streams.cpp:159:34:159:42 | call to basic_string_view | provenance | | +| asio_streams.cpp:168:22:168:29 | call to source | asio_streams.cpp:172:30:172:36 | *service | provenance | TaintFunction | +| asio_streams.cpp:168:22:168:29 | call to source | asio_streams.cpp:173:30:173:36 | *service | provenance | TaintFunction | +| asio_streams.cpp:168:22:168:29 | call to source | asio_streams.cpp:174:30:174:36 | *service | provenance | TaintFunction | +| asio_streams.cpp:168:22:168:29 | call to source | asio_streams.cpp:175:30:175:36 | *service | provenance | TaintFunction | +| asio_streams.cpp:168:22:168:29 | call to source | asio_streams.cpp:182:40:182:46 | *service | provenance | TaintFunction | +| asio_streams.cpp:168:22:168:29 | call to source | asio_streams.cpp:183:40:183:46 | *service | provenance | TaintFunction | +| asio_streams.cpp:168:22:168:29 | call to source | asio_streams.cpp:184:40:184:46 | *service | provenance | TaintFunction | +| asio_streams.cpp:168:22:168:29 | call to source | asio_streams.cpp:185:40:185:46 | *service | provenance | TaintFunction | +| asio_streams.cpp:170:19:170:30 | call to basic_string_view | asio_streams.cpp:177:35:177:46 | *service_view | provenance | | +| asio_streams.cpp:170:19:170:30 | call to basic_string_view | asio_streams.cpp:177:35:177:46 | call to basic_string_view | provenance | DataFlowFunction | +| asio_streams.cpp:170:19:170:30 | call to basic_string_view | asio_streams.cpp:177:35:177:46 | call to basic_string_view | provenance | TaintFunction | +| asio_streams.cpp:170:19:170:30 | call to basic_string_view | asio_streams.cpp:178:35:178:46 | *service_view | provenance | | +| asio_streams.cpp:170:19:170:30 | call to basic_string_view | asio_streams.cpp:178:35:178:46 | call to basic_string_view | provenance | DataFlowFunction | +| asio_streams.cpp:170:19:170:30 | call to basic_string_view | asio_streams.cpp:178:35:178:46 | call to basic_string_view | provenance | TaintFunction | +| asio_streams.cpp:170:19:170:30 | call to basic_string_view | asio_streams.cpp:179:35:179:46 | *service_view | provenance | | +| asio_streams.cpp:170:19:170:30 | call to basic_string_view | asio_streams.cpp:179:35:179:46 | call to basic_string_view | provenance | DataFlowFunction | +| asio_streams.cpp:170:19:170:30 | call to basic_string_view | asio_streams.cpp:179:35:179:46 | call to basic_string_view | provenance | TaintFunction | +| asio_streams.cpp:170:19:170:30 | call to basic_string_view | asio_streams.cpp:180:35:180:46 | *service_view | provenance | | +| asio_streams.cpp:170:19:170:30 | call to basic_string_view | asio_streams.cpp:180:35:180:46 | call to basic_string_view | provenance | DataFlowFunction | +| asio_streams.cpp:170:19:170:30 | call to basic_string_view | asio_streams.cpp:180:35:180:46 | call to basic_string_view | provenance | TaintFunction | +| asio_streams.cpp:170:19:170:30 | call to basic_string_view | asio_streams.cpp:187:45:187:56 | *service_view | provenance | | +| asio_streams.cpp:170:19:170:30 | call to basic_string_view | asio_streams.cpp:187:45:187:56 | call to basic_string_view | provenance | DataFlowFunction | +| asio_streams.cpp:170:19:170:30 | call to basic_string_view | asio_streams.cpp:187:45:187:56 | call to basic_string_view | provenance | TaintFunction | +| asio_streams.cpp:170:19:170:30 | call to basic_string_view | asio_streams.cpp:188:45:188:56 | *service_view | provenance | | +| asio_streams.cpp:170:19:170:30 | call to basic_string_view | asio_streams.cpp:188:45:188:56 | call to basic_string_view | provenance | DataFlowFunction | +| asio_streams.cpp:170:19:170:30 | call to basic_string_view | asio_streams.cpp:188:45:188:56 | call to basic_string_view | provenance | TaintFunction | +| asio_streams.cpp:170:19:170:30 | call to basic_string_view | asio_streams.cpp:189:45:189:56 | *service_view | provenance | | +| asio_streams.cpp:170:19:170:30 | call to basic_string_view | asio_streams.cpp:189:45:189:56 | call to basic_string_view | provenance | DataFlowFunction | +| asio_streams.cpp:170:19:170:30 | call to basic_string_view | asio_streams.cpp:189:45:189:56 | call to basic_string_view | provenance | TaintFunction | +| asio_streams.cpp:170:19:170:30 | call to basic_string_view | asio_streams.cpp:190:45:190:56 | *service_view | provenance | | +| asio_streams.cpp:170:19:170:30 | call to basic_string_view | asio_streams.cpp:190:45:190:56 | call to basic_string_view | provenance | DataFlowFunction | +| asio_streams.cpp:170:19:170:30 | call to basic_string_view | asio_streams.cpp:190:45:190:56 | call to basic_string_view | provenance | TaintFunction | +| asio_streams.cpp:170:32:170:39 | call to source | asio_streams.cpp:170:19:170:30 | call to basic_string_view | provenance | MaD:329 | +| asio_streams.cpp:172:30:172:36 | *service | asio_streams.cpp:172:16:172:22 | call to resolve | provenance | MaD:266 | +| asio_streams.cpp:173:30:173:36 | *service | asio_streams.cpp:173:16:173:22 | call to resolve | provenance | MaD:267 | +| asio_streams.cpp:174:30:174:36 | *service | asio_streams.cpp:174:16:174:22 | call to resolve | provenance | MaD:268 | +| asio_streams.cpp:175:30:175:36 | *service | asio_streams.cpp:175:16:175:22 | call to resolve | provenance | MaD:269 | +| asio_streams.cpp:177:35:177:46 | *service_view | asio_streams.cpp:177:35:177:46 | call to basic_string_view | provenance | MaD:328 | +| asio_streams.cpp:177:35:177:46 | call to basic_string_view | asio_streams.cpp:177:16:177:22 | call to resolve | provenance | MaD:270 | +| asio_streams.cpp:177:35:177:46 | call to basic_string_view | asio_streams.cpp:177:35:177:46 | call to basic_string_view | provenance | | +| asio_streams.cpp:178:35:178:46 | *service_view | asio_streams.cpp:178:35:178:46 | call to basic_string_view | provenance | MaD:328 | +| asio_streams.cpp:178:35:178:46 | call to basic_string_view | asio_streams.cpp:178:16:178:22 | call to resolve | provenance | MaD:271 | +| asio_streams.cpp:178:35:178:46 | call to basic_string_view | asio_streams.cpp:178:35:178:46 | call to basic_string_view | provenance | | +| asio_streams.cpp:179:35:179:46 | *service_view | asio_streams.cpp:179:35:179:46 | call to basic_string_view | provenance | MaD:328 | +| asio_streams.cpp:179:35:179:46 | call to basic_string_view | asio_streams.cpp:179:16:179:22 | call to resolve | provenance | MaD:272 | +| asio_streams.cpp:179:35:179:46 | call to basic_string_view | asio_streams.cpp:179:35:179:46 | call to basic_string_view | provenance | | +| asio_streams.cpp:180:35:180:46 | *service_view | asio_streams.cpp:180:35:180:46 | call to basic_string_view | provenance | MaD:328 | +| asio_streams.cpp:180:35:180:46 | call to basic_string_view | asio_streams.cpp:180:16:180:22 | call to resolve | provenance | MaD:273 | +| asio_streams.cpp:180:35:180:46 | call to basic_string_view | asio_streams.cpp:180:35:180:46 | call to basic_string_view | provenance | | +| asio_streams.cpp:182:40:182:46 | *service | asio_streams.cpp:182:16:182:22 | call to resolve | provenance | MaD:258 | +| asio_streams.cpp:183:40:183:46 | *service | asio_streams.cpp:183:16:183:22 | call to resolve | provenance | MaD:259 | +| asio_streams.cpp:184:40:184:46 | *service | asio_streams.cpp:184:16:184:22 | call to resolve | provenance | MaD:260 | +| asio_streams.cpp:185:40:185:46 | *service | asio_streams.cpp:185:16:185:22 | call to resolve | provenance | MaD:261 | +| asio_streams.cpp:187:45:187:56 | *service_view | asio_streams.cpp:187:45:187:56 | call to basic_string_view | provenance | MaD:328 | +| asio_streams.cpp:187:45:187:56 | call to basic_string_view | asio_streams.cpp:187:16:187:22 | call to resolve | provenance | MaD:262 | +| asio_streams.cpp:187:45:187:56 | call to basic_string_view | asio_streams.cpp:187:45:187:56 | call to basic_string_view | provenance | | +| asio_streams.cpp:188:45:188:56 | *service_view | asio_streams.cpp:188:45:188:56 | call to basic_string_view | provenance | MaD:328 | +| asio_streams.cpp:188:45:188:56 | call to basic_string_view | asio_streams.cpp:188:16:188:22 | call to resolve | provenance | MaD:263 | +| asio_streams.cpp:188:45:188:56 | call to basic_string_view | asio_streams.cpp:188:45:188:56 | call to basic_string_view | provenance | | +| asio_streams.cpp:189:45:189:56 | *service_view | asio_streams.cpp:189:45:189:56 | call to basic_string_view | provenance | MaD:328 | +| asio_streams.cpp:189:45:189:56 | call to basic_string_view | asio_streams.cpp:189:16:189:22 | call to resolve | provenance | MaD:264 | +| asio_streams.cpp:189:45:189:56 | call to basic_string_view | asio_streams.cpp:189:45:189:56 | call to basic_string_view | provenance | | +| asio_streams.cpp:190:45:190:56 | *service_view | asio_streams.cpp:190:45:190:56 | call to basic_string_view | provenance | MaD:328 | +| asio_streams.cpp:190:45:190:56 | call to basic_string_view | asio_streams.cpp:190:16:190:22 | call to resolve | provenance | MaD:265 | +| asio_streams.cpp:190:45:190:56 | call to basic_string_view | asio_streams.cpp:190:45:190:56 | call to basic_string_view | provenance | | +| azure.cpp:216:48:216:60 | *call to GetBodyStream | azure.cpp:220:5:220:8 | *resp | provenance | | +| azure.cpp:216:48:216:60 | *call to GetBodyStream | azure.cpp:225:5:225:8 | *resp | provenance | | +| azure.cpp:216:48:216:60 | *call to GetBodyStream | azure.cpp:229:38:229:41 | *resp | provenance | | +| azure.cpp:216:48:216:60 | call to GetBodyStream | azure.cpp:216:48:216:60 | *call to GetBodyStream | provenance | Src:MaD:53 | +| azure.cpp:220:5:220:8 | *resp | azure.cpp:220:16:220:21 | Read output argument | provenance | MaD:95 | +| azure.cpp:220:16:220:21 | Read output argument | azure.cpp:221:10:221:16 | * ... | provenance | | +| azure.cpp:225:5:225:8 | *resp | azure.cpp:225:23:225:28 | ReadToCount output argument | provenance | MaD:96 | +| azure.cpp:225:23:225:28 | ReadToCount output argument | azure.cpp:226:10:226:16 | * ... | provenance | | +| azure.cpp:229:38:229:41 | *resp | azure.cpp:229:44:229:52 | call to ReadToEnd [element] | provenance | MaD:97 | +| azure.cpp:229:44:229:52 | call to ReadToEnd [element] | azure.cpp:229:44:229:52 | call to ReadToEnd [element] | provenance | | +| azure.cpp:229:44:229:52 | call to ReadToEnd [element] | azure.cpp:230:10:230:12 | *vec [element] | provenance | | +| azure.cpp:229:44:229:52 | call to ReadToEnd [element] | azure.cpp:230:10:230:12 | call to vector | provenance | DataFlowFunction | +| azure.cpp:230:10:230:12 | *vec [element] | azure.cpp:230:10:230:12 | call to vector [element] | provenance | MaD:332 | +| azure.cpp:230:10:230:12 | call to vector [element] | azure.cpp:230:10:230:12 | call to vector | provenance | | +| azure.cpp:236:40:236:43 | call to map [element, second] | azure.cpp:237:10:237:13 | body [element, second] | provenance | | +| azure.cpp:236:52:236:61 | call to GetHeaders | azure.cpp:236:62:236:64 | *call to GetHeaders [element, second] | provenance | Src:MaD:52 | +| azure.cpp:236:52:236:61 | call to GetHeaders | azure.cpp:237:10:237:13 | body [element, second] | provenance | Src:MaD:52 | +| azure.cpp:236:62:236:64 | *call to GetHeaders [element, second] | azure.cpp:236:40:236:43 | call to map [element, second] | provenance | MaD:330 | +| azure.cpp:236:62:236:64 | *call to GetHeaders [element, second] | azure.cpp:237:10:237:13 | body [element, second] | provenance | DataFlowFunction | +| azure.cpp:237:10:237:13 | body [element, second] | azure.cpp:237:14:237:29 | call to operator[] | provenance | MaD:331 | +| azure.cpp:240:38:240:44 | call to GetBody | azure.cpp:241:10:241:13 | call to vector | provenance | Src:MaD:51 DataFlowFunction | +| azure.cpp:240:38:240:44 | call to GetBody | azure.cpp:241:10:241:13 | call to vector | provenance | Src:MaD:51 DataFlowFunction | +| azure.cpp:240:38:240:44 | call to GetBody | azure.cpp:241:10:241:13 | call to vector | provenance | Src:MaD:51 DataFlowFunction | +| azure.cpp:240:38:240:44 | call to GetBody | azure.cpp:241:10:241:13 | call to vector | provenance | Src:MaD:51 TaintFunction | +| azure.cpp:240:38:240:44 | call to GetBody | azure.cpp:241:10:241:13 | call to vector | provenance | Src:MaD:51 TaintFunction | +| azure.cpp:240:38:240:44 | call to GetBody | azure.cpp:241:10:241:13 | call to vector | provenance | Src:MaD:51 TaintFunction | +| azure.cpp:241:10:241:13 | call to vector | azure.cpp:241:10:241:13 | call to vector | provenance | | +| azure.cpp:244:68:244:84 | *call to ExtractBodyStream | azure.cpp:245:21:245:23 | *call to get | provenance | | +| azure.cpp:244:68:244:84 | call to ExtractBodyStream | azure.cpp:244:68:244:84 | *call to ExtractBodyStream | provenance | Src:MaD:50 | +| azure.cpp:245:21:245:23 | *call to get | azure.cpp:245:28:245:36 | call to ReadToEnd [element] | provenance | MaD:97 | +| azure.cpp:245:28:245:36 | call to ReadToEnd [element] | azure.cpp:245:10:245:38 | call to ReadToEnd | provenance | | +| azure.cpp:245:28:245:36 | call to ReadToEnd [element] | azure.cpp:245:28:245:36 | call to ReadToEnd [element] | provenance | | +| azure.cpp:253:24:253:56 | call to GetHeader [m_value] | azure.cpp:253:63:253:65 | call to Value | provenance | MaD:100 | +| azure.cpp:253:32:253:40 | call to GetHeader | azure.cpp:253:32:253:40 | call to GetHeader [m_value] | provenance | Src:MaD:54 | +| azure.cpp:253:32:253:40 | call to GetHeader [m_value] | azure.cpp:253:24:253:56 | call to GetHeader [m_value] | provenance | | +| azure.cpp:253:63:253:65 | call to Value | azure.cpp:253:63:253:65 | call to Value | provenance | | +| azure.cpp:253:63:253:65 | call to Value | azure.cpp:254:10:254:20 | headerValue | provenance | | +| azure.cpp:257:58:257:67 | call to GetHeaders | azure.cpp:257:58:257:67 | call to GetHeaders [element, second] | provenance | Src:MaD:55 | +| azure.cpp:257:58:257:67 | call to GetHeaders [element, second] | azure.cpp:258:31:258:37 | headers [element, second] | provenance | | +| azure.cpp:258:31:258:37 | headers [element, second] | azure.cpp:258:38:258:53 | call to operator[] | provenance | MaD:331 | +| azure.cpp:258:38:258:53 | call to operator[] | azure.cpp:258:38:258:53 | call to operator[] | provenance | | +| azure.cpp:258:38:258:53 | call to operator[] | azure.cpp:259:10:259:20 | contentType | provenance | | +| azure.cpp:266:3:266:5 | SetQueryParameters output argument | azure.cpp:267:8:267:10 | url | provenance | | +| azure.cpp:266:26:266:45 | call to GetHeaders [element, second] | azure.cpp:266:3:266:5 | SetQueryParameters output argument | provenance | MaD:99 | +| azure.cpp:266:34:266:43 | call to GetHeaders | azure.cpp:266:34:266:43 | call to GetHeaders [element, second] | provenance | Src:MaD:55 | +| azure.cpp:266:34:266:43 | call to GetHeaders [element, second] | azure.cpp:266:26:266:45 | call to GetHeaders [element, second] | provenance | | +| azure.cpp:267:8:267:10 | url | azure.cpp:267:12:267:29 | call to GetQueryParameters [element, second] | provenance | MaD:98 | +| azure.cpp:267:8:267:31 | call to GetQueryParameters [element, second] | azure.cpp:267:32:267:40 | call to operator[] | provenance | MaD:331 | +| azure.cpp:267:12:267:29 | call to GetQueryParameters [element, second] | azure.cpp:267:8:267:31 | call to GetQueryParameters [element, second] | provenance | | +| azure.cpp:267:12:267:29 | call to GetQueryParameters [element, second] | azure.cpp:267:12:267:29 | call to GetQueryParameters [element, second] | provenance | | +| bal.cpp:128:19:128:26 | call to source | bal.cpp:129:41:129:44 | data | provenance | TaintFunction | +| bal.cpp:129:23:129:51 | *call to data | bal.cpp:129:23:129:51 | *call to data | provenance | | +| bal.cpp:129:23:129:51 | *call to data | bal.cpp:129:23:129:51 | *call to data | provenance | MaD:276 | +| bal.cpp:129:23:129:51 | *call to data | bal.cpp:129:23:129:51 | *call to data | provenance | MaD:276+MaD:275 | | bal.cpp:129:23:129:51 | *call to data | bal.cpp:132:17:132:18 | *sb | provenance | | -| bal.cpp:132:17:132:18 | *sb | bal.cpp:132:21:132:24 | decode output argument | provenance | MaD:99 | -| bal.cpp:132:21:132:24 | decode output argument | bal.cpp:133:7:133:17 | * ... | provenance | TaintFunction | -| bal.cpp:137:19:137:26 | call to source | bal.cpp:138:21:138:47 | *call to data | provenance | TaintFunction | +| bal.cpp:129:41:129:44 | data | bal.cpp:129:23:129:51 | *call to data | provenance | MaD:275 | +| bal.cpp:132:17:132:18 | *sb | bal.cpp:132:21:132:24 | decode output argument | provenance | MaD:101 | +| bal.cpp:132:21:132:24 | decode output argument | bal.cpp:133:8:133:10 | out | provenance | | +| bal.cpp:133:7:133:17 | * ... | bal.cpp:133:7:133:17 | * ... | provenance | MaD:276 | +| bal.cpp:133:7:133:17 | * ... | bal.cpp:133:7:133:17 | * ... | provenance | MaD:276 | +| bal.cpp:133:7:133:17 | * ... | bal.cpp:133:7:133:17 | * ... | provenance | MaD:276+MaD:275 | +| bal.cpp:133:7:133:17 | * ... | bal.cpp:133:7:133:17 | * ... | provenance | MaD:276+MaD:275 | +| bal.cpp:133:8:133:10 | out | bal.cpp:133:7:133:17 | * ... | provenance | MaD:275 | +| bal.cpp:133:8:133:10 | out | bal.cpp:133:7:133:17 | * ... | provenance | MaD:275 | +| bal.cpp:137:19:137:26 | call to source | bal.cpp:138:37:138:40 | data | provenance | TaintFunction | +| bal.cpp:138:21:138:47 | *call to data | bal.cpp:138:21:138:47 | *call to data | provenance | | +| bal.cpp:138:21:138:47 | *call to data | bal.cpp:138:21:138:47 | *call to data | provenance | MaD:276 | +| bal.cpp:138:21:138:47 | *call to data | bal.cpp:138:21:138:47 | *call to data | provenance | MaD:276+MaD:275 | | bal.cpp:138:21:138:47 | *call to data | bal.cpp:141:17:141:19 | ** ... | provenance | | -| bal.cpp:141:17:141:19 | ** ... | bal.cpp:141:22:141:25 | decode output argument | provenance | MaD:99 | -| bal.cpp:141:22:141:25 | decode output argument | bal.cpp:142:7:142:17 | * ... | provenance | TaintFunction | -| bal.cpp:146:19:146:26 | call to source | bal.cpp:147:23:147:51 | *call to data | provenance | TaintFunction | +| bal.cpp:138:37:138:40 | data | bal.cpp:138:21:138:47 | *call to data | provenance | MaD:275 | +| bal.cpp:141:17:141:19 | ** ... | bal.cpp:141:22:141:25 | decode output argument | provenance | MaD:101 | +| bal.cpp:141:22:141:25 | decode output argument | bal.cpp:142:8:142:10 | out | provenance | | +| bal.cpp:142:7:142:17 | * ... | bal.cpp:142:7:142:17 | * ... | provenance | MaD:276 | +| bal.cpp:142:7:142:17 | * ... | bal.cpp:142:7:142:17 | * ... | provenance | MaD:276 | +| bal.cpp:142:7:142:17 | * ... | bal.cpp:142:7:142:17 | * ... | provenance | MaD:276+MaD:275 | +| bal.cpp:142:7:142:17 | * ... | bal.cpp:142:7:142:17 | * ... | provenance | MaD:276+MaD:275 | +| bal.cpp:142:8:142:10 | out | bal.cpp:142:7:142:17 | * ... | provenance | MaD:275 | +| bal.cpp:142:8:142:10 | out | bal.cpp:142:7:142:17 | * ... | provenance | MaD:275 | +| bal.cpp:146:19:146:26 | call to source | bal.cpp:147:41:147:44 | data | provenance | TaintFunction | +| bal.cpp:147:23:147:51 | *call to data | bal.cpp:147:23:147:51 | *call to data | provenance | | +| bal.cpp:147:23:147:51 | *call to data | bal.cpp:147:23:147:51 | *call to data | provenance | MaD:276 | +| bal.cpp:147:23:147:51 | *call to data | bal.cpp:147:23:147:51 | *call to data | provenance | MaD:276+MaD:275 | | bal.cpp:147:23:147:51 | *call to data | bal.cpp:150:20:150:21 | *sb | provenance | | -| bal.cpp:150:20:150:21 | *sb | bal.cpp:150:24:150:27 | decodeAny output argument | provenance | MaD:100 | -| bal.cpp:150:24:150:27 | decodeAny output argument | bal.cpp:151:7:151:17 | * ... | provenance | TaintFunction | +| bal.cpp:147:41:147:44 | data | bal.cpp:147:23:147:51 | *call to data | provenance | MaD:275 | +| bal.cpp:150:20:150:21 | *sb | bal.cpp:150:24:150:27 | decodeAny output argument | provenance | MaD:102 | +| bal.cpp:150:24:150:27 | decodeAny output argument | bal.cpp:151:8:151:10 | out | provenance | | +| bal.cpp:151:7:151:17 | * ... | bal.cpp:151:7:151:17 | * ... | provenance | MaD:276 | +| bal.cpp:151:7:151:17 | * ... | bal.cpp:151:7:151:17 | * ... | provenance | MaD:276 | +| bal.cpp:151:7:151:17 | * ... | bal.cpp:151:7:151:17 | * ... | provenance | MaD:276+MaD:275 | +| bal.cpp:151:7:151:17 | * ... | bal.cpp:151:7:151:17 | * ... | provenance | MaD:276+MaD:275 | +| bal.cpp:151:8:151:10 | out | bal.cpp:151:7:151:17 | * ... | provenance | MaD:275 | +| bal.cpp:151:8:151:10 | out | bal.cpp:151:7:151:17 | * ... | provenance | MaD:275 | | bal.cpp:156:18:156:25 | call to source | bal.cpp:159:40:159:42 | *obj | provenance | TaintFunction | | bal.cpp:159:17:159:37 | encode output argument | bal.cpp:160:7:160:12 | access to array | provenance | | -| bal.cpp:159:40:159:42 | *obj | bal.cpp:159:17:159:37 | encode output argument | provenance | MaD:101 | +| bal.cpp:159:40:159:42 | *obj | bal.cpp:159:17:159:37 | encode output argument | provenance | MaD:103 | | bal.cpp:164:18:164:25 | call to source | bal.cpp:167:43:167:45 | *obj | provenance | TaintFunction | | bal.cpp:167:20:167:40 | encodeAny output argument | bal.cpp:168:7:168:12 | access to array | provenance | | -| bal.cpp:167:43:167:45 | *obj | bal.cpp:167:20:167:40 | encodeAny output argument | provenance | MaD:102 | -| bal.cpp:175:19:175:26 | call to source | bal.cpp:176:23:176:51 | *call to data | provenance | TaintFunction | +| bal.cpp:167:43:167:45 | *obj | bal.cpp:167:20:167:40 | encodeAny output argument | provenance | MaD:104 | +| bal.cpp:175:19:175:26 | call to source | bal.cpp:176:41:176:44 | data | provenance | TaintFunction | +| bal.cpp:176:23:176:51 | *call to data | bal.cpp:176:23:176:51 | *call to data | provenance | | +| bal.cpp:176:23:176:51 | *call to data | bal.cpp:176:23:176:51 | *call to data | provenance | MaD:276 | +| bal.cpp:176:23:176:51 | *call to data | bal.cpp:176:23:176:51 | *call to data | provenance | MaD:276+MaD:275 | | bal.cpp:176:23:176:51 | *call to data | bal.cpp:180:17:180:18 | *sb | provenance | | -| bal.cpp:180:17:180:18 | *sb | bal.cpp:180:21:180:24 | decode output argument | provenance | MaD:103 | -| bal.cpp:180:21:180:24 | decode output argument | bal.cpp:181:7:181:17 | * ... | provenance | TaintFunction | -| bal.cpp:185:19:185:26 | call to source | bal.cpp:186:21:186:47 | *call to data | provenance | TaintFunction | +| bal.cpp:176:41:176:44 | data | bal.cpp:176:23:176:51 | *call to data | provenance | MaD:275 | +| bal.cpp:180:17:180:18 | *sb | bal.cpp:180:21:180:24 | decode output argument | provenance | MaD:105 | +| bal.cpp:180:21:180:24 | decode output argument | bal.cpp:181:8:181:10 | out | provenance | | +| bal.cpp:181:7:181:17 | * ... | bal.cpp:181:7:181:17 | * ... | provenance | MaD:276 | +| bal.cpp:181:7:181:17 | * ... | bal.cpp:181:7:181:17 | * ... | provenance | MaD:276 | +| bal.cpp:181:7:181:17 | * ... | bal.cpp:181:7:181:17 | * ... | provenance | MaD:276+MaD:275 | +| bal.cpp:181:7:181:17 | * ... | bal.cpp:181:7:181:17 | * ... | provenance | MaD:276+MaD:275 | +| bal.cpp:181:8:181:10 | out | bal.cpp:181:7:181:17 | * ... | provenance | MaD:275 | +| bal.cpp:181:8:181:10 | out | bal.cpp:181:7:181:17 | * ... | provenance | MaD:275 | +| bal.cpp:185:19:185:26 | call to source | bal.cpp:186:37:186:40 | data | provenance | TaintFunction | +| bal.cpp:186:21:186:47 | *call to data | bal.cpp:186:21:186:47 | *call to data | provenance | | +| bal.cpp:186:21:186:47 | *call to data | bal.cpp:186:21:186:47 | *call to data | provenance | MaD:276 | +| bal.cpp:186:21:186:47 | *call to data | bal.cpp:186:21:186:47 | *call to data | provenance | MaD:276+MaD:275 | | bal.cpp:186:21:186:47 | *call to data | bal.cpp:190:17:190:19 | ** ... | provenance | | -| bal.cpp:190:17:190:19 | ** ... | bal.cpp:190:22:190:25 | decode output argument | provenance | MaD:103 | -| bal.cpp:190:22:190:25 | decode output argument | bal.cpp:191:7:191:17 | * ... | provenance | TaintFunction | -| bal.cpp:195:19:195:26 | call to source | bal.cpp:196:23:196:51 | *call to data | provenance | TaintFunction | +| bal.cpp:186:37:186:40 | data | bal.cpp:186:21:186:47 | *call to data | provenance | MaD:275 | +| bal.cpp:190:17:190:19 | ** ... | bal.cpp:190:22:190:25 | decode output argument | provenance | MaD:105 | +| bal.cpp:190:22:190:25 | decode output argument | bal.cpp:191:8:191:10 | out | provenance | | +| bal.cpp:191:7:191:17 | * ... | bal.cpp:191:7:191:17 | * ... | provenance | MaD:276 | +| bal.cpp:191:7:191:17 | * ... | bal.cpp:191:7:191:17 | * ... | provenance | MaD:276 | +| bal.cpp:191:7:191:17 | * ... | bal.cpp:191:7:191:17 | * ... | provenance | MaD:276+MaD:275 | +| bal.cpp:191:7:191:17 | * ... | bal.cpp:191:7:191:17 | * ... | provenance | MaD:276+MaD:275 | +| bal.cpp:191:8:191:10 | out | bal.cpp:191:7:191:17 | * ... | provenance | MaD:275 | +| bal.cpp:191:8:191:10 | out | bal.cpp:191:7:191:17 | * ... | provenance | MaD:275 | +| bal.cpp:195:19:195:26 | call to source | bal.cpp:196:41:196:44 | data | provenance | TaintFunction | +| bal.cpp:196:23:196:51 | *call to data | bal.cpp:196:23:196:51 | *call to data | provenance | | +| bal.cpp:196:23:196:51 | *call to data | bal.cpp:196:23:196:51 | *call to data | provenance | MaD:276 | +| bal.cpp:196:23:196:51 | *call to data | bal.cpp:196:23:196:51 | *call to data | provenance | MaD:276+MaD:275 | | bal.cpp:196:23:196:51 | *call to data | bal.cpp:199:20:199:21 | *sb | provenance | | -| bal.cpp:199:20:199:21 | *sb | bal.cpp:199:24:199:27 | decodeAny output argument | provenance | MaD:104 | -| bal.cpp:199:24:199:27 | decodeAny output argument | bal.cpp:200:7:200:17 | * ... | provenance | TaintFunction | +| bal.cpp:196:41:196:44 | data | bal.cpp:196:23:196:51 | *call to data | provenance | MaD:275 | +| bal.cpp:199:20:199:21 | *sb | bal.cpp:199:24:199:27 | decodeAny output argument | provenance | MaD:106 | +| bal.cpp:199:24:199:27 | decodeAny output argument | bal.cpp:200:8:200:10 | out | provenance | | +| bal.cpp:200:7:200:17 | * ... | bal.cpp:200:7:200:17 | * ... | provenance | MaD:276 | +| bal.cpp:200:7:200:17 | * ... | bal.cpp:200:7:200:17 | * ... | provenance | MaD:276 | +| bal.cpp:200:7:200:17 | * ... | bal.cpp:200:7:200:17 | * ... | provenance | MaD:276+MaD:275 | +| bal.cpp:200:7:200:17 | * ... | bal.cpp:200:7:200:17 | * ... | provenance | MaD:276+MaD:275 | +| bal.cpp:200:8:200:10 | out | bal.cpp:200:7:200:17 | * ... | provenance | MaD:275 | +| bal.cpp:200:8:200:10 | out | bal.cpp:200:7:200:17 | * ... | provenance | MaD:275 | | bal.cpp:204:18:204:25 | call to source | bal.cpp:208:40:208:42 | *obj | provenance | TaintFunction | | bal.cpp:208:17:208:37 | encode output argument | bal.cpp:209:7:209:12 | access to array | provenance | | -| bal.cpp:208:40:208:42 | *obj | bal.cpp:208:17:208:37 | encode output argument | provenance | MaD:105 | +| bal.cpp:208:40:208:42 | *obj | bal.cpp:208:17:208:37 | encode output argument | provenance | MaD:107 | | bal.cpp:213:18:213:25 | call to source | bal.cpp:216:43:216:45 | *obj | provenance | TaintFunction | | bal.cpp:216:20:216:40 | encodeAny output argument | bal.cpp:217:7:217:12 | access to array | provenance | | -| bal.cpp:216:43:216:45 | *obj | bal.cpp:216:20:216:40 | encodeAny output argument | provenance | MaD:106 | -| bal.cpp:222:19:222:26 | call to source | bal.cpp:223:23:223:51 | *call to data | provenance | TaintFunction | +| bal.cpp:216:43:216:45 | *obj | bal.cpp:216:20:216:40 | encodeAny output argument | provenance | MaD:108 | +| bal.cpp:222:19:222:26 | call to source | bal.cpp:223:41:223:44 | data | provenance | TaintFunction | +| bal.cpp:223:23:223:51 | *call to data | bal.cpp:223:23:223:51 | *call to data | provenance | | +| bal.cpp:223:23:223:51 | *call to data | bal.cpp:223:23:223:51 | *call to data | provenance | MaD:276 | +| bal.cpp:223:23:223:51 | *call to data | bal.cpp:223:23:223:51 | *call to data | provenance | MaD:276+MaD:275 | | bal.cpp:223:23:223:51 | *call to data | bal.cpp:226:17:226:18 | *sb | provenance | | -| bal.cpp:226:17:226:18 | *sb | bal.cpp:226:21:226:24 | decode output argument | provenance | MaD:103 | +| bal.cpp:223:41:223:44 | data | bal.cpp:223:23:223:51 | *call to data | provenance | MaD:275 | +| bal.cpp:226:17:226:18 | *sb | bal.cpp:226:21:226:24 | decode output argument | provenance | MaD:105 | | bal.cpp:226:21:226:24 | decode output argument | bal.cpp:229:40:229:42 | *rec | provenance | | | bal.cpp:229:17:229:37 | encode output argument | bal.cpp:230:7:230:12 | access to array | provenance | | -| bal.cpp:229:40:229:42 | *rec | bal.cpp:229:17:229:37 | encode output argument | provenance | MaD:105 | -| bal.cpp:245:19:245:26 | call to source | bal.cpp:246:21:246:47 | *call to data | provenance | TaintFunction | +| bal.cpp:229:40:229:42 | *rec | bal.cpp:229:17:229:37 | encode output argument | provenance | MaD:107 | +| bal.cpp:245:19:245:26 | call to source | bal.cpp:246:37:246:40 | data | provenance | TaintFunction | +| bal.cpp:246:21:246:47 | *call to data | bal.cpp:246:21:246:47 | *call to data | provenance | | +| bal.cpp:246:21:246:47 | *call to data | bal.cpp:246:21:246:47 | *call to data | provenance | MaD:276 | +| bal.cpp:246:21:246:47 | *call to data | bal.cpp:246:21:246:47 | *call to data | provenance | MaD:276+MaD:275 | | bal.cpp:246:21:246:47 | *call to data | bal.cpp:249:17:249:19 | ** ... | provenance | | -| bal.cpp:249:17:249:19 | ** ... | bal.cpp:249:22:249:25 | decode output argument | provenance | MaD:108 | -| bal.cpp:249:22:249:25 | decode output argument | bal.cpp:250:7:250:17 | * ... | provenance | TaintFunction | -| bal.cpp:254:19:254:26 | call to source | bal.cpp:255:21:255:47 | *call to data | provenance | TaintFunction | +| bal.cpp:246:37:246:40 | data | bal.cpp:246:21:246:47 | *call to data | provenance | MaD:275 | +| bal.cpp:249:17:249:19 | ** ... | bal.cpp:249:22:249:25 | decode output argument | provenance | MaD:110 | +| bal.cpp:249:22:249:25 | decode output argument | bal.cpp:250:8:250:10 | out | provenance | | +| bal.cpp:250:7:250:17 | * ... | bal.cpp:250:7:250:17 | * ... | provenance | MaD:276 | +| bal.cpp:250:7:250:17 | * ... | bal.cpp:250:7:250:17 | * ... | provenance | MaD:276 | +| bal.cpp:250:7:250:17 | * ... | bal.cpp:250:7:250:17 | * ... | provenance | MaD:276+MaD:275 | +| bal.cpp:250:7:250:17 | * ... | bal.cpp:250:7:250:17 | * ... | provenance | MaD:276+MaD:275 | +| bal.cpp:250:8:250:10 | out | bal.cpp:250:7:250:17 | * ... | provenance | MaD:275 | +| bal.cpp:250:8:250:10 | out | bal.cpp:250:7:250:17 | * ... | provenance | MaD:275 | +| bal.cpp:254:19:254:26 | call to source | bal.cpp:255:37:255:40 | data | provenance | TaintFunction | +| bal.cpp:255:21:255:47 | *call to data | bal.cpp:255:21:255:47 | *call to data | provenance | | +| bal.cpp:255:21:255:47 | *call to data | bal.cpp:255:21:255:47 | *call to data | provenance | MaD:276 | +| bal.cpp:255:21:255:47 | *call to data | bal.cpp:255:21:255:47 | *call to data | provenance | MaD:276+MaD:275 | | bal.cpp:255:21:255:47 | *call to data | bal.cpp:258:35:258:37 | ** ... | provenance | | +| bal.cpp:255:37:255:40 | data | bal.cpp:255:21:255:47 | *call to data | provenance | MaD:275 | | bal.cpp:258:34:258:52 | *call to decode | bal.cpp:258:34:258:52 | *call to decode | provenance | | | bal.cpp:258:34:258:52 | *call to decode | bal.cpp:259:7:259:17 | * ... | provenance | | -| bal.cpp:258:35:258:37 | ** ... | bal.cpp:258:34:258:52 | *call to decode | provenance | MaD:109 | -| bal.cpp:258:35:258:37 | ** ... | bal.cpp:258:40:258:43 | decode output argument | provenance | MaD:108 | +| bal.cpp:258:35:258:37 | ** ... | bal.cpp:258:34:258:52 | *call to decode | provenance | MaD:111 | +| bal.cpp:258:35:258:37 | ** ... | bal.cpp:258:40:258:43 | decode output argument | provenance | MaD:110 | | bal.cpp:258:40:258:43 | decode output argument | bal.cpp:260:7:260:9 | out | provenance | | -| bal.cpp:264:19:264:26 | call to source | bal.cpp:265:23:265:51 | *call to data | provenance | TaintFunction | +| bal.cpp:264:19:264:26 | call to source | bal.cpp:265:41:265:44 | data | provenance | TaintFunction | +| bal.cpp:265:23:265:51 | *call to data | bal.cpp:265:23:265:51 | *call to data | provenance | | +| bal.cpp:265:23:265:51 | *call to data | bal.cpp:265:23:265:51 | *call to data | provenance | MaD:276 | +| bal.cpp:265:23:265:51 | *call to data | bal.cpp:265:23:265:51 | *call to data | provenance | MaD:276+MaD:275 | | bal.cpp:265:23:265:51 | *call to data | bal.cpp:268:17:268:18 | *sb | provenance | | -| bal.cpp:268:17:268:18 | *sb | bal.cpp:268:21:268:24 | decode output argument | provenance | MaD:110 | -| bal.cpp:268:21:268:24 | decode output argument | bal.cpp:269:7:269:17 | * ... | provenance | TaintFunction | -| bal.cpp:273:19:273:26 | call to source | bal.cpp:276:22:276:25 | *call to data | provenance | TaintFunction | -| bal.cpp:276:22:276:25 | *call to data | bal.cpp:276:43:276:46 | decode output argument | provenance | MaD:107 | -| bal.cpp:276:43:276:46 | decode output argument | bal.cpp:277:7:277:17 | * ... | provenance | TaintFunction | -| bal.cpp:301:19:301:26 | call to source | bal.cpp:302:21:302:47 | *call to data | provenance | TaintFunction | +| bal.cpp:265:41:265:44 | data | bal.cpp:265:23:265:51 | *call to data | provenance | MaD:275 | +| bal.cpp:268:17:268:18 | *sb | bal.cpp:268:21:268:24 | decode output argument | provenance | MaD:112 | +| bal.cpp:268:21:268:24 | decode output argument | bal.cpp:269:8:269:10 | out | provenance | | +| bal.cpp:269:7:269:17 | * ... | bal.cpp:269:7:269:17 | * ... | provenance | MaD:276 | +| bal.cpp:269:7:269:17 | * ... | bal.cpp:269:7:269:17 | * ... | provenance | MaD:276 | +| bal.cpp:269:7:269:17 | * ... | bal.cpp:269:7:269:17 | * ... | provenance | MaD:276+MaD:275 | +| bal.cpp:269:7:269:17 | * ... | bal.cpp:269:7:269:17 | * ... | provenance | MaD:276+MaD:275 | +| bal.cpp:269:8:269:10 | out | bal.cpp:269:7:269:17 | * ... | provenance | MaD:275 | +| bal.cpp:269:8:269:10 | out | bal.cpp:269:7:269:17 | * ... | provenance | MaD:275 | +| bal.cpp:273:19:273:26 | call to source | bal.cpp:276:17:276:20 | data | provenance | TaintFunction | +| bal.cpp:276:17:276:20 | data | bal.cpp:276:22:276:25 | *call to data | provenance | MaD:275 | +| bal.cpp:276:22:276:25 | *call to data | bal.cpp:276:22:276:25 | *call to data | provenance | MaD:276 | +| bal.cpp:276:22:276:25 | *call to data | bal.cpp:276:22:276:25 | *call to data | provenance | MaD:276+MaD:275 | +| bal.cpp:276:22:276:25 | *call to data | bal.cpp:276:43:276:46 | decode output argument | provenance | MaD:109 | +| bal.cpp:276:43:276:46 | decode output argument | bal.cpp:277:8:277:10 | out | provenance | | +| bal.cpp:277:7:277:17 | * ... | bal.cpp:277:7:277:17 | * ... | provenance | MaD:276 | +| bal.cpp:277:7:277:17 | * ... | bal.cpp:277:7:277:17 | * ... | provenance | MaD:276 | +| bal.cpp:277:7:277:17 | * ... | bal.cpp:277:7:277:17 | * ... | provenance | MaD:276+MaD:275 | +| bal.cpp:277:7:277:17 | * ... | bal.cpp:277:7:277:17 | * ... | provenance | MaD:276+MaD:275 | +| bal.cpp:277:8:277:10 | out | bal.cpp:277:7:277:17 | * ... | provenance | MaD:275 | +| bal.cpp:277:8:277:10 | out | bal.cpp:277:7:277:17 | * ... | provenance | MaD:275 | +| bal.cpp:301:19:301:26 | call to source | bal.cpp:302:37:302:40 | data | provenance | TaintFunction | +| bal.cpp:302:21:302:47 | *call to data | bal.cpp:302:21:302:47 | *call to data | provenance | | +| bal.cpp:302:21:302:47 | *call to data | bal.cpp:302:21:302:47 | *call to data | provenance | MaD:276 | +| bal.cpp:302:21:302:47 | *call to data | bal.cpp:302:21:302:47 | *call to data | provenance | MaD:276+MaD:275 | | bal.cpp:302:21:302:47 | *call to data | bal.cpp:305:20:305:22 | ** ... | provenance | | -| bal.cpp:305:20:305:22 | ** ... | bal.cpp:305:25:305:28 | decodeAny output argument | provenance | MaD:114 | -| bal.cpp:305:25:305:28 | decodeAny output argument | bal.cpp:306:7:306:17 | * ... | provenance | TaintFunction | -| bal.cpp:310:19:310:26 | call to source | bal.cpp:311:21:311:47 | *call to data | provenance | TaintFunction | +| bal.cpp:302:37:302:40 | data | bal.cpp:302:21:302:47 | *call to data | provenance | MaD:275 | +| bal.cpp:305:20:305:22 | ** ... | bal.cpp:305:25:305:28 | decodeAny output argument | provenance | MaD:116 | +| bal.cpp:305:25:305:28 | decodeAny output argument | bal.cpp:306:8:306:10 | out | provenance | | +| bal.cpp:306:7:306:17 | * ... | bal.cpp:306:7:306:17 | * ... | provenance | MaD:276 | +| bal.cpp:306:7:306:17 | * ... | bal.cpp:306:7:306:17 | * ... | provenance | MaD:276 | +| bal.cpp:306:7:306:17 | * ... | bal.cpp:306:7:306:17 | * ... | provenance | MaD:276+MaD:275 | +| bal.cpp:306:7:306:17 | * ... | bal.cpp:306:7:306:17 | * ... | provenance | MaD:276+MaD:275 | +| bal.cpp:306:8:306:10 | out | bal.cpp:306:7:306:17 | * ... | provenance | MaD:275 | +| bal.cpp:306:8:306:10 | out | bal.cpp:306:7:306:17 | * ... | provenance | MaD:275 | +| bal.cpp:310:19:310:26 | call to source | bal.cpp:311:37:311:40 | data | provenance | TaintFunction | +| bal.cpp:311:21:311:47 | *call to data | bal.cpp:311:21:311:47 | *call to data | provenance | | +| bal.cpp:311:21:311:47 | *call to data | bal.cpp:311:21:311:47 | *call to data | provenance | MaD:276 | +| bal.cpp:311:21:311:47 | *call to data | bal.cpp:311:21:311:47 | *call to data | provenance | MaD:276+MaD:275 | | bal.cpp:311:21:311:47 | *call to data | bal.cpp:314:38:314:40 | ** ... | provenance | | +| bal.cpp:311:37:311:40 | data | bal.cpp:311:21:311:47 | *call to data | provenance | MaD:275 | | bal.cpp:314:37:314:48 | *call to decodeAny | bal.cpp:314:37:314:48 | *call to decodeAny | provenance | | | bal.cpp:314:37:314:48 | *call to decodeAny | bal.cpp:315:7:315:17 | * ... | provenance | | -| bal.cpp:314:38:314:40 | ** ... | bal.cpp:314:37:314:48 | *call to decodeAny | provenance | MaD:115 | -| bal.cpp:314:38:314:40 | ** ... | bal.cpp:314:43:314:46 | decodeAny output argument | provenance | MaD:114 | +| bal.cpp:314:38:314:40 | ** ... | bal.cpp:314:37:314:48 | *call to decodeAny | provenance | MaD:117 | +| bal.cpp:314:38:314:40 | ** ... | bal.cpp:314:43:314:46 | decodeAny output argument | provenance | MaD:116 | | bal.cpp:314:43:314:46 | decodeAny output argument | bal.cpp:316:7:316:9 | out | provenance | | -| bal.cpp:320:19:320:26 | call to source | bal.cpp:321:23:321:51 | *call to data | provenance | TaintFunction | +| bal.cpp:320:19:320:26 | call to source | bal.cpp:321:41:321:44 | data | provenance | TaintFunction | +| bal.cpp:321:23:321:51 | *call to data | bal.cpp:321:23:321:51 | *call to data | provenance | | +| bal.cpp:321:23:321:51 | *call to data | bal.cpp:321:23:321:51 | *call to data | provenance | MaD:276 | +| bal.cpp:321:23:321:51 | *call to data | bal.cpp:321:23:321:51 | *call to data | provenance | MaD:276+MaD:275 | | bal.cpp:321:23:321:51 | *call to data | bal.cpp:324:20:324:21 | *sb | provenance | | -| bal.cpp:324:20:324:21 | *sb | bal.cpp:324:24:324:27 | decodeAny output argument | provenance | MaD:116 | -| bal.cpp:324:24:324:27 | decodeAny output argument | bal.cpp:325:7:325:17 | * ... | provenance | TaintFunction | -| bal.cpp:329:19:329:26 | call to source | bal.cpp:330:21:330:47 | *call to data | provenance | TaintFunction | +| bal.cpp:321:41:321:44 | data | bal.cpp:321:23:321:51 | *call to data | provenance | MaD:275 | +| bal.cpp:324:20:324:21 | *sb | bal.cpp:324:24:324:27 | decodeAny output argument | provenance | MaD:118 | +| bal.cpp:324:24:324:27 | decodeAny output argument | bal.cpp:325:8:325:10 | out | provenance | | +| bal.cpp:325:7:325:17 | * ... | bal.cpp:325:7:325:17 | * ... | provenance | MaD:276 | +| bal.cpp:325:7:325:17 | * ... | bal.cpp:325:7:325:17 | * ... | provenance | MaD:276 | +| bal.cpp:325:7:325:17 | * ... | bal.cpp:325:7:325:17 | * ... | provenance | MaD:276+MaD:275 | +| bal.cpp:325:7:325:17 | * ... | bal.cpp:325:7:325:17 | * ... | provenance | MaD:276+MaD:275 | +| bal.cpp:325:8:325:10 | out | bal.cpp:325:7:325:17 | * ... | provenance | MaD:275 | +| bal.cpp:325:8:325:10 | out | bal.cpp:325:7:325:17 | * ... | provenance | MaD:275 | +| bal.cpp:329:19:329:26 | call to source | bal.cpp:330:37:330:40 | data | provenance | TaintFunction | +| bal.cpp:330:21:330:47 | *call to data | bal.cpp:330:21:330:47 | *call to data | provenance | | +| bal.cpp:330:21:330:47 | *call to data | bal.cpp:330:21:330:47 | *call to data | provenance | MaD:276 | +| bal.cpp:330:21:330:47 | *call to data | bal.cpp:330:21:330:47 | *call to data | provenance | MaD:276+MaD:275 | | bal.cpp:330:21:330:47 | *call to data | bal.cpp:333:20:333:22 | ** ... | provenance | | -| bal.cpp:333:20:333:22 | ** ... | bal.cpp:333:25:333:28 | decodeAny output argument | provenance | MaD:111 | +| bal.cpp:330:37:330:40 | data | bal.cpp:330:21:330:47 | *call to data | provenance | MaD:275 | +| bal.cpp:333:20:333:22 | ** ... | bal.cpp:333:25:333:28 | decodeAny output argument | provenance | MaD:113 | | bal.cpp:333:25:333:28 | decodeAny output argument | bal.cpp:334:7:334:19 | * ... | provenance | | -| bal.cpp:338:19:338:26 | call to source | bal.cpp:339:21:339:47 | *call to data | provenance | TaintFunction | +| bal.cpp:338:19:338:26 | call to source | bal.cpp:339:37:339:40 | data | provenance | TaintFunction | +| bal.cpp:339:21:339:47 | *call to data | bal.cpp:339:21:339:47 | *call to data | provenance | | +| bal.cpp:339:21:339:47 | *call to data | bal.cpp:339:21:339:47 | *call to data | provenance | MaD:276 | +| bal.cpp:339:21:339:47 | *call to data | bal.cpp:339:21:339:47 | *call to data | provenance | MaD:276+MaD:275 | | bal.cpp:339:21:339:47 | *call to data | bal.cpp:342:38:342:40 | ** ... | provenance | | +| bal.cpp:339:37:339:40 | data | bal.cpp:339:21:339:47 | *call to data | provenance | MaD:275 | | bal.cpp:342:37:342:48 | *call to decodeAny | bal.cpp:342:37:342:48 | *call to decodeAny | provenance | | | bal.cpp:342:37:342:48 | *call to decodeAny | bal.cpp:343:7:343:17 | * ... | provenance | | -| bal.cpp:342:38:342:40 | ** ... | bal.cpp:342:37:342:48 | *call to decodeAny | provenance | MaD:112 | -| bal.cpp:342:38:342:40 | ** ... | bal.cpp:342:43:342:46 | decodeAny output argument | provenance | MaD:111 | +| bal.cpp:342:38:342:40 | ** ... | bal.cpp:342:37:342:48 | *call to decodeAny | provenance | MaD:114 | +| bal.cpp:342:38:342:40 | ** ... | bal.cpp:342:43:342:46 | decodeAny output argument | provenance | MaD:113 | | bal.cpp:342:43:342:46 | decodeAny output argument | bal.cpp:344:7:344:19 | * ... | provenance | | -| bal.cpp:348:19:348:26 | call to source | bal.cpp:349:23:349:51 | *call to data | provenance | TaintFunction | +| bal.cpp:348:19:348:26 | call to source | bal.cpp:349:41:349:44 | data | provenance | TaintFunction | +| bal.cpp:349:23:349:51 | *call to data | bal.cpp:349:23:349:51 | *call to data | provenance | | +| bal.cpp:349:23:349:51 | *call to data | bal.cpp:349:23:349:51 | *call to data | provenance | MaD:276 | +| bal.cpp:349:23:349:51 | *call to data | bal.cpp:349:23:349:51 | *call to data | provenance | MaD:276+MaD:275 | | bal.cpp:349:23:349:51 | *call to data | bal.cpp:352:20:352:21 | *sb | provenance | | -| bal.cpp:352:20:352:21 | *sb | bal.cpp:352:24:352:27 | decodeAny output argument | provenance | MaD:113 | +| bal.cpp:349:41:349:44 | data | bal.cpp:349:23:349:51 | *call to data | provenance | MaD:275 | +| bal.cpp:352:20:352:21 | *sb | bal.cpp:352:24:352:27 | decodeAny output argument | provenance | MaD:115 | | bal.cpp:352:24:352:27 | decodeAny output argument | bal.cpp:353:7:353:19 | * ... | provenance | | | bal.cpp:357:18:357:25 | call to source | bal.cpp:360:40:360:42 | *obj | provenance | TaintFunction | | bal.cpp:360:17:360:37 | encode output argument | bal.cpp:361:7:361:12 | access to array | provenance | | -| bal.cpp:360:40:360:42 | *obj | bal.cpp:360:17:360:37 | encode output argument | provenance | MaD:119 | +| bal.cpp:360:40:360:42 | *obj | bal.cpp:360:17:360:37 | encode output argument | provenance | MaD:121 | | bal.cpp:365:18:365:25 | call to source | bal.cpp:368:39:368:41 | *obj | provenance | TaintFunction | | bal.cpp:368:17:368:36 | encode output argument | bal.cpp:369:7:369:12 | access to array | provenance | | -| bal.cpp:368:39:368:41 | *obj | bal.cpp:368:17:368:36 | encode output argument | provenance | MaD:118 | +| bal.cpp:368:39:368:41 | *obj | bal.cpp:368:17:368:36 | encode output argument | provenance | MaD:120 | | bal.cpp:373:18:373:25 | call to source | bal.cpp:376:57:376:59 | *obj | provenance | TaintFunction | | bal.cpp:376:34:376:61 | *call to encode | bal.cpp:376:34:376:61 | *call to encode | provenance | | | bal.cpp:376:34:376:61 | *call to encode | bal.cpp:377:7:377:17 | * ... | provenance | | | bal.cpp:376:35:376:54 | encode output argument | bal.cpp:378:7:378:12 | access to array | provenance | | -| bal.cpp:376:57:376:59 | *obj | bal.cpp:376:34:376:61 | *call to encode | provenance | MaD:117 | -| bal.cpp:376:57:376:59 | *obj | bal.cpp:376:35:376:54 | encode output argument | provenance | MaD:118 | -| bal.cpp:382:19:382:26 | call to source | bal.cpp:383:21:383:47 | *call to data | provenance | TaintFunction | +| bal.cpp:376:57:376:59 | *obj | bal.cpp:376:34:376:61 | *call to encode | provenance | MaD:119 | +| bal.cpp:376:57:376:59 | *obj | bal.cpp:376:35:376:54 | encode output argument | provenance | MaD:120 | +| bal.cpp:382:19:382:26 | call to source | bal.cpp:383:37:383:40 | data | provenance | TaintFunction | +| bal.cpp:383:21:383:47 | *call to data | bal.cpp:383:21:383:47 | *call to data | provenance | | +| bal.cpp:383:21:383:47 | *call to data | bal.cpp:383:21:383:47 | *call to data | provenance | MaD:276 | +| bal.cpp:383:21:383:47 | *call to data | bal.cpp:383:21:383:47 | *call to data | provenance | MaD:276+MaD:275 | | bal.cpp:383:21:383:47 | *call to data | bal.cpp:386:35:386:37 | ** ... | provenance | | +| bal.cpp:383:37:383:40 | data | bal.cpp:383:21:383:47 | *call to data | provenance | MaD:275 | | bal.cpp:386:34:386:44 | *call to encode | bal.cpp:386:34:386:44 | *call to encode | provenance | | | bal.cpp:386:34:386:44 | *call to encode | bal.cpp:387:7:387:17 | * ... | provenance | | -| bal.cpp:386:35:386:37 | ** ... | bal.cpp:386:34:386:44 | *call to encode | provenance | MaD:117 | +| bal.cpp:386:35:386:37 | ** ... | bal.cpp:386:34:386:44 | *call to encode | provenance | MaD:119 | | bal.cpp:391:18:391:25 | call to source | bal.cpp:394:47:394:49 | *obj | provenance | TaintFunction | | bal.cpp:394:25:394:44 | encodeToStream output argument | bal.cpp:395:7:395:12 | access to array | provenance | | -| bal.cpp:394:47:394:49 | *obj | bal.cpp:394:25:394:44 | encodeToStream output argument | provenance | MaD:127 | +| bal.cpp:394:47:394:49 | *obj | bal.cpp:394:25:394:44 | encodeToStream output argument | provenance | MaD:129 | | bal.cpp:409:18:409:25 | call to source | bal.cpp:412:43:412:45 | *obj | provenance | TaintFunction | | bal.cpp:412:20:412:40 | encodeAny output argument | bal.cpp:413:7:413:12 | access to array | provenance | | -| bal.cpp:412:43:412:45 | *obj | bal.cpp:412:20:412:40 | encodeAny output argument | provenance | MaD:125 | +| bal.cpp:412:43:412:45 | *obj | bal.cpp:412:20:412:40 | encodeAny output argument | provenance | MaD:127 | | bal.cpp:417:18:417:25 | call to source | bal.cpp:420:42:420:44 | *obj | provenance | TaintFunction | | bal.cpp:420:20:420:39 | encodeAny output argument | bal.cpp:421:7:421:12 | access to array | provenance | | -| bal.cpp:420:42:420:44 | *obj | bal.cpp:420:20:420:39 | encodeAny output argument | provenance | MaD:124 | +| bal.cpp:420:42:420:44 | *obj | bal.cpp:420:20:420:39 | encodeAny output argument | provenance | MaD:126 | | bal.cpp:425:18:425:25 | call to source | bal.cpp:428:60:428:62 | *obj | provenance | TaintFunction | | bal.cpp:428:37:428:64 | *call to encodeAny | bal.cpp:428:37:428:64 | *call to encodeAny | provenance | | | bal.cpp:428:37:428:64 | *call to encodeAny | bal.cpp:429:7:429:17 | * ... | provenance | | | bal.cpp:428:38:428:57 | encodeAny output argument | bal.cpp:430:7:430:12 | access to array | provenance | | -| bal.cpp:428:60:428:62 | *obj | bal.cpp:428:37:428:64 | *call to encodeAny | provenance | MaD:123 | -| bal.cpp:428:60:428:62 | *obj | bal.cpp:428:38:428:57 | encodeAny output argument | provenance | MaD:124 | +| bal.cpp:428:60:428:62 | *obj | bal.cpp:428:37:428:64 | *call to encodeAny | provenance | MaD:125 | +| bal.cpp:428:60:428:62 | *obj | bal.cpp:428:38:428:57 | encodeAny output argument | provenance | MaD:126 | | bal.cpp:434:18:434:25 | call to source | bal.cpp:437:50:437:52 | *obj | provenance | TaintFunction | | bal.cpp:437:28:437:47 | encodeAnyToStream output argument | bal.cpp:438:7:438:12 | access to array | provenance | | -| bal.cpp:437:50:437:52 | *obj | bal.cpp:437:28:437:47 | encodeAnyToStream output argument | provenance | MaD:126 | -| bal.cpp:442:19:442:26 | call to source | bal.cpp:443:41:443:86 | *call to data | provenance | TaintFunction | +| bal.cpp:437:50:437:52 | *obj | bal.cpp:437:28:437:47 | encodeAnyToStream output argument | provenance | MaD:128 | +| bal.cpp:442:19:442:26 | call to source | bal.cpp:443:76:443:79 | data | provenance | TaintFunction | +| bal.cpp:443:41:443:86 | *call to data | bal.cpp:443:41:443:86 | *call to data | provenance | | +| bal.cpp:443:41:443:86 | *call to data | bal.cpp:443:41:443:86 | *call to data | provenance | MaD:276 | +| bal.cpp:443:41:443:86 | *call to data | bal.cpp:443:41:443:86 | *call to data | provenance | MaD:276+MaD:275 | | bal.cpp:443:41:443:86 | *call to data | bal.cpp:446:43:446:46 | ** ... | provenance | | +| bal.cpp:443:76:443:79 | data | bal.cpp:443:41:443:86 | *call to data | provenance | MaD:275 | | bal.cpp:446:20:446:40 | encodeAny output argument | bal.cpp:447:7:447:12 | access to array | provenance | | -| bal.cpp:446:43:446:46 | ** ... | bal.cpp:446:20:446:40 | encodeAny output argument | provenance | MaD:122 | -| bal.cpp:451:19:451:26 | call to source | bal.cpp:452:41:452:86 | *call to data | provenance | TaintFunction | +| bal.cpp:446:43:446:46 | ** ... | bal.cpp:446:20:446:40 | encodeAny output argument | provenance | MaD:124 | +| bal.cpp:451:19:451:26 | call to source | bal.cpp:452:76:452:79 | data | provenance | TaintFunction | +| bal.cpp:452:41:452:86 | *call to data | bal.cpp:452:41:452:86 | *call to data | provenance | | +| bal.cpp:452:41:452:86 | *call to data | bal.cpp:452:41:452:86 | *call to data | provenance | MaD:276 | +| bal.cpp:452:41:452:86 | *call to data | bal.cpp:452:41:452:86 | *call to data | provenance | MaD:276+MaD:275 | | bal.cpp:452:41:452:86 | *call to data | bal.cpp:455:42:455:45 | ** ... | provenance | | +| bal.cpp:452:76:452:79 | data | bal.cpp:452:41:452:86 | *call to data | provenance | MaD:275 | | bal.cpp:455:20:455:39 | encodeAny output argument | bal.cpp:456:7:456:12 | access to array | provenance | | -| bal.cpp:455:42:455:45 | ** ... | bal.cpp:455:20:455:39 | encodeAny output argument | provenance | MaD:121 | -| bal.cpp:460:19:460:26 | call to source | bal.cpp:461:41:461:86 | *call to data | provenance | TaintFunction | +| bal.cpp:455:42:455:45 | ** ... | bal.cpp:455:20:455:39 | encodeAny output argument | provenance | MaD:123 | +| bal.cpp:460:19:460:26 | call to source | bal.cpp:461:76:461:79 | data | provenance | TaintFunction | +| bal.cpp:461:41:461:86 | *call to data | bal.cpp:461:41:461:86 | *call to data | provenance | | +| bal.cpp:461:41:461:86 | *call to data | bal.cpp:461:41:461:86 | *call to data | provenance | MaD:276 | +| bal.cpp:461:41:461:86 | *call to data | bal.cpp:461:41:461:86 | *call to data | provenance | MaD:276+MaD:275 | | bal.cpp:461:41:461:86 | *call to data | bal.cpp:464:60:464:63 | ** ... | provenance | | +| bal.cpp:461:76:461:79 | data | bal.cpp:461:41:461:86 | *call to data | provenance | MaD:275 | | bal.cpp:464:37:464:65 | *call to encodeAny | bal.cpp:464:37:464:65 | *call to encodeAny | provenance | | | bal.cpp:464:37:464:65 | *call to encodeAny | bal.cpp:465:7:465:17 | * ... | provenance | | | bal.cpp:464:38:464:57 | encodeAny output argument | bal.cpp:466:7:466:12 | access to array | provenance | | -| bal.cpp:464:60:464:63 | ** ... | bal.cpp:464:37:464:65 | *call to encodeAny | provenance | MaD:120 | -| bal.cpp:464:60:464:63 | ** ... | bal.cpp:464:38:464:57 | encodeAny output argument | provenance | MaD:121 | -| bdlbb.cpp:37:16:37:23 | call to source | bdlbb.cpp:39:49:39:52 | *call to data | provenance | TaintFunction | +| bal.cpp:464:60:464:63 | ** ... | bal.cpp:464:37:464:65 | *call to encodeAny | provenance | MaD:122 | +| bal.cpp:464:60:464:63 | ** ... | bal.cpp:464:38:464:57 | encodeAny output argument | provenance | MaD:123 | +| bdlbb.cpp:37:16:37:23 | call to source | bdlbb.cpp:39:47:39:47 | s | provenance | TaintFunction | | bdlbb.cpp:39:37:39:41 | copy output argument | bdlbb.cpp:41:42:41:45 | *blob | provenance | | -| bdlbb.cpp:39:49:39:52 | *call to data | bdlbb.cpp:39:37:39:41 | copy output argument | provenance | MaD:132 | +| bdlbb.cpp:39:47:39:47 | s | bdlbb.cpp:39:49:39:52 | *call to data | provenance | MaD:275 | +| bdlbb.cpp:39:49:39:52 | *call to data | bdlbb.cpp:39:37:39:41 | copy output argument | provenance | MaD:134 | +| bdlbb.cpp:39:49:39:52 | *call to data | bdlbb.cpp:39:49:39:52 | *call to data | provenance | MaD:276 | +| bdlbb.cpp:39:49:39:52 | *call to data | bdlbb.cpp:39:49:39:52 | *call to data | provenance | MaD:276+MaD:275 | | bdlbb.cpp:41:37:41:39 | copy output argument | bdlbb.cpp:42:7:42:10 | * ... | provenance | | -| bdlbb.cpp:41:42:41:45 | *blob | bdlbb.cpp:41:37:41:39 | copy output argument | provenance | MaD:133 | -| bdlbb.cpp:46:16:46:23 | call to source | bdlbb.cpp:48:49:48:52 | *call to data | provenance | TaintFunction | -| bdlbb.cpp:48:37:48:41 | copy output argument | bdlbb.cpp:49:18:49:21 | *blob | provenance | | -| bdlbb.cpp:48:49:48:52 | *call to data | bdlbb.cpp:48:37:48:41 | copy output argument | provenance | MaD:132 | -| bdlbb.cpp:49:18:49:21 | *blob | bdlbb.cpp:49:29:49:32 | *call to buffer | provenance | MaD:128 | +| bdlbb.cpp:41:42:41:45 | *blob | bdlbb.cpp:41:37:41:39 | copy output argument | provenance | MaD:135 | +| bdlbb.cpp:46:16:46:23 | call to source | bdlbb.cpp:48:47:48:47 | s | provenance | TaintFunction | +| bdlbb.cpp:48:37:48:41 | copy output argument | bdlbb.cpp:49:18:49:21 | blob | provenance | | +| bdlbb.cpp:48:47:48:47 | s | bdlbb.cpp:48:49:48:52 | *call to data | provenance | MaD:275 | +| bdlbb.cpp:48:49:48:52 | *call to data | bdlbb.cpp:48:37:48:41 | copy output argument | provenance | MaD:134 | +| bdlbb.cpp:48:49:48:52 | *call to data | bdlbb.cpp:48:49:48:52 | *call to data | provenance | MaD:276 | +| bdlbb.cpp:48:49:48:52 | *call to data | bdlbb.cpp:48:49:48:52 | *call to data | provenance | MaD:276+MaD:275 | +| bdlbb.cpp:49:18:49:21 | blob | bdlbb.cpp:49:29:49:32 | call to buffer | provenance | MaD:130 | | bdlbb.cpp:49:18:49:38 | *call to data | bdlbb.cpp:49:18:49:38 | *call to data | provenance | | | bdlbb.cpp:49:18:49:38 | *call to data | bdlbb.cpp:50:7:50:8 | * ... | provenance | | -| bdlbb.cpp:49:29:49:32 | *call to buffer | bdlbb.cpp:49:18:49:38 | *call to data | provenance | MaD:130 | -| bdlbb.cpp:55:16:55:23 | call to source | bdlbb.cpp:57:49:57:52 | *call to data | provenance | TaintFunction | -| bdlbb.cpp:57:37:57:41 | copy output argument | bdlbb.cpp:58:18:58:21 | *blob | provenance | | -| bdlbb.cpp:57:49:57:52 | *call to data | bdlbb.cpp:57:37:57:41 | copy output argument | provenance | MaD:132 | -| bdlbb.cpp:58:18:58:21 | *blob | bdlbb.cpp:58:29:58:32 | *call to buffer | provenance | MaD:128 | +| bdlbb.cpp:49:29:49:32 | call to buffer | bdlbb.cpp:49:18:49:38 | *call to data | provenance | MaD:132 | +| bdlbb.cpp:55:16:55:23 | call to source | bdlbb.cpp:57:47:57:47 | s | provenance | TaintFunction | +| bdlbb.cpp:57:37:57:41 | copy output argument | bdlbb.cpp:58:18:58:21 | blob | provenance | | +| bdlbb.cpp:57:47:57:47 | s | bdlbb.cpp:57:49:57:52 | *call to data | provenance | MaD:275 | +| bdlbb.cpp:57:49:57:52 | *call to data | bdlbb.cpp:57:37:57:41 | copy output argument | provenance | MaD:134 | +| bdlbb.cpp:57:49:57:52 | *call to data | bdlbb.cpp:57:49:57:52 | *call to data | provenance | MaD:276 | +| bdlbb.cpp:57:49:57:52 | *call to data | bdlbb.cpp:57:49:57:52 | *call to data | provenance | MaD:276+MaD:275 | +| bdlbb.cpp:58:18:58:21 | blob | bdlbb.cpp:58:29:58:32 | call to buffer | provenance | MaD:130 | | bdlbb.cpp:58:18:58:46 | call to get | bdlbb.cpp:59:7:59:8 | * ... | provenance | | -| bdlbb.cpp:58:29:58:32 | *call to buffer | bdlbb.cpp:58:39:58:41 | *call to buffer | provenance | MaD:129 | -| bdlbb.cpp:58:39:58:41 | *call to buffer | bdlbb.cpp:58:18:58:46 | call to get | provenance | DataFlowFunction | -| bdlbb.cpp:63:16:63:23 | call to source | bdlbb.cpp:65:49:65:52 | *call to data | provenance | TaintFunction | +| bdlbb.cpp:58:29:58:32 | call to buffer | bdlbb.cpp:58:39:58:41 | call to buffer | provenance | MaD:131 | +| bdlbb.cpp:58:39:58:41 | call to buffer | bdlbb.cpp:58:18:58:46 | call to get | provenance | DataFlowFunction | +| bdlbb.cpp:63:16:63:23 | call to source | bdlbb.cpp:65:47:65:47 | s | provenance | TaintFunction | | bdlbb.cpp:65:37:65:41 | copy output argument | bdlbb.cpp:67:72:67:75 | *blob | provenance | | -| bdlbb.cpp:65:49:65:52 | *call to data | bdlbb.cpp:65:37:65:41 | copy output argument | provenance | MaD:132 | +| bdlbb.cpp:65:47:65:47 | s | bdlbb.cpp:65:49:65:52 | *call to data | provenance | MaD:275 | +| bdlbb.cpp:65:49:65:52 | *call to data | bdlbb.cpp:65:37:65:41 | copy output argument | provenance | MaD:134 | +| bdlbb.cpp:65:49:65:52 | *call to data | bdlbb.cpp:65:49:65:52 | *call to data | provenance | MaD:276 | +| bdlbb.cpp:65:49:65:52 | *call to data | bdlbb.cpp:65:49:65:52 | *call to data | provenance | MaD:276+MaD:275 | | bdlbb.cpp:67:12:67:65 | *call to getContiguousRangeOrCopy | bdlbb.cpp:67:12:67:65 | *call to getContiguousRangeOrCopy | provenance | | | bdlbb.cpp:67:12:67:65 | *call to getContiguousRangeOrCopy | bdlbb.cpp:68:7:68:8 | * ... | provenance | | -| bdlbb.cpp:67:72:67:75 | *blob | bdlbb.cpp:67:12:67:65 | *call to getContiguousRangeOrCopy | provenance | MaD:134 | -| bdlbb.cpp:73:16:73:23 | call to source | bdlbb.cpp:75:48:75:51 | *call to data | provenance | TaintFunction | +| bdlbb.cpp:67:72:67:75 | *blob | bdlbb.cpp:67:12:67:65 | *call to getContiguousRangeOrCopy | provenance | MaD:136 | +| bdlbb.cpp:73:16:73:23 | call to source | bdlbb.cpp:75:46:75:46 | s | provenance | TaintFunction | | bdlbb.cpp:75:37:75:40 | copy output argument | bdlbb.cpp:77:46:77:48 | *src | provenance | | -| bdlbb.cpp:75:48:75:51 | *call to data | bdlbb.cpp:75:37:75:40 | copy output argument | provenance | MaD:132 | +| bdlbb.cpp:75:46:75:46 | s | bdlbb.cpp:75:48:75:51 | *call to data | provenance | MaD:275 | +| bdlbb.cpp:75:48:75:51 | *call to data | bdlbb.cpp:75:37:75:40 | copy output argument | provenance | MaD:134 | +| bdlbb.cpp:75:48:75:51 | *call to data | bdlbb.cpp:75:48:75:51 | *call to data | provenance | MaD:276 | +| bdlbb.cpp:75:48:75:51 | *call to data | bdlbb.cpp:75:48:75:51 | *call to data | provenance | MaD:276+MaD:275 | | bdlbb.cpp:77:37:77:40 | copy output argument | bdlbb.cpp:79:42:79:44 | *dst | provenance | | -| bdlbb.cpp:77:46:77:48 | *src | bdlbb.cpp:77:37:77:40 | copy output argument | provenance | MaD:131 | +| bdlbb.cpp:77:46:77:48 | *src | bdlbb.cpp:77:37:77:40 | copy output argument | provenance | MaD:133 | | bdlbb.cpp:79:37:79:39 | copy output argument | bdlbb.cpp:80:7:80:10 | * ... | provenance | | -| bdlbb.cpp:79:42:79:44 | *dst | bdlbb.cpp:79:37:79:39 | copy output argument | provenance | MaD:133 | -| bmqa.cpp:87:19:87:26 | call to source | bmqa.cpp:88:36:88:76 | *call to data | provenance | TaintFunction | +| bdlbb.cpp:79:42:79:44 | *dst | bdlbb.cpp:79:37:79:39 | copy output argument | provenance | MaD:135 | +| bmqa.cpp:87:19:87:26 | call to source | bmqa.cpp:88:66:88:69 | data | provenance | TaintFunction | +| bmqa.cpp:88:36:88:76 | *call to data | bmqa.cpp:88:36:88:76 | *call to data | provenance | | +| bmqa.cpp:88:36:88:76 | *call to data | bmqa.cpp:88:36:88:76 | *call to data | provenance | MaD:276 | +| bmqa.cpp:88:36:88:76 | *call to data | bmqa.cpp:88:36:88:76 | *call to data | provenance | MaD:276+MaD:275 | | bmqa.cpp:88:36:88:76 | *call to data | bmqa.cpp:90:2:90:4 | *msg | provenance | | -| bmqa.cpp:90:2:90:4 | *msg | bmqa.cpp:90:15:90:19 | getData output argument | provenance | MaD:136 | +| bmqa.cpp:88:66:88:69 | data | bmqa.cpp:88:36:88:76 | *call to data | provenance | MaD:275 | +| bmqa.cpp:90:2:90:4 | *msg | bmqa.cpp:90:15:90:19 | getData output argument | provenance | MaD:138 | | bmqa.cpp:90:15:90:19 | getData output argument | bmqa.cpp:92:42:92:45 | *blob | provenance | | | bmqa.cpp:92:37:92:39 | copy output argument | bmqa.cpp:93:7:93:10 | * ... | provenance | | -| bmqa.cpp:92:42:92:45 | *blob | bmqa.cpp:92:37:92:39 | copy output argument | provenance | MaD:133 | -| bmqa.cpp:97:19:97:26 | call to source | bmqa.cpp:98:43:98:88 | *call to data | provenance | TaintFunction | +| bmqa.cpp:92:42:92:45 | *blob | bmqa.cpp:92:37:92:39 | copy output argument | provenance | MaD:135 | +| bmqa.cpp:97:19:97:26 | call to source | bmqa.cpp:98:78:98:81 | data | provenance | TaintFunction | +| bmqa.cpp:98:43:98:88 | *call to data | bmqa.cpp:98:43:98:88 | *call to data | provenance | | +| bmqa.cpp:98:43:98:88 | *call to data | bmqa.cpp:98:43:98:88 | *call to data | provenance | MaD:276 | +| bmqa.cpp:98:43:98:88 | *call to data | bmqa.cpp:98:43:98:88 | *call to data | provenance | MaD:276+MaD:275 | | bmqa.cpp:98:43:98:88 | *call to data | bmqa.cpp:99:42:99:46 | *event | provenance | | -| bmqa.cpp:99:42:99:46 | *event | bmqa.cpp:99:49:99:63 | call to messageIterator | provenance | MaD:141 | +| bmqa.cpp:98:78:98:81 | data | bmqa.cpp:98:43:98:88 | *call to data | provenance | MaD:275 | +| bmqa.cpp:99:42:99:46 | *event | bmqa.cpp:99:49:99:63 | call to messageIterator | provenance | MaD:143 | | bmqa.cpp:99:49:99:63 | call to messageIterator | bmqa.cpp:99:49:99:63 | call to messageIterator | provenance | | -| bmqa.cpp:99:49:99:63 | call to messageIterator | bmqa.cpp:101:43:101:44 | *it | provenance | | -| bmqa.cpp:101:43:101:44 | *it | bmqa.cpp:101:53:101:55 | *call to message | provenance | MaD:142 | +| bmqa.cpp:99:49:99:63 | call to messageIterator | bmqa.cpp:101:43:101:44 | it | provenance | | +| bmqa.cpp:101:43:101:44 | it | bmqa.cpp:101:53:101:55 | *call to message | provenance | MaD:144 | | bmqa.cpp:101:53:101:55 | *call to message | bmqa.cpp:101:53:101:55 | *call to message | provenance | | -| bmqa.cpp:101:53:101:55 | *call to message | bmqa.cpp:103:3:103:5 | *msg | provenance | | -| bmqa.cpp:103:3:103:5 | *msg | bmqa.cpp:103:15:103:19 | getData output argument | provenance | MaD:136 | +| bmqa.cpp:101:53:101:55 | *call to message | bmqa.cpp:103:3:103:5 | msg | provenance | | +| bmqa.cpp:103:3:103:5 | msg | bmqa.cpp:103:15:103:19 | getData output argument | provenance | MaD:138 | | bmqa.cpp:103:15:103:19 | getData output argument | bmqa.cpp:105:43:105:46 | *blob | provenance | | | bmqa.cpp:105:38:105:40 | copy output argument | bmqa.cpp:106:8:106:11 | * ... | provenance | | -| bmqa.cpp:105:43:105:46 | *blob | bmqa.cpp:105:38:105:40 | copy output argument | provenance | MaD:133 | -| bmqa.cpp:111:16:111:23 | call to source | bmqa.cpp:113:47:113:50 | *call to data | provenance | TaintFunction | +| bmqa.cpp:105:43:105:46 | *blob | bmqa.cpp:105:38:105:40 | copy output argument | provenance | MaD:135 | +| bmqa.cpp:111:16:111:23 | call to source | bmqa.cpp:113:45:113:45 | s | provenance | TaintFunction | | bmqa.cpp:113:37:113:39 | copy output argument | bmqa.cpp:115:17:115:19 | *& ... | provenance | | -| bmqa.cpp:113:47:113:50 | *call to data | bmqa.cpp:113:37:113:39 | copy output argument | provenance | MaD:132 | -| bmqa.cpp:115:2:115:4 | setDataRef output argument | bmqa.cpp:117:2:117:4 | *msg | provenance | | -| bmqa.cpp:115:17:115:19 | *& ... | bmqa.cpp:115:2:115:4 | setDataRef output argument | provenance | MaD:139 | -| bmqa.cpp:117:2:117:4 | *msg | bmqa.cpp:117:14:117:17 | getData output argument | provenance | MaD:136 | +| bmqa.cpp:113:45:113:45 | s | bmqa.cpp:113:47:113:50 | *call to data | provenance | MaD:275 | +| bmqa.cpp:113:47:113:50 | *call to data | bmqa.cpp:113:37:113:39 | copy output argument | provenance | MaD:134 | +| bmqa.cpp:113:47:113:50 | *call to data | bmqa.cpp:113:47:113:50 | *call to data | provenance | MaD:276 | +| bmqa.cpp:113:47:113:50 | *call to data | bmqa.cpp:113:47:113:50 | *call to data | provenance | MaD:276+MaD:275 | +| bmqa.cpp:115:2:115:4 | setDataRef output argument | bmqa.cpp:117:2:117:4 | msg | provenance | | +| bmqa.cpp:115:17:115:19 | *& ... | bmqa.cpp:115:2:115:4 | setDataRef output argument | provenance | MaD:141 | +| bmqa.cpp:117:2:117:4 | msg | bmqa.cpp:117:14:117:17 | getData output argument | provenance | MaD:138 | | bmqa.cpp:117:14:117:17 | getData output argument | bmqa.cpp:119:42:119:44 | *out | provenance | | | bmqa.cpp:119:37:119:39 | copy output argument | bmqa.cpp:120:7:120:10 | * ... | provenance | | -| bmqa.cpp:119:42:119:44 | *out | bmqa.cpp:119:37:119:39 | copy output argument | provenance | MaD:133 | -| bmqa.cpp:124:16:124:23 | call to source | bmqa.cpp:126:19:126:22 | *call to data | provenance | TaintFunction | -| bmqa.cpp:126:2:126:4 | setDataRef output argument | bmqa.cpp:128:2:128:4 | *msg | provenance | | -| bmqa.cpp:126:19:126:22 | *call to data | bmqa.cpp:126:2:126:4 | setDataRef output argument | provenance | MaD:139 | -| bmqa.cpp:128:2:128:4 | *msg | bmqa.cpp:128:14:128:17 | getData output argument | provenance | MaD:136 | +| bmqa.cpp:119:42:119:44 | *out | bmqa.cpp:119:37:119:39 | copy output argument | provenance | MaD:135 | +| bmqa.cpp:124:16:124:23 | call to source | bmqa.cpp:126:17:126:17 | s | provenance | TaintFunction | +| bmqa.cpp:126:2:126:4 | setDataRef output argument | bmqa.cpp:128:2:128:4 | msg | provenance | | +| bmqa.cpp:126:17:126:17 | s | bmqa.cpp:126:19:126:22 | *call to data | provenance | MaD:275 | +| bmqa.cpp:126:19:126:22 | *call to data | bmqa.cpp:126:2:126:4 | setDataRef output argument | provenance | MaD:141 | +| bmqa.cpp:126:19:126:22 | *call to data | bmqa.cpp:126:19:126:22 | *call to data | provenance | MaD:276 | +| bmqa.cpp:126:19:126:22 | *call to data | bmqa.cpp:126:19:126:22 | *call to data | provenance | MaD:276+MaD:275 | +| bmqa.cpp:128:2:128:4 | msg | bmqa.cpp:128:14:128:17 | getData output argument | provenance | MaD:138 | | bmqa.cpp:128:14:128:17 | getData output argument | bmqa.cpp:130:42:130:44 | *out | provenance | | | bmqa.cpp:130:37:130:39 | copy output argument | bmqa.cpp:131:7:131:10 | * ... | provenance | | -| bmqa.cpp:130:42:130:44 | *out | bmqa.cpp:130:37:130:39 | copy output argument | provenance | MaD:133 | -| bmqa.cpp:135:16:135:23 | call to source | bmqa.cpp:137:16:137:19 | *call to data | provenance | TaintFunction | -| bmqa.cpp:137:2:137:4 | setData output argument | bmqa.cpp:139:2:139:4 | *msg | provenance | | -| bmqa.cpp:137:16:137:19 | *call to data | bmqa.cpp:137:2:137:4 | setData output argument | provenance | MaD:138 | -| bmqa.cpp:139:2:139:4 | *msg | bmqa.cpp:139:14:139:17 | getData output argument | provenance | MaD:136 | +| bmqa.cpp:130:42:130:44 | *out | bmqa.cpp:130:37:130:39 | copy output argument | provenance | MaD:135 | +| bmqa.cpp:135:16:135:23 | call to source | bmqa.cpp:137:14:137:14 | s | provenance | TaintFunction | +| bmqa.cpp:137:2:137:4 | setData output argument | bmqa.cpp:139:2:139:4 | msg | provenance | | +| bmqa.cpp:137:14:137:14 | s | bmqa.cpp:137:16:137:19 | *call to data | provenance | MaD:275 | +| bmqa.cpp:137:16:137:19 | *call to data | bmqa.cpp:137:2:137:4 | setData output argument | provenance | MaD:140 | +| bmqa.cpp:137:16:137:19 | *call to data | bmqa.cpp:137:16:137:19 | *call to data | provenance | MaD:276 | +| bmqa.cpp:137:16:137:19 | *call to data | bmqa.cpp:137:16:137:19 | *call to data | provenance | MaD:276+MaD:275 | +| bmqa.cpp:139:2:139:4 | msg | bmqa.cpp:139:14:139:17 | getData output argument | provenance | MaD:138 | | bmqa.cpp:139:14:139:17 | getData output argument | bmqa.cpp:141:42:141:44 | *out | provenance | | | bmqa.cpp:141:37:141:39 | copy output argument | bmqa.cpp:142:7:142:10 | * ... | provenance | | -| bmqa.cpp:141:42:141:44 | *out | bmqa.cpp:141:37:141:39 | copy output argument | provenance | MaD:133 | -| bmqa.cpp:146:19:146:26 | call to source | bmqa.cpp:147:36:147:76 | *call to data | provenance | TaintFunction | +| bmqa.cpp:141:42:141:44 | *out | bmqa.cpp:141:37:141:39 | copy output argument | provenance | MaD:135 | +| bmqa.cpp:146:19:146:26 | call to source | bmqa.cpp:147:66:147:69 | data | provenance | TaintFunction | +| bmqa.cpp:147:36:147:76 | *call to data | bmqa.cpp:147:36:147:76 | *call to data | provenance | | +| bmqa.cpp:147:36:147:76 | *call to data | bmqa.cpp:147:36:147:76 | *call to data | provenance | MaD:276 | +| bmqa.cpp:147:36:147:76 | *call to data | bmqa.cpp:147:36:147:76 | *call to data | provenance | MaD:276+MaD:275 | | bmqa.cpp:147:36:147:76 | *call to data | bmqa.cpp:148:36:148:38 | *msg | provenance | | -| bmqa.cpp:148:36:148:38 | *msg | bmqa.cpp:148:41:148:45 | call to clone | provenance | MaD:135 | +| bmqa.cpp:147:66:147:69 | data | bmqa.cpp:147:36:147:76 | *call to data | provenance | MaD:275 | +| bmqa.cpp:148:36:148:38 | *msg | bmqa.cpp:148:41:148:45 | call to clone | provenance | MaD:137 | | bmqa.cpp:148:41:148:45 | call to clone | bmqa.cpp:148:41:148:45 | call to clone | provenance | | -| bmqa.cpp:148:41:148:45 | call to clone | bmqa.cpp:150:2:150:5 | *copy | provenance | | -| bmqa.cpp:150:2:150:5 | *copy | bmqa.cpp:150:15:150:19 | getData output argument | provenance | MaD:136 | +| bmqa.cpp:148:41:148:45 | call to clone | bmqa.cpp:150:2:150:5 | copy | provenance | | +| bmqa.cpp:150:2:150:5 | copy | bmqa.cpp:150:15:150:19 | getData output argument | provenance | MaD:138 | | bmqa.cpp:150:15:150:19 | getData output argument | bmqa.cpp:152:42:152:45 | *blob | provenance | | | bmqa.cpp:152:37:152:39 | copy output argument | bmqa.cpp:153:7:153:10 | * ... | provenance | | -| bmqa.cpp:152:42:152:45 | *blob | bmqa.cpp:152:37:152:39 | copy output argument | provenance | MaD:133 | -| bmqa.cpp:157:19:157:26 | call to source | bmqa.cpp:158:36:158:76 | *call to data | provenance | TaintFunction | +| bmqa.cpp:152:42:152:45 | *blob | bmqa.cpp:152:37:152:39 | copy output argument | provenance | MaD:135 | +| bmqa.cpp:157:19:157:26 | call to source | bmqa.cpp:158:66:158:69 | data | provenance | TaintFunction | +| bmqa.cpp:158:36:158:76 | *call to data | bmqa.cpp:158:36:158:76 | *call to data | provenance | | +| bmqa.cpp:158:36:158:76 | *call to data | bmqa.cpp:158:36:158:76 | *call to data | provenance | MaD:276 | +| bmqa.cpp:158:36:158:76 | *call to data | bmqa.cpp:158:36:158:76 | *call to data | provenance | MaD:276+MaD:275 | | bmqa.cpp:158:36:158:76 | *call to data | bmqa.cpp:160:2:160:4 | *msg | provenance | | -| bmqa.cpp:160:2:160:4 | *msg | bmqa.cpp:160:22:160:27 | loadProperties output argument | provenance | MaD:137 | -| bmqa.cpp:160:22:160:27 | loadProperties output argument | bmqa.cpp:161:29:161:33 | *props | provenance | | -| bmqa.cpp:161:29:161:33 | *props | bmqa.cpp:161:54:161:61 | *call to getPropertyAsString | provenance | MaD:147 | +| bmqa.cpp:158:66:158:69 | data | bmqa.cpp:158:36:158:76 | *call to data | provenance | MaD:275 | +| bmqa.cpp:160:2:160:4 | *msg | bmqa.cpp:160:22:160:27 | loadProperties output argument | provenance | MaD:139 | +| bmqa.cpp:160:22:160:27 | loadProperties output argument | bmqa.cpp:161:29:161:33 | props | provenance | | +| bmqa.cpp:161:29:161:33 | props | bmqa.cpp:161:54:161:61 | *call to getPropertyAsString | provenance | MaD:149 | | bmqa.cpp:161:54:161:61 | *call to getPropertyAsString | bmqa.cpp:161:54:161:61 | *call to getPropertyAsString | provenance | | -| bmqa.cpp:161:54:161:61 | *call to getPropertyAsString | bmqa.cpp:162:7:162:21 | access to array | provenance | TaintFunction | -| bmqa.cpp:166:19:166:26 | call to source | bmqa.cpp:167:36:167:76 | *call to data | provenance | TaintFunction | +| bmqa.cpp:161:54:161:61 | *call to getPropertyAsString | bmqa.cpp:162:7:162:11 | value | provenance | | +| bmqa.cpp:162:7:162:11 | value | bmqa.cpp:162:7:162:21 | access to array | provenance | MaD:275 | +| bmqa.cpp:162:7:162:11 | value | bmqa.cpp:162:7:162:21 | access to array | provenance | MaD:275 | +| bmqa.cpp:162:7:162:21 | access to array | bmqa.cpp:162:7:162:21 | access to array | provenance | MaD:276 | +| bmqa.cpp:162:7:162:21 | access to array | bmqa.cpp:162:7:162:21 | access to array | provenance | MaD:276 | +| bmqa.cpp:162:7:162:21 | access to array | bmqa.cpp:162:7:162:21 | access to array | provenance | MaD:276+MaD:275 | +| bmqa.cpp:162:7:162:21 | access to array | bmqa.cpp:162:7:162:21 | access to array | provenance | MaD:276+MaD:275 | +| bmqa.cpp:166:19:166:26 | call to source | bmqa.cpp:167:66:167:69 | data | provenance | TaintFunction | +| bmqa.cpp:167:36:167:76 | *call to data | bmqa.cpp:167:36:167:76 | *call to data | provenance | | +| bmqa.cpp:167:36:167:76 | *call to data | bmqa.cpp:167:36:167:76 | *call to data | provenance | MaD:276 | +| bmqa.cpp:167:36:167:76 | *call to data | bmqa.cpp:167:36:167:76 | *call to data | provenance | MaD:276+MaD:275 | | bmqa.cpp:167:36:167:76 | *call to data | bmqa.cpp:169:2:169:4 | *msg | provenance | | -| bmqa.cpp:169:2:169:4 | *msg | bmqa.cpp:169:22:169:27 | loadProperties output argument | provenance | MaD:137 | -| bmqa.cpp:169:22:169:27 | loadProperties output argument | bmqa.cpp:170:35:170:39 | *props | provenance | | -| bmqa.cpp:170:35:170:39 | *props | bmqa.cpp:170:60:170:67 | *call to getPropertyAsBinary [element] | provenance | MaD:144 | +| bmqa.cpp:167:66:167:69 | data | bmqa.cpp:167:36:167:76 | *call to data | provenance | MaD:275 | +| bmqa.cpp:169:2:169:4 | *msg | bmqa.cpp:169:22:169:27 | loadProperties output argument | provenance | MaD:139 | +| bmqa.cpp:169:22:169:27 | loadProperties output argument | bmqa.cpp:170:35:170:39 | props | provenance | | +| bmqa.cpp:170:35:170:39 | props | bmqa.cpp:170:60:170:67 | *call to getPropertyAsBinary [element] | provenance | MaD:146 | | bmqa.cpp:170:60:170:67 | *call to getPropertyAsBinary [element] | bmqa.cpp:170:60:170:67 | *call to getPropertyAsBinary [element] | provenance | | -| bmqa.cpp:170:60:170:67 | *call to getPropertyAsBinary [element] | bmqa.cpp:171:7:171:11 | *value [element] | provenance | | -| bmqa.cpp:171:7:171:11 | *value [element] | bmqa.cpp:171:7:171:21 | access to array | provenance | MaD:273 | -| bmqa.cpp:175:19:175:26 | call to source | bmqa.cpp:176:36:176:76 | *call to data | provenance | TaintFunction | +| bmqa.cpp:170:60:170:67 | *call to getPropertyAsBinary [element] | bmqa.cpp:171:7:171:11 | value [element] | provenance | | +| bmqa.cpp:171:7:171:11 | value [element] | bmqa.cpp:171:7:171:21 | access to array | provenance | MaD:277 | +| bmqa.cpp:175:19:175:26 | call to source | bmqa.cpp:176:66:176:69 | data | provenance | TaintFunction | +| bmqa.cpp:176:36:176:76 | *call to data | bmqa.cpp:176:36:176:76 | *call to data | provenance | | +| bmqa.cpp:176:36:176:76 | *call to data | bmqa.cpp:176:36:176:76 | *call to data | provenance | MaD:276 | +| bmqa.cpp:176:36:176:76 | *call to data | bmqa.cpp:176:36:176:76 | *call to data | provenance | MaD:276+MaD:275 | | bmqa.cpp:176:36:176:76 | *call to data | bmqa.cpp:178:2:178:4 | *msg | provenance | | -| bmqa.cpp:178:2:178:4 | *msg | bmqa.cpp:178:22:178:27 | loadProperties output argument | provenance | MaD:137 | -| bmqa.cpp:178:22:178:27 | loadProperties output argument | bmqa.cpp:179:35:179:39 | *props | provenance | | -| bmqa.cpp:179:35:179:39 | *props | bmqa.cpp:179:60:179:67 | *call to getPropertyAsBinary [element] | provenance | MaD:144 | +| bmqa.cpp:176:66:176:69 | data | bmqa.cpp:176:36:176:76 | *call to data | provenance | MaD:275 | +| bmqa.cpp:178:2:178:4 | *msg | bmqa.cpp:178:22:178:27 | loadProperties output argument | provenance | MaD:139 | +| bmqa.cpp:178:22:178:27 | loadProperties output argument | bmqa.cpp:179:35:179:39 | props | provenance | | +| bmqa.cpp:179:35:179:39 | props | bmqa.cpp:179:60:179:67 | *call to getPropertyAsBinary [element] | provenance | MaD:146 | | bmqa.cpp:179:60:179:67 | *call to getPropertyAsBinary [element] | bmqa.cpp:179:60:179:67 | *call to getPropertyAsBinary [element] | provenance | | -| bmqa.cpp:179:60:179:67 | *call to getPropertyAsBinary [element] | bmqa.cpp:180:7:180:11 | *value [element] | provenance | | -| bmqa.cpp:180:7:180:11 | *value [element] | bmqa.cpp:180:12:180:14 | call to operator[] | provenance | MaD:274 | -| bmqa.cpp:184:19:184:26 | call to source | bmqa.cpp:185:36:185:76 | *call to data | provenance | TaintFunction | +| bmqa.cpp:179:60:179:67 | *call to getPropertyAsBinary [element] | bmqa.cpp:180:7:180:11 | value [element] | provenance | | +| bmqa.cpp:180:7:180:11 | value [element] | bmqa.cpp:180:12:180:14 | call to operator[] | provenance | MaD:278 | +| bmqa.cpp:184:19:184:26 | call to source | bmqa.cpp:185:66:185:69 | data | provenance | TaintFunction | +| bmqa.cpp:185:36:185:76 | *call to data | bmqa.cpp:185:36:185:76 | *call to data | provenance | | +| bmqa.cpp:185:36:185:76 | *call to data | bmqa.cpp:185:36:185:76 | *call to data | provenance | MaD:276 | +| bmqa.cpp:185:36:185:76 | *call to data | bmqa.cpp:185:36:185:76 | *call to data | provenance | MaD:276+MaD:275 | | bmqa.cpp:185:36:185:76 | *call to data | bmqa.cpp:187:2:187:4 | *msg | provenance | | -| bmqa.cpp:187:2:187:4 | *msg | bmqa.cpp:187:22:187:27 | loadProperties output argument | provenance | MaD:137 | -| bmqa.cpp:187:22:187:27 | loadProperties output argument | bmqa.cpp:189:29:189:33 | *props | provenance | | -| bmqa.cpp:189:29:189:33 | *props | bmqa.cpp:189:56:189:69 | *call to getPropertyAsStringOr | provenance | MaD:149 | +| bmqa.cpp:185:66:185:69 | data | bmqa.cpp:185:36:185:76 | *call to data | provenance | MaD:275 | +| bmqa.cpp:187:2:187:4 | *msg | bmqa.cpp:187:22:187:27 | loadProperties output argument | provenance | MaD:139 | +| bmqa.cpp:187:22:187:27 | loadProperties output argument | bmqa.cpp:189:29:189:33 | props | provenance | | +| bmqa.cpp:189:29:189:33 | props | bmqa.cpp:189:56:189:69 | *call to getPropertyAsStringOr | provenance | MaD:151 | | bmqa.cpp:189:56:189:69 | *call to getPropertyAsStringOr | bmqa.cpp:189:56:189:69 | *call to getPropertyAsStringOr | provenance | | -| bmqa.cpp:189:56:189:69 | *call to getPropertyAsStringOr | bmqa.cpp:190:7:190:19 | * ... | provenance | TaintFunction | +| bmqa.cpp:189:56:189:69 | *call to getPropertyAsStringOr | bmqa.cpp:190:8:190:12 | value | provenance | | +| bmqa.cpp:190:7:190:19 | * ... | bmqa.cpp:190:7:190:19 | * ... | provenance | MaD:276 | +| bmqa.cpp:190:7:190:19 | * ... | bmqa.cpp:190:7:190:19 | * ... | provenance | MaD:276 | +| bmqa.cpp:190:7:190:19 | * ... | bmqa.cpp:190:7:190:19 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:190:7:190:19 | * ... | bmqa.cpp:190:7:190:19 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:190:8:190:12 | value | bmqa.cpp:190:7:190:19 | * ... | provenance | MaD:275 | +| bmqa.cpp:190:8:190:12 | value | bmqa.cpp:190:7:190:19 | * ... | provenance | MaD:275 | | bmqa.cpp:195:19:195:26 | call to source | bmqa.cpp:197:64:197:67 | *dflt | provenance | TaintFunction | | bmqa.cpp:197:56:197:69 | *call to getPropertyAsStringOr | bmqa.cpp:197:56:197:69 | *call to getPropertyAsStringOr | provenance | | -| bmqa.cpp:197:56:197:69 | *call to getPropertyAsStringOr | bmqa.cpp:198:7:198:19 | * ... | provenance | TaintFunction | -| bmqa.cpp:197:64:197:67 | *dflt | bmqa.cpp:197:56:197:69 | *call to getPropertyAsStringOr | provenance | MaD:148 | -| bmqa.cpp:202:19:202:26 | call to source | bmqa.cpp:203:36:203:76 | *call to data | provenance | TaintFunction | +| bmqa.cpp:197:56:197:69 | *call to getPropertyAsStringOr | bmqa.cpp:198:8:198:12 | value | provenance | | +| bmqa.cpp:197:64:197:67 | *dflt | bmqa.cpp:197:56:197:69 | *call to getPropertyAsStringOr | provenance | MaD:150 | +| bmqa.cpp:198:7:198:19 | * ... | bmqa.cpp:198:7:198:19 | * ... | provenance | MaD:276 | +| bmqa.cpp:198:7:198:19 | * ... | bmqa.cpp:198:7:198:19 | * ... | provenance | MaD:276 | +| bmqa.cpp:198:7:198:19 | * ... | bmqa.cpp:198:7:198:19 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:198:7:198:19 | * ... | bmqa.cpp:198:7:198:19 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:198:8:198:12 | value | bmqa.cpp:198:7:198:19 | * ... | provenance | MaD:275 | +| bmqa.cpp:198:8:198:12 | value | bmqa.cpp:198:7:198:19 | * ... | provenance | MaD:275 | +| bmqa.cpp:202:19:202:26 | call to source | bmqa.cpp:203:66:203:69 | data | provenance | TaintFunction | +| bmqa.cpp:203:36:203:76 | *call to data | bmqa.cpp:203:36:203:76 | *call to data | provenance | | +| bmqa.cpp:203:36:203:76 | *call to data | bmqa.cpp:203:36:203:76 | *call to data | provenance | MaD:276 | +| bmqa.cpp:203:36:203:76 | *call to data | bmqa.cpp:203:36:203:76 | *call to data | provenance | MaD:276+MaD:275 | | bmqa.cpp:203:36:203:76 | *call to data | bmqa.cpp:205:2:205:4 | *msg | provenance | | -| bmqa.cpp:205:2:205:4 | *msg | bmqa.cpp:205:22:205:27 | loadProperties output argument | provenance | MaD:137 | -| bmqa.cpp:205:22:205:27 | loadProperties output argument | bmqa.cpp:207:35:207:39 | *props | provenance | | -| bmqa.cpp:207:35:207:39 | *props | bmqa.cpp:207:62:207:75 | *call to getPropertyAsBinaryOr [element] | provenance | MaD:146 | +| bmqa.cpp:203:66:203:69 | data | bmqa.cpp:203:36:203:76 | *call to data | provenance | MaD:275 | +| bmqa.cpp:205:2:205:4 | *msg | bmqa.cpp:205:22:205:27 | loadProperties output argument | provenance | MaD:139 | +| bmqa.cpp:205:22:205:27 | loadProperties output argument | bmqa.cpp:207:35:207:39 | props | provenance | | +| bmqa.cpp:207:35:207:39 | props | bmqa.cpp:207:62:207:75 | *call to getPropertyAsBinaryOr [element] | provenance | MaD:148 | | bmqa.cpp:207:62:207:75 | *call to getPropertyAsBinaryOr [element] | bmqa.cpp:207:62:207:75 | *call to getPropertyAsBinaryOr [element] | provenance | | -| bmqa.cpp:207:62:207:75 | *call to getPropertyAsBinaryOr [element] | bmqa.cpp:208:8:208:12 | *value [element] | provenance | | -| bmqa.cpp:208:8:208:12 | *value [element] | bmqa.cpp:208:7:208:19 | * ... | provenance | MaD:273 | +| bmqa.cpp:207:62:207:75 | *call to getPropertyAsBinaryOr [element] | bmqa.cpp:208:8:208:12 | value [element] | provenance | | +| bmqa.cpp:208:8:208:12 | value [element] | bmqa.cpp:208:7:208:19 | * ... | provenance | MaD:277 | | bmqa.cpp:212:11:212:19 | * ... | bmqa.cpp:214:17:214:17 | *c | provenance | | | bmqa.cpp:212:12:212:17 | call to source | bmqa.cpp:212:11:212:19 | * ... | provenance | | | bmqa.cpp:214:2:214:5 | push_back output argument [element] | bmqa.cpp:216:70:216:73 | *dflt [element] | provenance | | -| bmqa.cpp:214:17:214:17 | *c | bmqa.cpp:214:2:214:5 | push_back output argument [element] | provenance | MaD:275 | +| bmqa.cpp:214:17:214:17 | *c | bmqa.cpp:214:2:214:5 | push_back output argument [element] | provenance | MaD:279 | | bmqa.cpp:216:62:216:75 | *call to getPropertyAsBinaryOr [element] | bmqa.cpp:216:62:216:75 | *call to getPropertyAsBinaryOr [element] | provenance | | -| bmqa.cpp:216:62:216:75 | *call to getPropertyAsBinaryOr [element] | bmqa.cpp:217:8:217:12 | *value [element] | provenance | | -| bmqa.cpp:216:70:216:73 | *dflt [element] | bmqa.cpp:216:62:216:75 | *call to getPropertyAsBinaryOr [element] | provenance | MaD:145 | -| bmqa.cpp:217:8:217:12 | *value [element] | bmqa.cpp:217:7:217:19 | * ... | provenance | MaD:273 | -| bmqa.cpp:229:16:229:23 | call to source | bmqa.cpp:231:49:231:52 | *call to data | provenance | TaintFunction | +| bmqa.cpp:216:62:216:75 | *call to getPropertyAsBinaryOr [element] | bmqa.cpp:217:8:217:12 | value [element] | provenance | | +| bmqa.cpp:216:70:216:73 | *dflt [element] | bmqa.cpp:216:62:216:75 | *call to getPropertyAsBinaryOr [element] | provenance | MaD:147 | +| bmqa.cpp:217:8:217:12 | value [element] | bmqa.cpp:217:7:217:19 | * ... | provenance | MaD:277 | +| bmqa.cpp:229:16:229:23 | call to source | bmqa.cpp:231:47:231:47 | s | provenance | TaintFunction | | bmqa.cpp:231:37:231:41 | copy output argument | bmqa.cpp:233:17:233:20 | *blob | provenance | | -| bmqa.cpp:231:49:231:52 | *call to data | bmqa.cpp:231:37:231:41 | copy output argument | provenance | MaD:132 | -| bmqa.cpp:233:2:233:6 | streamIn output argument | bmqa.cpp:234:8:234:12 | *props | provenance | | -| bmqa.cpp:233:17:233:20 | *blob | bmqa.cpp:233:2:233:6 | streamIn output argument | provenance | MaD:161 | -| bmqa.cpp:234:8:234:12 | *props | bmqa.cpp:234:33:234:40 | *call to getPropertyAsString | provenance | MaD:147 | -| bmqa.cpp:234:33:234:40 | *call to getPropertyAsString | bmqa.cpp:234:7:234:46 | * ... | provenance | TaintFunction | -| bmqa.cpp:238:16:238:23 | call to source | bmqa.cpp:240:49:240:52 | *call to data | provenance | TaintFunction | +| bmqa.cpp:231:47:231:47 | s | bmqa.cpp:231:49:231:52 | *call to data | provenance | MaD:275 | +| bmqa.cpp:231:49:231:52 | *call to data | bmqa.cpp:231:37:231:41 | copy output argument | provenance | MaD:134 | +| bmqa.cpp:231:49:231:52 | *call to data | bmqa.cpp:231:49:231:52 | *call to data | provenance | MaD:276 | +| bmqa.cpp:231:49:231:52 | *call to data | bmqa.cpp:231:49:231:52 | *call to data | provenance | MaD:276+MaD:275 | +| bmqa.cpp:233:2:233:6 | streamIn output argument | bmqa.cpp:234:8:234:12 | props | provenance | | +| bmqa.cpp:233:17:233:20 | *blob | bmqa.cpp:233:2:233:6 | streamIn output argument | provenance | MaD:163 | +| bmqa.cpp:234:7:234:46 | * ... | bmqa.cpp:234:7:234:46 | * ... | provenance | MaD:276 | +| bmqa.cpp:234:7:234:46 | * ... | bmqa.cpp:234:7:234:46 | * ... | provenance | MaD:276 | +| bmqa.cpp:234:7:234:46 | * ... | bmqa.cpp:234:7:234:46 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:234:7:234:46 | * ... | bmqa.cpp:234:7:234:46 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:234:7:234:46 | * ... | bmqa.cpp:234:33:234:40 | data output argument | provenance | MaD:276 | +| bmqa.cpp:234:7:234:46 | * ... | bmqa.cpp:234:33:234:40 | data output argument | provenance | MaD:276+MaD:275 | +| bmqa.cpp:234:8:234:12 | props | bmqa.cpp:234:33:234:40 | call to getPropertyAsString | provenance | MaD:149 | +| bmqa.cpp:234:33:234:40 | call to getPropertyAsString | bmqa.cpp:234:7:234:46 | * ... | provenance | MaD:275 | +| bmqa.cpp:234:33:234:40 | call to getPropertyAsString | bmqa.cpp:234:7:234:46 | * ... | provenance | MaD:275 | +| bmqa.cpp:234:33:234:40 | data output argument | bmqa.cpp:234:33:234:40 | call to getPropertyAsString | provenance | | +| bmqa.cpp:238:16:238:23 | call to source | bmqa.cpp:240:47:240:47 | s | provenance | TaintFunction | | bmqa.cpp:240:37:240:41 | copy output argument | bmqa.cpp:242:14:242:17 | *blob | provenance | | -| bmqa.cpp:240:49:240:52 | *call to data | bmqa.cpp:240:37:240:41 | copy output argument | provenance | MaD:132 | +| bmqa.cpp:240:47:240:47 | s | bmqa.cpp:240:49:240:52 | *call to data | provenance | MaD:275 | +| bmqa.cpp:240:49:240:52 | *call to data | bmqa.cpp:240:37:240:41 | copy output argument | provenance | MaD:134 | +| bmqa.cpp:240:49:240:52 | *call to data | bmqa.cpp:240:49:240:52 | *call to data | provenance | MaD:276 | +| bmqa.cpp:240:49:240:52 | *call to data | bmqa.cpp:240:49:240:52 | *call to data | provenance | MaD:276+MaD:275 | | bmqa.cpp:242:2:242:3 | streamIn output argument | bmqa.cpp:244:23:244:25 | *& ... | provenance | | -| bmqa.cpp:242:14:242:17 | *blob | bmqa.cpp:242:2:242:3 | streamIn output argument | provenance | MaD:161 | -| bmqa.cpp:244:2:244:4 | setPropertiesRef output argument | bmqa.cpp:246:2:246:4 | *msg | provenance | | -| bmqa.cpp:244:23:244:25 | *& ... | bmqa.cpp:244:2:244:4 | setPropertiesRef output argument | provenance | MaD:140 | -| bmqa.cpp:246:2:246:4 | *msg | bmqa.cpp:246:21:246:24 | loadProperties output argument | provenance | MaD:137 | -| bmqa.cpp:246:21:246:24 | loadProperties output argument | bmqa.cpp:247:8:247:10 | *out | provenance | | -| bmqa.cpp:247:8:247:10 | *out | bmqa.cpp:247:31:247:38 | *call to getPropertyAsString | provenance | MaD:147 | -| bmqa.cpp:247:31:247:38 | *call to getPropertyAsString | bmqa.cpp:247:7:247:44 | * ... | provenance | TaintFunction | -| bmqa.cpp:251:19:251:26 | call to source | bmqa.cpp:252:36:252:76 | *call to data | provenance | TaintFunction | +| bmqa.cpp:242:14:242:17 | *blob | bmqa.cpp:242:2:242:3 | streamIn output argument | provenance | MaD:163 | +| bmqa.cpp:244:2:244:4 | setPropertiesRef output argument | bmqa.cpp:246:2:246:4 | msg | provenance | | +| bmqa.cpp:244:23:244:25 | *& ... | bmqa.cpp:244:2:244:4 | setPropertiesRef output argument | provenance | MaD:142 | +| bmqa.cpp:246:2:246:4 | msg | bmqa.cpp:246:21:246:24 | loadProperties output argument | provenance | MaD:139 | +| bmqa.cpp:246:21:246:24 | loadProperties output argument | bmqa.cpp:247:8:247:10 | out | provenance | | +| bmqa.cpp:247:7:247:44 | * ... | bmqa.cpp:247:7:247:44 | * ... | provenance | MaD:276 | +| bmqa.cpp:247:7:247:44 | * ... | bmqa.cpp:247:7:247:44 | * ... | provenance | MaD:276 | +| bmqa.cpp:247:7:247:44 | * ... | bmqa.cpp:247:7:247:44 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:247:7:247:44 | * ... | bmqa.cpp:247:7:247:44 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:247:7:247:44 | * ... | bmqa.cpp:247:31:247:38 | data output argument | provenance | MaD:276 | +| bmqa.cpp:247:7:247:44 | * ... | bmqa.cpp:247:31:247:38 | data output argument | provenance | MaD:276+MaD:275 | +| bmqa.cpp:247:8:247:10 | out | bmqa.cpp:247:31:247:38 | call to getPropertyAsString | provenance | MaD:149 | +| bmqa.cpp:247:31:247:38 | call to getPropertyAsString | bmqa.cpp:247:7:247:44 | * ... | provenance | MaD:275 | +| bmqa.cpp:247:31:247:38 | call to getPropertyAsString | bmqa.cpp:247:7:247:44 | * ... | provenance | MaD:275 | +| bmqa.cpp:247:31:247:38 | data output argument | bmqa.cpp:247:31:247:38 | call to getPropertyAsString | provenance | | +| bmqa.cpp:251:19:251:26 | call to source | bmqa.cpp:252:66:252:69 | data | provenance | TaintFunction | +| bmqa.cpp:252:36:252:76 | *call to data | bmqa.cpp:252:36:252:76 | *call to data | provenance | | +| bmqa.cpp:252:36:252:76 | *call to data | bmqa.cpp:252:36:252:76 | *call to data | provenance | MaD:276 | +| bmqa.cpp:252:36:252:76 | *call to data | bmqa.cpp:252:36:252:76 | *call to data | provenance | MaD:276+MaD:275 | | bmqa.cpp:252:36:252:76 | *call to data | bmqa.cpp:254:2:254:4 | *msg | provenance | | -| bmqa.cpp:254:2:254:4 | *msg | bmqa.cpp:254:22:254:27 | loadProperties output argument | provenance | MaD:137 | -| bmqa.cpp:254:22:254:27 | loadProperties output argument | bmqa.cpp:256:41:256:45 | *props | provenance | | -| bmqa.cpp:256:41:256:45 | *props | bmqa.cpp:256:56:256:66 | *call to streamOut | provenance | MaD:162 | +| bmqa.cpp:252:66:252:69 | data | bmqa.cpp:252:36:252:76 | *call to data | provenance | MaD:275 | +| bmqa.cpp:254:2:254:4 | *msg | bmqa.cpp:254:22:254:27 | loadProperties output argument | provenance | MaD:139 | +| bmqa.cpp:254:22:254:27 | loadProperties output argument | bmqa.cpp:256:41:256:45 | props | provenance | | +| bmqa.cpp:256:41:256:45 | props | bmqa.cpp:256:56:256:66 | *call to streamOut | provenance | MaD:164 | | bmqa.cpp:256:56:256:66 | *call to streamOut | bmqa.cpp:256:56:256:66 | *call to streamOut | provenance | | | bmqa.cpp:256:56:256:66 | *call to streamOut | bmqa.cpp:258:42:258:45 | *blob | provenance | | | bmqa.cpp:258:37:258:39 | copy output argument | bmqa.cpp:259:7:259:10 | * ... | provenance | | -| bmqa.cpp:258:42:258:45 | *blob | bmqa.cpp:258:37:258:39 | copy output argument | provenance | MaD:133 | -| bmqa.cpp:263:19:263:26 | call to source | bmqa.cpp:264:36:264:76 | *call to data | provenance | TaintFunction | +| bmqa.cpp:258:42:258:45 | *blob | bmqa.cpp:258:37:258:39 | copy output argument | provenance | MaD:135 | +| bmqa.cpp:263:19:263:26 | call to source | bmqa.cpp:264:66:264:69 | data | provenance | TaintFunction | +| bmqa.cpp:264:36:264:76 | *call to data | bmqa.cpp:264:36:264:76 | *call to data | provenance | | +| bmqa.cpp:264:36:264:76 | *call to data | bmqa.cpp:264:36:264:76 | *call to data | provenance | MaD:276 | +| bmqa.cpp:264:36:264:76 | *call to data | bmqa.cpp:264:36:264:76 | *call to data | provenance | MaD:276+MaD:275 | | bmqa.cpp:264:36:264:76 | *call to data | bmqa.cpp:266:2:266:4 | *msg | provenance | | -| bmqa.cpp:266:2:266:4 | *msg | bmqa.cpp:266:22:266:27 | loadProperties output argument | provenance | MaD:137 | +| bmqa.cpp:264:66:264:69 | data | bmqa.cpp:264:36:264:76 | *call to data | provenance | MaD:275 | +| bmqa.cpp:266:2:266:4 | *msg | bmqa.cpp:266:22:266:27 | loadProperties output argument | provenance | MaD:139 | | bmqa.cpp:266:22:266:27 | loadProperties output argument | bmqa.cpp:267:44:267:48 | *props | provenance | | -| bmqa.cpp:266:22:266:27 | loadProperties output argument | bmqa.cpp:268:8:268:11 | *copy | provenance | DataFlowFunction | -| bmqa.cpp:266:22:266:27 | loadProperties output argument | bmqa.cpp:268:8:268:11 | *copy | provenance | TaintFunction | -| bmqa.cpp:267:39:267:42 | call to MessageProperties | bmqa.cpp:268:8:268:11 | *copy | provenance | | -| bmqa.cpp:267:44:267:48 | *props | bmqa.cpp:267:39:267:42 | call to MessageProperties | provenance | MaD:143 | -| bmqa.cpp:268:8:268:11 | *copy | bmqa.cpp:268:32:268:39 | *call to getPropertyAsString | provenance | MaD:147 | -| bmqa.cpp:268:32:268:39 | *call to getPropertyAsString | bmqa.cpp:268:7:268:45 | * ... | provenance | TaintFunction | -| bmqa.cpp:272:19:272:26 | call to source | bmqa.cpp:273:36:273:76 | *call to data | provenance | TaintFunction | +| bmqa.cpp:266:22:266:27 | loadProperties output argument | bmqa.cpp:268:8:268:11 | copy | provenance | DataFlowFunction | +| bmqa.cpp:266:22:266:27 | loadProperties output argument | bmqa.cpp:268:8:268:11 | copy | provenance | TaintFunction | +| bmqa.cpp:267:39:267:42 | call to MessageProperties | bmqa.cpp:268:8:268:11 | copy | provenance | | +| bmqa.cpp:267:44:267:48 | *props | bmqa.cpp:267:39:267:42 | call to MessageProperties | provenance | MaD:145 | +| bmqa.cpp:268:7:268:45 | * ... | bmqa.cpp:268:7:268:45 | * ... | provenance | MaD:276 | +| bmqa.cpp:268:7:268:45 | * ... | bmqa.cpp:268:7:268:45 | * ... | provenance | MaD:276 | +| bmqa.cpp:268:7:268:45 | * ... | bmqa.cpp:268:7:268:45 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:268:7:268:45 | * ... | bmqa.cpp:268:7:268:45 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:268:7:268:45 | * ... | bmqa.cpp:268:32:268:39 | data output argument | provenance | MaD:276 | +| bmqa.cpp:268:7:268:45 | * ... | bmqa.cpp:268:32:268:39 | data output argument | provenance | MaD:276+MaD:275 | +| bmqa.cpp:268:8:268:11 | copy | bmqa.cpp:268:32:268:39 | call to getPropertyAsString | provenance | MaD:149 | +| bmqa.cpp:268:32:268:39 | call to getPropertyAsString | bmqa.cpp:268:7:268:45 | * ... | provenance | MaD:275 | +| bmqa.cpp:268:32:268:39 | call to getPropertyAsString | bmqa.cpp:268:7:268:45 | * ... | provenance | MaD:275 | +| bmqa.cpp:268:32:268:39 | data output argument | bmqa.cpp:268:32:268:39 | call to getPropertyAsString | provenance | | +| bmqa.cpp:272:19:272:26 | call to source | bmqa.cpp:273:66:273:69 | data | provenance | TaintFunction | +| bmqa.cpp:273:36:273:76 | *call to data | bmqa.cpp:273:36:273:76 | *call to data | provenance | | +| bmqa.cpp:273:36:273:76 | *call to data | bmqa.cpp:273:36:273:76 | *call to data | provenance | MaD:276 | +| bmqa.cpp:273:36:273:76 | *call to data | bmqa.cpp:273:36:273:76 | *call to data | provenance | MaD:276+MaD:275 | | bmqa.cpp:273:36:273:76 | *call to data | bmqa.cpp:275:2:275:4 | *msg | provenance | | -| bmqa.cpp:275:2:275:4 | *msg | bmqa.cpp:275:22:275:27 | loadProperties output argument | provenance | MaD:137 | +| bmqa.cpp:273:66:273:69 | data | bmqa.cpp:273:36:273:76 | *call to data | provenance | MaD:275 | +| bmqa.cpp:275:2:275:4 | *msg | bmqa.cpp:275:22:275:27 | loadProperties output argument | provenance | MaD:139 | | bmqa.cpp:275:22:275:27 | loadProperties output argument | bmqa.cpp:277:9:277:13 | *props | provenance | | -| bmqa.cpp:275:22:275:27 | loadProperties output argument | bmqa.cpp:278:8:278:11 | *copy | provenance | TaintFunction | -| bmqa.cpp:277:2:277:5 | operator= output argument | bmqa.cpp:278:8:278:11 | *copy | provenance | | -| bmqa.cpp:277:9:277:13 | *props | bmqa.cpp:277:2:277:5 | operator= output argument | provenance | MaD:150 | -| bmqa.cpp:278:8:278:11 | *copy | bmqa.cpp:278:32:278:39 | *call to getPropertyAsString | provenance | MaD:147 | -| bmqa.cpp:278:32:278:39 | *call to getPropertyAsString | bmqa.cpp:278:7:278:45 | * ... | provenance | TaintFunction | -| bmqa.cpp:282:19:282:26 | call to source | bmqa.cpp:283:36:283:76 | *call to data | provenance | TaintFunction | +| bmqa.cpp:275:22:275:27 | loadProperties output argument | bmqa.cpp:278:8:278:11 | copy | provenance | TaintFunction | +| bmqa.cpp:277:2:277:5 | operator= output argument | bmqa.cpp:278:8:278:11 | copy | provenance | | +| bmqa.cpp:277:9:277:13 | *props | bmqa.cpp:277:2:277:5 | operator= output argument | provenance | MaD:152 | +| bmqa.cpp:278:7:278:45 | * ... | bmqa.cpp:278:7:278:45 | * ... | provenance | MaD:276 | +| bmqa.cpp:278:7:278:45 | * ... | bmqa.cpp:278:7:278:45 | * ... | provenance | MaD:276 | +| bmqa.cpp:278:7:278:45 | * ... | bmqa.cpp:278:7:278:45 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:278:7:278:45 | * ... | bmqa.cpp:278:7:278:45 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:278:7:278:45 | * ... | bmqa.cpp:278:32:278:39 | data output argument | provenance | MaD:276 | +| bmqa.cpp:278:7:278:45 | * ... | bmqa.cpp:278:32:278:39 | data output argument | provenance | MaD:276+MaD:275 | +| bmqa.cpp:278:8:278:11 | copy | bmqa.cpp:278:32:278:39 | call to getPropertyAsString | provenance | MaD:149 | +| bmqa.cpp:278:32:278:39 | call to getPropertyAsString | bmqa.cpp:278:7:278:45 | * ... | provenance | MaD:275 | +| bmqa.cpp:278:32:278:39 | call to getPropertyAsString | bmqa.cpp:278:7:278:45 | * ... | provenance | MaD:275 | +| bmqa.cpp:278:32:278:39 | data output argument | bmqa.cpp:278:32:278:39 | call to getPropertyAsString | provenance | | +| bmqa.cpp:282:19:282:26 | call to source | bmqa.cpp:283:66:283:69 | data | provenance | TaintFunction | +| bmqa.cpp:283:36:283:76 | *call to data | bmqa.cpp:283:36:283:76 | *call to data | provenance | | +| bmqa.cpp:283:36:283:76 | *call to data | bmqa.cpp:283:36:283:76 | *call to data | provenance | MaD:276 | +| bmqa.cpp:283:36:283:76 | *call to data | bmqa.cpp:283:36:283:76 | *call to data | provenance | MaD:276+MaD:275 | | bmqa.cpp:283:36:283:76 | *call to data | bmqa.cpp:285:2:285:4 | *msg | provenance | | -| bmqa.cpp:285:2:285:4 | *msg | bmqa.cpp:285:22:285:27 | loadProperties output argument | provenance | MaD:137 | -| bmqa.cpp:285:22:285:27 | loadProperties output argument | bmqa.cpp:287:8:287:21 | *call to operator= | provenance | TaintFunction | +| bmqa.cpp:283:66:283:69 | data | bmqa.cpp:283:36:283:76 | *call to data | provenance | MaD:275 | +| bmqa.cpp:285:2:285:4 | *msg | bmqa.cpp:285:22:285:27 | loadProperties output argument | provenance | MaD:139 | +| bmqa.cpp:285:22:285:27 | loadProperties output argument | bmqa.cpp:287:8:287:21 | call to operator= | provenance | TaintFunction | | bmqa.cpp:285:22:285:27 | loadProperties output argument | bmqa.cpp:287:16:287:20 | *props | provenance | | -| bmqa.cpp:287:8:287:21 | *call to operator= | bmqa.cpp:287:42:287:49 | *call to getPropertyAsString | provenance | MaD:147 | -| bmqa.cpp:287:16:287:20 | *props | bmqa.cpp:287:8:287:21 | *call to operator= | provenance | MaD:151 | -| bmqa.cpp:287:42:287:49 | *call to getPropertyAsString | bmqa.cpp:287:7:287:55 | * ... | provenance | TaintFunction | -| bmqa.cpp:291:19:291:26 | call to source | bmqa.cpp:292:28:292:58 | *call to data | provenance | TaintFunction | +| bmqa.cpp:287:7:287:55 | * ... | bmqa.cpp:287:7:287:55 | * ... | provenance | MaD:276 | +| bmqa.cpp:287:7:287:55 | * ... | bmqa.cpp:287:7:287:55 | * ... | provenance | MaD:276 | +| bmqa.cpp:287:7:287:55 | * ... | bmqa.cpp:287:7:287:55 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:287:7:287:55 | * ... | bmqa.cpp:287:7:287:55 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:287:7:287:55 | * ... | bmqa.cpp:287:42:287:49 | data output argument | provenance | MaD:276 | +| bmqa.cpp:287:7:287:55 | * ... | bmqa.cpp:287:42:287:49 | data output argument | provenance | MaD:276+MaD:275 | +| bmqa.cpp:287:8:287:21 | call to operator= | bmqa.cpp:287:42:287:49 | call to getPropertyAsString | provenance | MaD:149 | +| bmqa.cpp:287:16:287:20 | *props | bmqa.cpp:287:8:287:21 | call to operator= | provenance | MaD:153 | +| bmqa.cpp:287:42:287:49 | call to getPropertyAsString | bmqa.cpp:287:7:287:55 | * ... | provenance | MaD:275 | +| bmqa.cpp:287:42:287:49 | call to getPropertyAsString | bmqa.cpp:287:7:287:55 | * ... | provenance | MaD:275 | +| bmqa.cpp:287:42:287:49 | data output argument | bmqa.cpp:287:42:287:49 | call to getPropertyAsString | provenance | | +| bmqa.cpp:291:19:291:26 | call to source | bmqa.cpp:292:48:292:51 | data | provenance | TaintFunction | +| bmqa.cpp:292:28:292:58 | *call to data | bmqa.cpp:292:28:292:58 | *call to data | provenance | | +| bmqa.cpp:292:28:292:58 | *call to data | bmqa.cpp:292:28:292:58 | *call to data | provenance | MaD:276 | +| bmqa.cpp:292:28:292:58 | *call to data | bmqa.cpp:292:28:292:58 | *call to data | provenance | MaD:276+MaD:275 | | bmqa.cpp:292:28:292:58 | *call to data | bmqa.cpp:294:35:294:40 | * ... | provenance | | -| bmqa.cpp:294:2:294:6 | setPropertyAsString output argument | bmqa.cpp:295:8:295:12 | *props | provenance | | -| bmqa.cpp:294:35:294:40 | * ... | bmqa.cpp:294:2:294:6 | setPropertyAsString output argument | provenance | MaD:160 | -| bmqa.cpp:295:8:295:12 | *props | bmqa.cpp:295:33:295:40 | *call to getPropertyAsString | provenance | MaD:147 | -| bmqa.cpp:295:33:295:40 | *call to getPropertyAsString | bmqa.cpp:295:7:295:46 | * ... | provenance | TaintFunction | +| bmqa.cpp:292:48:292:51 | data | bmqa.cpp:292:28:292:58 | *call to data | provenance | MaD:275 | +| bmqa.cpp:294:2:294:6 | setPropertyAsString output argument | bmqa.cpp:295:8:295:12 | props | provenance | | +| bmqa.cpp:294:35:294:40 | * ... | bmqa.cpp:294:2:294:6 | setPropertyAsString output argument | provenance | MaD:162 | +| bmqa.cpp:295:7:295:46 | * ... | bmqa.cpp:295:7:295:46 | * ... | provenance | MaD:276 | +| bmqa.cpp:295:7:295:46 | * ... | bmqa.cpp:295:7:295:46 | * ... | provenance | MaD:276 | +| bmqa.cpp:295:7:295:46 | * ... | bmqa.cpp:295:7:295:46 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:295:7:295:46 | * ... | bmqa.cpp:295:7:295:46 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:295:7:295:46 | * ... | bmqa.cpp:295:33:295:40 | data output argument | provenance | MaD:276 | +| bmqa.cpp:295:7:295:46 | * ... | bmqa.cpp:295:33:295:40 | data output argument | provenance | MaD:276+MaD:275 | +| bmqa.cpp:295:8:295:12 | props | bmqa.cpp:295:33:295:40 | call to getPropertyAsString | provenance | MaD:149 | +| bmqa.cpp:295:33:295:40 | call to getPropertyAsString | bmqa.cpp:295:7:295:46 | * ... | provenance | MaD:275 | +| bmqa.cpp:295:33:295:40 | call to getPropertyAsString | bmqa.cpp:295:7:295:46 | * ... | provenance | MaD:275 | +| bmqa.cpp:295:33:295:40 | data output argument | bmqa.cpp:295:33:295:40 | call to getPropertyAsString | provenance | | | bmqa.cpp:299:25:299:32 | call to source | bmqa.cpp:301:35:301:39 | value | provenance | TaintFunction | -| bmqa.cpp:301:2:301:6 | setPropertyAsString output argument | bmqa.cpp:302:8:302:12 | *props | provenance | | -| bmqa.cpp:301:35:301:39 | value | bmqa.cpp:301:2:301:6 | setPropertyAsString output argument | provenance | MaD:160 | -| bmqa.cpp:302:8:302:12 | *props | bmqa.cpp:302:33:302:40 | *call to getPropertyAsString | provenance | MaD:147 | -| bmqa.cpp:302:33:302:40 | *call to getPropertyAsString | bmqa.cpp:302:7:302:46 | * ... | provenance | TaintFunction | -| bmqa.cpp:306:19:306:26 | call to source | bmqa.cpp:307:33:307:68 | *call to data | provenance | TaintFunction | +| bmqa.cpp:301:2:301:6 | setPropertyAsString output argument | bmqa.cpp:302:8:302:12 | props | provenance | | +| bmqa.cpp:301:35:301:39 | value | bmqa.cpp:301:2:301:6 | setPropertyAsString output argument | provenance | MaD:162 | +| bmqa.cpp:302:7:302:46 | * ... | bmqa.cpp:302:7:302:46 | * ... | provenance | MaD:276 | +| bmqa.cpp:302:7:302:46 | * ... | bmqa.cpp:302:7:302:46 | * ... | provenance | MaD:276 | +| bmqa.cpp:302:7:302:46 | * ... | bmqa.cpp:302:7:302:46 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:302:7:302:46 | * ... | bmqa.cpp:302:7:302:46 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:302:7:302:46 | * ... | bmqa.cpp:302:33:302:40 | data output argument | provenance | MaD:276 | +| bmqa.cpp:302:7:302:46 | * ... | bmqa.cpp:302:33:302:40 | data output argument | provenance | MaD:276+MaD:275 | +| bmqa.cpp:302:8:302:12 | props | bmqa.cpp:302:33:302:40 | call to getPropertyAsString | provenance | MaD:149 | +| bmqa.cpp:302:33:302:40 | call to getPropertyAsString | bmqa.cpp:302:7:302:46 | * ... | provenance | MaD:275 | +| bmqa.cpp:302:33:302:40 | call to getPropertyAsString | bmqa.cpp:302:7:302:46 | * ... | provenance | MaD:275 | +| bmqa.cpp:302:33:302:40 | data output argument | bmqa.cpp:302:33:302:40 | call to getPropertyAsString | provenance | | +| bmqa.cpp:306:19:306:26 | call to source | bmqa.cpp:307:58:307:61 | data | provenance | TaintFunction | +| bmqa.cpp:307:33:307:68 | *call to data | bmqa.cpp:307:33:307:68 | *call to data | provenance | | +| bmqa.cpp:307:33:307:68 | *call to data | bmqa.cpp:307:33:307:68 | *call to data | provenance | MaD:276 | +| bmqa.cpp:307:33:307:68 | *call to data | bmqa.cpp:307:33:307:68 | *call to data | provenance | MaD:276+MaD:275 | | bmqa.cpp:307:33:307:68 | *call to data | bmqa.cpp:309:35:309:40 | * ... | provenance | | -| bmqa.cpp:309:2:309:6 | setPropertyAsBinary output argument | bmqa.cpp:310:8:310:12 | *props | provenance | | -| bmqa.cpp:309:35:309:40 | * ... | bmqa.cpp:309:2:309:6 | setPropertyAsBinary output argument | provenance | MaD:153 | -| bmqa.cpp:310:8:310:12 | *props | bmqa.cpp:310:33:310:40 | *call to getPropertyAsBinary [element] | provenance | MaD:144 | -| bmqa.cpp:310:33:310:40 | *call to getPropertyAsBinary [element] | bmqa.cpp:310:7:310:46 | * ... | provenance | MaD:273 | +| bmqa.cpp:307:58:307:61 | data | bmqa.cpp:307:33:307:68 | *call to data | provenance | MaD:275 | +| bmqa.cpp:309:2:309:6 | setPropertyAsBinary output argument | bmqa.cpp:310:8:310:12 | props | provenance | | +| bmqa.cpp:309:35:309:40 | * ... | bmqa.cpp:309:2:309:6 | setPropertyAsBinary output argument | provenance | MaD:155 | +| bmqa.cpp:310:8:310:12 | props | bmqa.cpp:310:33:310:40 | call to getPropertyAsBinary [element] | provenance | MaD:146 | +| bmqa.cpp:310:33:310:40 | call to getPropertyAsBinary [element] | bmqa.cpp:310:7:310:46 | * ... | provenance | MaD:277 | | bmqa.cpp:315:24:315:31 | call to source | bmqa.cpp:317:26:317:29 | name | provenance | TaintFunction | | bmqa.cpp:317:2:317:6 | setPropertyAsBool output argument | bmqa.cpp:318:50:318:55 | *& ... | provenance | | -| bmqa.cpp:317:26:317:29 | name | bmqa.cpp:317:2:317:6 | setPropertyAsBool output argument | provenance | MaD:154 | -| bmqa.cpp:318:47:318:48 | call to MessagePropertiesIterator | bmqa.cpp:319:8:319:9 | *it | provenance | | -| bmqa.cpp:318:50:318:55 | *& ... | bmqa.cpp:318:47:318:48 | call to MessagePropertiesIterator | provenance | MaD:163 | -| bmqa.cpp:319:8:319:9 | *it | bmqa.cpp:319:15:319:17 | *call to name | provenance | MaD:166 | -| bmqa.cpp:319:15:319:17 | *call to name | bmqa.cpp:319:7:319:23 | * ... | provenance | TaintFunction | +| bmqa.cpp:317:26:317:29 | name | bmqa.cpp:317:2:317:6 | setPropertyAsBool output argument | provenance | MaD:156 | +| bmqa.cpp:318:47:318:48 | call to MessagePropertiesIterator | bmqa.cpp:319:8:319:9 | it | provenance | | +| bmqa.cpp:318:50:318:55 | *& ... | bmqa.cpp:318:47:318:48 | call to MessagePropertiesIterator | provenance | MaD:165 | +| bmqa.cpp:319:7:319:23 | * ... | bmqa.cpp:319:7:319:23 | * ... | provenance | MaD:276 | +| bmqa.cpp:319:7:319:23 | * ... | bmqa.cpp:319:7:319:23 | * ... | provenance | MaD:276 | +| bmqa.cpp:319:7:319:23 | * ... | bmqa.cpp:319:7:319:23 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:319:7:319:23 | * ... | bmqa.cpp:319:7:319:23 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:319:7:319:23 | * ... | bmqa.cpp:319:15:319:17 | data output argument | provenance | MaD:276 | +| bmqa.cpp:319:7:319:23 | * ... | bmqa.cpp:319:15:319:17 | data output argument | provenance | MaD:276+MaD:275 | +| bmqa.cpp:319:8:319:9 | it | bmqa.cpp:319:15:319:17 | call to name | provenance | MaD:168 | +| bmqa.cpp:319:15:319:17 | call to name | bmqa.cpp:319:7:319:23 | * ... | provenance | MaD:275 | +| bmqa.cpp:319:15:319:17 | call to name | bmqa.cpp:319:7:319:23 | * ... | provenance | MaD:275 | +| bmqa.cpp:319:15:319:17 | data output argument | bmqa.cpp:319:15:319:17 | call to name | provenance | | | bmqa.cpp:323:24:323:31 | call to source | bmqa.cpp:325:26:325:29 | name | provenance | TaintFunction | | bmqa.cpp:325:2:325:6 | setPropertyAsChar output argument | bmqa.cpp:326:50:326:55 | *& ... | provenance | | -| bmqa.cpp:325:26:325:29 | name | bmqa.cpp:325:2:325:6 | setPropertyAsChar output argument | provenance | MaD:155 | -| bmqa.cpp:326:47:326:48 | call to MessagePropertiesIterator | bmqa.cpp:327:8:327:9 | *it | provenance | | -| bmqa.cpp:326:50:326:55 | *& ... | bmqa.cpp:326:47:326:48 | call to MessagePropertiesIterator | provenance | MaD:163 | -| bmqa.cpp:327:8:327:9 | *it | bmqa.cpp:327:15:327:17 | *call to name | provenance | MaD:166 | -| bmqa.cpp:327:15:327:17 | *call to name | bmqa.cpp:327:7:327:23 | * ... | provenance | TaintFunction | +| bmqa.cpp:325:26:325:29 | name | bmqa.cpp:325:2:325:6 | setPropertyAsChar output argument | provenance | MaD:157 | +| bmqa.cpp:326:47:326:48 | call to MessagePropertiesIterator | bmqa.cpp:327:8:327:9 | it | provenance | | +| bmqa.cpp:326:50:326:55 | *& ... | bmqa.cpp:326:47:326:48 | call to MessagePropertiesIterator | provenance | MaD:165 | +| bmqa.cpp:327:7:327:23 | * ... | bmqa.cpp:327:7:327:23 | * ... | provenance | MaD:276 | +| bmqa.cpp:327:7:327:23 | * ... | bmqa.cpp:327:7:327:23 | * ... | provenance | MaD:276 | +| bmqa.cpp:327:7:327:23 | * ... | bmqa.cpp:327:7:327:23 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:327:7:327:23 | * ... | bmqa.cpp:327:7:327:23 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:327:7:327:23 | * ... | bmqa.cpp:327:15:327:17 | data output argument | provenance | MaD:276 | +| bmqa.cpp:327:7:327:23 | * ... | bmqa.cpp:327:15:327:17 | data output argument | provenance | MaD:276+MaD:275 | +| bmqa.cpp:327:8:327:9 | it | bmqa.cpp:327:15:327:17 | call to name | provenance | MaD:168 | +| bmqa.cpp:327:15:327:17 | call to name | bmqa.cpp:327:7:327:23 | * ... | provenance | MaD:275 | +| bmqa.cpp:327:15:327:17 | call to name | bmqa.cpp:327:7:327:23 | * ... | provenance | MaD:275 | +| bmqa.cpp:327:15:327:17 | data output argument | bmqa.cpp:327:15:327:17 | call to name | provenance | | | bmqa.cpp:331:24:331:31 | call to source | bmqa.cpp:333:27:333:30 | name | provenance | TaintFunction | | bmqa.cpp:333:2:333:6 | setPropertyAsShort output argument | bmqa.cpp:334:50:334:55 | *& ... | provenance | | -| bmqa.cpp:333:27:333:30 | name | bmqa.cpp:333:2:333:6 | setPropertyAsShort output argument | provenance | MaD:158 | -| bmqa.cpp:334:47:334:48 | call to MessagePropertiesIterator | bmqa.cpp:335:8:335:9 | *it | provenance | | -| bmqa.cpp:334:50:334:55 | *& ... | bmqa.cpp:334:47:334:48 | call to MessagePropertiesIterator | provenance | MaD:163 | -| bmqa.cpp:335:8:335:9 | *it | bmqa.cpp:335:15:335:17 | *call to name | provenance | MaD:166 | -| bmqa.cpp:335:15:335:17 | *call to name | bmqa.cpp:335:7:335:23 | * ... | provenance | TaintFunction | +| bmqa.cpp:333:27:333:30 | name | bmqa.cpp:333:2:333:6 | setPropertyAsShort output argument | provenance | MaD:160 | +| bmqa.cpp:334:47:334:48 | call to MessagePropertiesIterator | bmqa.cpp:335:8:335:9 | it | provenance | | +| bmqa.cpp:334:50:334:55 | *& ... | bmqa.cpp:334:47:334:48 | call to MessagePropertiesIterator | provenance | MaD:165 | +| bmqa.cpp:335:7:335:23 | * ... | bmqa.cpp:335:7:335:23 | * ... | provenance | MaD:276 | +| bmqa.cpp:335:7:335:23 | * ... | bmqa.cpp:335:7:335:23 | * ... | provenance | MaD:276 | +| bmqa.cpp:335:7:335:23 | * ... | bmqa.cpp:335:7:335:23 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:335:7:335:23 | * ... | bmqa.cpp:335:7:335:23 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:335:7:335:23 | * ... | bmqa.cpp:335:15:335:17 | data output argument | provenance | MaD:276 | +| bmqa.cpp:335:7:335:23 | * ... | bmqa.cpp:335:15:335:17 | data output argument | provenance | MaD:276+MaD:275 | +| bmqa.cpp:335:8:335:9 | it | bmqa.cpp:335:15:335:17 | call to name | provenance | MaD:168 | +| bmqa.cpp:335:15:335:17 | call to name | bmqa.cpp:335:7:335:23 | * ... | provenance | MaD:275 | +| bmqa.cpp:335:15:335:17 | call to name | bmqa.cpp:335:7:335:23 | * ... | provenance | MaD:275 | +| bmqa.cpp:335:15:335:17 | data output argument | bmqa.cpp:335:15:335:17 | call to name | provenance | | | bmqa.cpp:339:24:339:31 | call to source | bmqa.cpp:341:27:341:30 | name | provenance | TaintFunction | | bmqa.cpp:341:2:341:6 | setPropertyAsInt32 output argument | bmqa.cpp:342:50:342:55 | *& ... | provenance | | -| bmqa.cpp:341:27:341:30 | name | bmqa.cpp:341:2:341:6 | setPropertyAsInt32 output argument | provenance | MaD:156 | -| bmqa.cpp:342:47:342:48 | call to MessagePropertiesIterator | bmqa.cpp:343:8:343:9 | *it | provenance | | -| bmqa.cpp:342:50:342:55 | *& ... | bmqa.cpp:342:47:342:48 | call to MessagePropertiesIterator | provenance | MaD:163 | -| bmqa.cpp:343:8:343:9 | *it | bmqa.cpp:343:15:343:17 | *call to name | provenance | MaD:166 | -| bmqa.cpp:343:15:343:17 | *call to name | bmqa.cpp:343:7:343:23 | * ... | provenance | TaintFunction | +| bmqa.cpp:341:27:341:30 | name | bmqa.cpp:341:2:341:6 | setPropertyAsInt32 output argument | provenance | MaD:158 | +| bmqa.cpp:342:47:342:48 | call to MessagePropertiesIterator | bmqa.cpp:343:8:343:9 | it | provenance | | +| bmqa.cpp:342:50:342:55 | *& ... | bmqa.cpp:342:47:342:48 | call to MessagePropertiesIterator | provenance | MaD:165 | +| bmqa.cpp:343:7:343:23 | * ... | bmqa.cpp:343:7:343:23 | * ... | provenance | MaD:276 | +| bmqa.cpp:343:7:343:23 | * ... | bmqa.cpp:343:7:343:23 | * ... | provenance | MaD:276 | +| bmqa.cpp:343:7:343:23 | * ... | bmqa.cpp:343:7:343:23 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:343:7:343:23 | * ... | bmqa.cpp:343:7:343:23 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:343:7:343:23 | * ... | bmqa.cpp:343:15:343:17 | data output argument | provenance | MaD:276 | +| bmqa.cpp:343:7:343:23 | * ... | bmqa.cpp:343:15:343:17 | data output argument | provenance | MaD:276+MaD:275 | +| bmqa.cpp:343:8:343:9 | it | bmqa.cpp:343:15:343:17 | call to name | provenance | MaD:168 | +| bmqa.cpp:343:15:343:17 | call to name | bmqa.cpp:343:7:343:23 | * ... | provenance | MaD:275 | +| bmqa.cpp:343:15:343:17 | call to name | bmqa.cpp:343:7:343:23 | * ... | provenance | MaD:275 | +| bmqa.cpp:343:15:343:17 | data output argument | bmqa.cpp:343:15:343:17 | call to name | provenance | | | bmqa.cpp:347:24:347:31 | call to source | bmqa.cpp:349:27:349:30 | name | provenance | TaintFunction | | bmqa.cpp:349:2:349:6 | setPropertyAsInt64 output argument | bmqa.cpp:350:50:350:55 | *& ... | provenance | | -| bmqa.cpp:349:27:349:30 | name | bmqa.cpp:349:2:349:6 | setPropertyAsInt64 output argument | provenance | MaD:157 | -| bmqa.cpp:350:47:350:48 | call to MessagePropertiesIterator | bmqa.cpp:351:8:351:9 | *it | provenance | | -| bmqa.cpp:350:50:350:55 | *& ... | bmqa.cpp:350:47:350:48 | call to MessagePropertiesIterator | provenance | MaD:163 | -| bmqa.cpp:351:8:351:9 | *it | bmqa.cpp:351:15:351:17 | *call to name | provenance | MaD:166 | -| bmqa.cpp:351:15:351:17 | *call to name | bmqa.cpp:351:7:351:23 | * ... | provenance | TaintFunction | +| bmqa.cpp:349:27:349:30 | name | bmqa.cpp:349:2:349:6 | setPropertyAsInt64 output argument | provenance | MaD:159 | +| bmqa.cpp:350:47:350:48 | call to MessagePropertiesIterator | bmqa.cpp:351:8:351:9 | it | provenance | | +| bmqa.cpp:350:50:350:55 | *& ... | bmqa.cpp:350:47:350:48 | call to MessagePropertiesIterator | provenance | MaD:165 | +| bmqa.cpp:351:7:351:23 | * ... | bmqa.cpp:351:7:351:23 | * ... | provenance | MaD:276 | +| bmqa.cpp:351:7:351:23 | * ... | bmqa.cpp:351:7:351:23 | * ... | provenance | MaD:276 | +| bmqa.cpp:351:7:351:23 | * ... | bmqa.cpp:351:7:351:23 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:351:7:351:23 | * ... | bmqa.cpp:351:7:351:23 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:351:7:351:23 | * ... | bmqa.cpp:351:15:351:17 | data output argument | provenance | MaD:276 | +| bmqa.cpp:351:7:351:23 | * ... | bmqa.cpp:351:15:351:17 | data output argument | provenance | MaD:276+MaD:275 | +| bmqa.cpp:351:8:351:9 | it | bmqa.cpp:351:15:351:17 | call to name | provenance | MaD:168 | +| bmqa.cpp:351:15:351:17 | call to name | bmqa.cpp:351:7:351:23 | * ... | provenance | MaD:275 | +| bmqa.cpp:351:15:351:17 | call to name | bmqa.cpp:351:7:351:23 | * ... | provenance | MaD:275 | +| bmqa.cpp:351:15:351:17 | data output argument | bmqa.cpp:351:15:351:17 | call to name | provenance | | | bmqa.cpp:355:24:355:31 | call to source | bmqa.cpp:357:28:357:31 | name | provenance | TaintFunction | | bmqa.cpp:357:2:357:6 | setPropertyAsString output argument | bmqa.cpp:358:50:358:55 | *& ... | provenance | | -| bmqa.cpp:357:28:357:31 | name | bmqa.cpp:357:2:357:6 | setPropertyAsString output argument | provenance | MaD:159 | -| bmqa.cpp:358:47:358:48 | call to MessagePropertiesIterator | bmqa.cpp:359:8:359:9 | *it | provenance | | -| bmqa.cpp:358:50:358:55 | *& ... | bmqa.cpp:358:47:358:48 | call to MessagePropertiesIterator | provenance | MaD:163 | -| bmqa.cpp:359:8:359:9 | *it | bmqa.cpp:359:15:359:17 | *call to name | provenance | MaD:166 | -| bmqa.cpp:359:15:359:17 | *call to name | bmqa.cpp:359:7:359:23 | * ... | provenance | TaintFunction | +| bmqa.cpp:357:28:357:31 | name | bmqa.cpp:357:2:357:6 | setPropertyAsString output argument | provenance | MaD:161 | +| bmqa.cpp:358:47:358:48 | call to MessagePropertiesIterator | bmqa.cpp:359:8:359:9 | it | provenance | | +| bmqa.cpp:358:50:358:55 | *& ... | bmqa.cpp:358:47:358:48 | call to MessagePropertiesIterator | provenance | MaD:165 | +| bmqa.cpp:359:7:359:23 | * ... | bmqa.cpp:359:7:359:23 | * ... | provenance | MaD:276 | +| bmqa.cpp:359:7:359:23 | * ... | bmqa.cpp:359:7:359:23 | * ... | provenance | MaD:276 | +| bmqa.cpp:359:7:359:23 | * ... | bmqa.cpp:359:7:359:23 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:359:7:359:23 | * ... | bmqa.cpp:359:7:359:23 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:359:7:359:23 | * ... | bmqa.cpp:359:15:359:17 | data output argument | provenance | MaD:276 | +| bmqa.cpp:359:7:359:23 | * ... | bmqa.cpp:359:15:359:17 | data output argument | provenance | MaD:276+MaD:275 | +| bmqa.cpp:359:8:359:9 | it | bmqa.cpp:359:15:359:17 | call to name | provenance | MaD:168 | +| bmqa.cpp:359:15:359:17 | call to name | bmqa.cpp:359:7:359:23 | * ... | provenance | MaD:275 | +| bmqa.cpp:359:15:359:17 | call to name | bmqa.cpp:359:7:359:23 | * ... | provenance | MaD:275 | +| bmqa.cpp:359:15:359:17 | data output argument | bmqa.cpp:359:15:359:17 | call to name | provenance | | | bmqa.cpp:363:24:363:31 | call to source | bmqa.cpp:365:28:365:31 | name | provenance | TaintFunction | | bmqa.cpp:365:2:365:6 | setPropertyAsBinary output argument | bmqa.cpp:366:50:366:55 | *& ... | provenance | | -| bmqa.cpp:365:28:365:31 | name | bmqa.cpp:365:2:365:6 | setPropertyAsBinary output argument | provenance | MaD:152 | -| bmqa.cpp:366:47:366:48 | call to MessagePropertiesIterator | bmqa.cpp:367:8:367:9 | *it | provenance | | -| bmqa.cpp:366:50:366:55 | *& ... | bmqa.cpp:366:47:366:48 | call to MessagePropertiesIterator | provenance | MaD:163 | -| bmqa.cpp:367:8:367:9 | *it | bmqa.cpp:367:15:367:17 | *call to name | provenance | MaD:166 | -| bmqa.cpp:367:15:367:17 | *call to name | bmqa.cpp:367:7:367:23 | * ... | provenance | TaintFunction | -| bmqa.cpp:371:19:371:26 | call to source | bmqa.cpp:372:36:372:76 | *call to data | provenance | TaintFunction | +| bmqa.cpp:365:28:365:31 | name | bmqa.cpp:365:2:365:6 | setPropertyAsBinary output argument | provenance | MaD:154 | +| bmqa.cpp:366:47:366:48 | call to MessagePropertiesIterator | bmqa.cpp:367:8:367:9 | it | provenance | | +| bmqa.cpp:366:50:366:55 | *& ... | bmqa.cpp:366:47:366:48 | call to MessagePropertiesIterator | provenance | MaD:165 | +| bmqa.cpp:367:7:367:23 | * ... | bmqa.cpp:367:7:367:23 | * ... | provenance | MaD:276 | +| bmqa.cpp:367:7:367:23 | * ... | bmqa.cpp:367:7:367:23 | * ... | provenance | MaD:276 | +| bmqa.cpp:367:7:367:23 | * ... | bmqa.cpp:367:7:367:23 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:367:7:367:23 | * ... | bmqa.cpp:367:7:367:23 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:367:7:367:23 | * ... | bmqa.cpp:367:15:367:17 | data output argument | provenance | MaD:276 | +| bmqa.cpp:367:7:367:23 | * ... | bmqa.cpp:367:15:367:17 | data output argument | provenance | MaD:276+MaD:275 | +| bmqa.cpp:367:8:367:9 | it | bmqa.cpp:367:15:367:17 | call to name | provenance | MaD:168 | +| bmqa.cpp:367:15:367:17 | call to name | bmqa.cpp:367:7:367:23 | * ... | provenance | MaD:275 | +| bmqa.cpp:367:15:367:17 | call to name | bmqa.cpp:367:7:367:23 | * ... | provenance | MaD:275 | +| bmqa.cpp:367:15:367:17 | data output argument | bmqa.cpp:367:15:367:17 | call to name | provenance | | +| bmqa.cpp:371:19:371:26 | call to source | bmqa.cpp:372:66:372:69 | data | provenance | TaintFunction | +| bmqa.cpp:372:36:372:76 | *call to data | bmqa.cpp:372:36:372:76 | *call to data | provenance | | +| bmqa.cpp:372:36:372:76 | *call to data | bmqa.cpp:372:36:372:76 | *call to data | provenance | MaD:276 | +| bmqa.cpp:372:36:372:76 | *call to data | bmqa.cpp:372:36:372:76 | *call to data | provenance | MaD:276+MaD:275 | | bmqa.cpp:372:36:372:76 | *call to data | bmqa.cpp:374:2:374:4 | *msg | provenance | | -| bmqa.cpp:374:2:374:4 | *msg | bmqa.cpp:374:22:374:27 | loadProperties output argument | provenance | MaD:137 | +| bmqa.cpp:372:66:372:69 | data | bmqa.cpp:372:36:372:76 | *call to data | provenance | MaD:275 | +| bmqa.cpp:374:2:374:4 | *msg | bmqa.cpp:374:22:374:27 | loadProperties output argument | provenance | MaD:139 | | bmqa.cpp:374:22:374:27 | loadProperties output argument | bmqa.cpp:375:50:375:55 | *& ... | provenance | | -| bmqa.cpp:375:47:375:48 | call to MessagePropertiesIterator | bmqa.cpp:377:9:377:10 | *it | provenance | | -| bmqa.cpp:375:47:375:48 | call to MessagePropertiesIterator | bmqa.cpp:378:9:378:10 | *it | provenance | | -| bmqa.cpp:375:47:375:48 | call to MessagePropertiesIterator | bmqa.cpp:379:9:379:10 | *it | provenance | | -| bmqa.cpp:375:50:375:55 | *& ... | bmqa.cpp:375:47:375:48 | call to MessagePropertiesIterator | provenance | MaD:163 | -| bmqa.cpp:377:9:377:10 | *it | bmqa.cpp:377:16:377:18 | *call to name | provenance | MaD:166 | -| bmqa.cpp:377:16:377:18 | *call to name | bmqa.cpp:377:8:377:24 | * ... | provenance | TaintFunction | -| bmqa.cpp:378:9:378:10 | *it | bmqa.cpp:378:23:378:25 | *call to getAsString | provenance | MaD:165 | -| bmqa.cpp:378:23:378:25 | *call to getAsString | bmqa.cpp:378:8:378:31 | * ... | provenance | TaintFunction | -| bmqa.cpp:379:9:379:10 | *it | bmqa.cpp:379:23:379:25 | *call to getAsBinary [element] | provenance | MaD:164 | -| bmqa.cpp:379:23:379:25 | *call to getAsBinary [element] | bmqa.cpp:379:8:379:31 | * ... | provenance | MaD:273 | -| bmqa.cpp:385:19:385:26 | call to source | bmqa.cpp:386:36:386:76 | *call to data | provenance | TaintFunction | +| bmqa.cpp:375:47:375:48 | call to MessagePropertiesIterator | bmqa.cpp:377:9:377:10 | it | provenance | | +| bmqa.cpp:375:47:375:48 | call to MessagePropertiesIterator | bmqa.cpp:378:9:378:10 | it | provenance | | +| bmqa.cpp:375:47:375:48 | call to MessagePropertiesIterator | bmqa.cpp:379:9:379:10 | it | provenance | | +| bmqa.cpp:375:50:375:55 | *& ... | bmqa.cpp:375:47:375:48 | call to MessagePropertiesIterator | provenance | MaD:165 | +| bmqa.cpp:377:8:377:24 | * ... | bmqa.cpp:377:8:377:24 | * ... | provenance | MaD:276 | +| bmqa.cpp:377:8:377:24 | * ... | bmqa.cpp:377:8:377:24 | * ... | provenance | MaD:276 | +| bmqa.cpp:377:8:377:24 | * ... | bmqa.cpp:377:8:377:24 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:377:8:377:24 | * ... | bmqa.cpp:377:8:377:24 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:377:8:377:24 | * ... | bmqa.cpp:377:16:377:18 | data output argument | provenance | MaD:276 | +| bmqa.cpp:377:8:377:24 | * ... | bmqa.cpp:377:16:377:18 | data output argument | provenance | MaD:276+MaD:275 | +| bmqa.cpp:377:9:377:10 | it | bmqa.cpp:377:16:377:18 | call to name | provenance | MaD:168 | +| bmqa.cpp:377:16:377:18 | call to name | bmqa.cpp:377:8:377:24 | * ... | provenance | MaD:275 | +| bmqa.cpp:377:16:377:18 | call to name | bmqa.cpp:377:8:377:24 | * ... | provenance | MaD:275 | +| bmqa.cpp:377:16:377:18 | data output argument | bmqa.cpp:377:16:377:18 | call to name | provenance | | +| bmqa.cpp:378:8:378:31 | * ... | bmqa.cpp:378:8:378:31 | * ... | provenance | MaD:276 | +| bmqa.cpp:378:8:378:31 | * ... | bmqa.cpp:378:8:378:31 | * ... | provenance | MaD:276 | +| bmqa.cpp:378:8:378:31 | * ... | bmqa.cpp:378:8:378:31 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:378:8:378:31 | * ... | bmqa.cpp:378:8:378:31 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:378:8:378:31 | * ... | bmqa.cpp:378:23:378:25 | data output argument | provenance | MaD:276 | +| bmqa.cpp:378:8:378:31 | * ... | bmqa.cpp:378:23:378:25 | data output argument | provenance | MaD:276+MaD:275 | +| bmqa.cpp:378:9:378:10 | it | bmqa.cpp:378:23:378:25 | call to getAsString | provenance | MaD:167 | +| bmqa.cpp:378:23:378:25 | call to getAsString | bmqa.cpp:378:8:378:31 | * ... | provenance | MaD:275 | +| bmqa.cpp:378:23:378:25 | call to getAsString | bmqa.cpp:378:8:378:31 | * ... | provenance | MaD:275 | +| bmqa.cpp:378:23:378:25 | data output argument | bmqa.cpp:378:23:378:25 | call to getAsString | provenance | | +| bmqa.cpp:379:9:379:10 | it | bmqa.cpp:379:23:379:25 | call to getAsBinary [element] | provenance | MaD:166 | +| bmqa.cpp:379:23:379:25 | call to getAsBinary [element] | bmqa.cpp:379:8:379:31 | * ... | provenance | MaD:277 | +| bmqa.cpp:385:19:385:26 | call to source | bmqa.cpp:386:66:386:69 | data | provenance | TaintFunction | +| bmqa.cpp:386:36:386:76 | *call to data | bmqa.cpp:386:36:386:76 | *call to data | provenance | | +| bmqa.cpp:386:36:386:76 | *call to data | bmqa.cpp:386:36:386:76 | *call to data | provenance | MaD:276 | +| bmqa.cpp:386:36:386:76 | *call to data | bmqa.cpp:386:36:386:76 | *call to data | provenance | MaD:276+MaD:275 | | bmqa.cpp:386:36:386:76 | *call to data | bmqa.cpp:388:2:388:4 | *msg | provenance | | -| bmqa.cpp:388:2:388:4 | *msg | bmqa.cpp:388:22:388:27 | loadProperties output argument | provenance | MaD:137 | +| bmqa.cpp:386:66:386:69 | data | bmqa.cpp:386:36:386:76 | *call to data | provenance | MaD:275 | +| bmqa.cpp:388:2:388:4 | *msg | bmqa.cpp:388:22:388:27 | loadProperties output argument | provenance | MaD:139 | | bmqa.cpp:388:22:388:27 | loadProperties output argument | bmqa.cpp:389:50:389:55 | *& ... | provenance | | | bmqa.cpp:389:47:389:48 | call to MessagePropertiesIterator | bmqa.cpp:391:9:391:10 | *it | provenance | | -| bmqa.cpp:389:47:389:48 | call to MessagePropertiesIterator | bmqa.cpp:392:8:392:11 | *copy | provenance | TaintFunction | -| bmqa.cpp:389:47:389:48 | call to MessagePropertiesIterator | bmqa.cpp:393:8:393:18 | *call to operator= | provenance | TaintFunction | +| bmqa.cpp:389:47:389:48 | call to MessagePropertiesIterator | bmqa.cpp:392:8:392:11 | copy | provenance | TaintFunction | +| bmqa.cpp:389:47:389:48 | call to MessagePropertiesIterator | bmqa.cpp:393:8:393:18 | call to operator= | provenance | TaintFunction | | bmqa.cpp:389:47:389:48 | call to MessagePropertiesIterator | bmqa.cpp:393:16:393:17 | *it | provenance | | -| bmqa.cpp:389:50:389:55 | *& ... | bmqa.cpp:389:47:389:48 | call to MessagePropertiesIterator | provenance | MaD:163 | -| bmqa.cpp:391:2:391:5 | operator= output argument | bmqa.cpp:392:8:392:11 | *copy | provenance | | -| bmqa.cpp:391:9:391:10 | *it | bmqa.cpp:391:2:391:5 | operator= output argument | provenance | MaD:167 | -| bmqa.cpp:392:8:392:11 | *copy | bmqa.cpp:392:24:392:26 | *call to getAsString | provenance | MaD:165 | -| bmqa.cpp:392:24:392:26 | *call to getAsString | bmqa.cpp:392:7:392:32 | * ... | provenance | TaintFunction | -| bmqa.cpp:393:8:393:18 | *call to operator= | bmqa.cpp:393:24:393:26 | *call to name | provenance | MaD:166 | -| bmqa.cpp:393:16:393:17 | *it | bmqa.cpp:393:8:393:18 | *call to operator= | provenance | MaD:168 | -| bmqa.cpp:393:24:393:26 | *call to name | bmqa.cpp:393:7:393:32 | * ... | provenance | TaintFunction | -| bslx.cpp:161:33:161:40 | call to source | bslx.cpp:162:46:162:49 | *call to data | provenance | TaintFunction | -| bslx.cpp:162:34:162:39 | call to ByteInStream | bslx.cpp:164:2:164:7 | *stream | provenance | | -| bslx.cpp:162:46:162:49 | *call to data | bslx.cpp:162:34:162:39 | call to ByteInStream | provenance | MaD:171 | -| bslx.cpp:164:2:164:7 | *stream | bslx.cpp:164:22:164:24 | getArrayInt8 output argument | provenance | MaD:181 | -| bslx.cpp:164:22:164:24 | getArrayInt8 output argument | bslx.cpp:165:7:165:10 | * ... | provenance | | -| bslx.cpp:169:33:169:40 | call to source | bslx.cpp:170:46:170:49 | *call to data | provenance | TaintFunction | -| bslx.cpp:170:34:170:39 | call to ByteInStream | bslx.cpp:172:2:172:7 | *stream | provenance | | -| bslx.cpp:170:46:170:49 | *call to data | bslx.cpp:170:34:170:39 | call to ByteInStream | provenance | MaD:171 | -| bslx.cpp:172:2:172:7 | *stream | bslx.cpp:172:19:172:21 | getString output argument | provenance | MaD:202 | -| bslx.cpp:172:19:172:21 | getString output argument | bslx.cpp:173:7:173:17 | * ... | provenance | TaintFunction | -| bslx.cpp:177:33:177:40 | call to source | bslx.cpp:178:46:178:49 | *call to data | provenance | TaintFunction | -| bslx.cpp:178:34:178:39 | call to ByteInStream | bslx.cpp:181:2:181:7 | *stream | provenance | | -| bslx.cpp:178:46:178:49 | *call to data | bslx.cpp:178:34:178:39 | call to ByteInStream | provenance | MaD:171 | -| bslx.cpp:181:2:181:7 | *stream | bslx.cpp:181:17:181:20 | *call to getInt32 | provenance | MaD:195 | -| bslx.cpp:181:17:181:20 | *call to getInt32 | bslx.cpp:181:31:181:33 | getString output argument | provenance | MaD:202 | -| bslx.cpp:181:31:181:33 | getString output argument | bslx.cpp:182:7:182:17 | * ... | provenance | TaintFunction | -| bslx.cpp:187:33:187:40 | call to source | bslx.cpp:188:20:188:23 | *call to data | provenance | TaintFunction | -| bslx.cpp:188:2:188:7 | reset output argument | bslx.cpp:190:2:190:7 | *stream | provenance | | -| bslx.cpp:188:20:188:23 | *call to data | bslx.cpp:188:2:188:7 | reset output argument | provenance | MaD:214 | -| bslx.cpp:190:2:190:7 | *stream | bslx.cpp:190:19:190:21 | getString output argument | provenance | MaD:202 | -| bslx.cpp:190:19:190:21 | getString output argument | bslx.cpp:191:7:191:17 | * ... | provenance | TaintFunction | -| bslx.cpp:195:33:195:40 | call to source | bslx.cpp:196:20:196:45 | *call to data | provenance | TaintFunction | -| bslx.cpp:196:20:196:45 | *call to data | bslx.cpp:197:57:197:58 | *sb | provenance | | -| bslx.cpp:196:20:196:45 | *call to data | bslx.cpp:199:2:199:7 | *stream | provenance | TaintFunction | -| bslx.cpp:197:50:197:55 | call to GenericInStream | bslx.cpp:199:2:199:7 | *stream | provenance | | -| bslx.cpp:197:57:197:58 | *sb | bslx.cpp:197:50:197:55 | call to GenericInStream | provenance | MaD:215 | -| bslx.cpp:199:2:199:7 | *stream | bslx.cpp:199:19:199:21 | getString output argument | provenance | MaD:245 | -| bslx.cpp:199:19:199:21 | getString output argument | bslx.cpp:200:7:200:17 | * ... | provenance | TaintFunction | -| bslx.cpp:213:33:213:40 | call to source | bslx.cpp:214:46:214:49 | *call to data | provenance | TaintFunction | -| bslx.cpp:214:34:214:39 | call to ByteInStream | bslx.cpp:216:53:216:58 | *stream | provenance | | -| bslx.cpp:214:46:214:49 | *call to data | bslx.cpp:214:34:214:39 | call to ByteInStream | provenance | MaD:171 | -| bslx.cpp:216:53:216:58 | *stream | bslx.cpp:216:61:216:63 | bdexStreamIn output argument | provenance | MaD:169 | -| bslx.cpp:216:61:216:63 | bdexStreamIn output argument | bslx.cpp:217:7:217:17 | * ... | provenance | TaintFunction | -| bslx.cpp:223:33:223:40 | call to source | bslx.cpp:224:46:224:49 | *call to data | provenance | TaintFunction | -| bslx.cpp:224:34:224:39 | call to ByteInStream | bslx.cpp:247:2:247:7 | *stream | provenance | | -| bslx.cpp:224:46:224:49 | *call to data | bslx.cpp:224:34:224:39 | call to ByteInStream | provenance | MaD:171 | -| bslx.cpp:247:2:247:7 | *stream | bslx.cpp:247:18:247:21 | *call to getLength | provenance | MaD:201 | -| bslx.cpp:247:18:247:21 | *call to getLength | bslx.cpp:247:32:247:35 | *call to getVersion | provenance | MaD:212 | -| bslx.cpp:247:32:247:35 | *call to getVersion | bslx.cpp:247:43:247:46 | *call to getInt8 | provenance | MaD:200 | -| bslx.cpp:247:43:247:46 | *call to getInt8 | bslx.cpp:247:55:247:59 | *call to getUint8 | provenance | MaD:211 | -| bslx.cpp:247:55:247:59 | *call to getUint8 | bslx.cpp:247:68:247:71 | *call to getInt16 | provenance | MaD:193 | -| bslx.cpp:247:68:247:71 | *call to getInt16 | bslx.cpp:247:81:247:85 | *call to getUint16 | provenance | MaD:204 | -| bslx.cpp:247:81:247:85 | *call to getUint16 | bslx.cpp:247:94:247:97 | *call to getInt24 | provenance | MaD:194 | -| bslx.cpp:247:94:247:97 | *call to getInt24 | bslx.cpp:247:107:247:111 | *call to getUint24 | provenance | MaD:205 | -| bslx.cpp:247:107:247:111 | *call to getUint24 | bslx.cpp:247:120:247:123 | *call to getInt32 | provenance | MaD:195 | -| bslx.cpp:247:120:247:123 | *call to getInt32 | bslx.cpp:247:133:247:137 | *call to getUint32 | provenance | MaD:206 | -| bslx.cpp:247:133:247:137 | *call to getUint32 | bslx.cpp:247:146:247:150 | *call to getInt40 | provenance | MaD:196 | -| bslx.cpp:247:146:247:150 | *call to getInt40 | bslx.cpp:247:160:247:165 | *call to getUint40 | provenance | MaD:207 | -| bslx.cpp:247:160:247:165 | *call to getUint40 | bslx.cpp:247:174:247:178 | *call to getInt48 | provenance | MaD:197 | -| bslx.cpp:247:174:247:178 | *call to getInt48 | bslx.cpp:247:188:247:193 | *call to getUint48 | provenance | MaD:208 | -| bslx.cpp:247:188:247:193 | *call to getUint48 | bslx.cpp:247:202:247:206 | *call to getInt56 | provenance | MaD:198 | -| bslx.cpp:247:202:247:206 | *call to getInt56 | bslx.cpp:247:216:247:221 | *call to getUint56 | provenance | MaD:209 | -| bslx.cpp:247:216:247:221 | *call to getUint56 | bslx.cpp:247:230:247:234 | *call to getInt64 | provenance | MaD:199 | -| bslx.cpp:247:230:247:234 | *call to getInt64 | bslx.cpp:247:244:247:249 | *call to getUint64 | provenance | MaD:210 | -| bslx.cpp:247:244:247:249 | *call to getUint64 | bslx.cpp:247:260:247:263 | *call to getFloat32 | provenance | MaD:191 | -| bslx.cpp:247:260:247:263 | *call to getFloat32 | bslx.cpp:247:274:247:277 | *call to getFloat64 | provenance | MaD:192 | -| bslx.cpp:247:274:247:277 | *call to getFloat64 | bslx.cpp:247:287:247:292 | *call to getString | provenance | MaD:203 | -| bslx.cpp:247:287:247:292 | *call to getString | bslx.cpp:247:305:247:315 | *call to getArrayInt8 | provenance | MaD:182 | -| bslx.cpp:247:305:247:315 | *call to getArrayInt8 | bslx.cpp:247:329:247:340 | *call to getArrayUint8 | provenance | MaD:190 | -| bslx.cpp:247:329:247:340 | *call to getArrayUint8 | bslx.cpp:247:354:247:364 | *call to getArrayInt16 | provenance | MaD:174 | -| bslx.cpp:247:354:247:364 | *call to getArrayInt16 | bslx.cpp:247:379:247:390 | *call to getArrayUint16 | provenance | MaD:183 | -| bslx.cpp:247:379:247:390 | *call to getArrayUint16 | bslx.cpp:247:404:247:414 | *call to getArrayInt24 | provenance | MaD:175 | -| bslx.cpp:247:404:247:414 | *call to getArrayInt24 | bslx.cpp:247:429:247:440 | *call to getArrayUint24 | provenance | MaD:184 | -| bslx.cpp:247:429:247:440 | *call to getArrayUint24 | bslx.cpp:247:454:247:464 | *call to getArrayInt32 | provenance | MaD:176 | -| bslx.cpp:247:454:247:464 | *call to getArrayInt32 | bslx.cpp:247:479:247:490 | *call to getArrayUint32 | provenance | MaD:185 | -| bslx.cpp:247:479:247:490 | *call to getArrayUint32 | bslx.cpp:247:504:247:515 | *call to getArrayInt40 | provenance | MaD:177 | -| bslx.cpp:247:504:247:515 | *call to getArrayInt40 | bslx.cpp:247:530:247:542 | *call to getArrayUint40 | provenance | MaD:186 | -| bslx.cpp:247:530:247:542 | *call to getArrayUint40 | bslx.cpp:247:556:247:567 | *call to getArrayInt48 | provenance | MaD:178 | -| bslx.cpp:247:556:247:567 | *call to getArrayInt48 | bslx.cpp:247:582:247:594 | *call to getArrayUint48 | provenance | MaD:187 | -| bslx.cpp:247:582:247:594 | *call to getArrayUint48 | bslx.cpp:247:608:247:619 | *call to getArrayInt56 | provenance | MaD:179 | -| bslx.cpp:247:608:247:619 | *call to getArrayInt56 | bslx.cpp:247:634:247:646 | *call to getArrayUint56 | provenance | MaD:188 | -| bslx.cpp:247:634:247:646 | *call to getArrayUint56 | bslx.cpp:247:660:247:671 | *call to getArrayInt64 | provenance | MaD:180 | -| bslx.cpp:247:660:247:671 | *call to getArrayInt64 | bslx.cpp:247:686:247:698 | *call to getArrayUint64 | provenance | MaD:189 | -| bslx.cpp:247:686:247:698 | *call to getArrayUint64 | bslx.cpp:247:714:247:724 | *call to getArrayFloat32 | provenance | MaD:172 | -| bslx.cpp:247:714:247:724 | *call to getArrayFloat32 | bslx.cpp:247:740:247:750 | *call to getArrayFloat64 | provenance | MaD:173 | -| bslx.cpp:247:740:247:750 | *call to getArrayFloat64 | bslx.cpp:247:761:247:763 | getString output argument | provenance | MaD:202 | -| bslx.cpp:247:761:247:763 | getString output argument | bslx.cpp:248:7:248:17 | * ... | provenance | TaintFunction | -| bslx.cpp:252:33:252:40 | call to source | bslx.cpp:253:20:253:45 | *call to data | provenance | TaintFunction | -| bslx.cpp:253:20:253:45 | *call to data | bslx.cpp:254:57:254:58 | *sb | provenance | | -| bslx.cpp:253:20:253:45 | *call to data | bslx.cpp:277:2:277:7 | *stream | provenance | TaintFunction | -| bslx.cpp:254:50:254:55 | call to GenericInStream | bslx.cpp:277:2:277:7 | *stream | provenance | | -| bslx.cpp:254:57:254:58 | *sb | bslx.cpp:254:50:254:55 | call to GenericInStream | provenance | MaD:215 | -| bslx.cpp:277:2:277:7 | *stream | bslx.cpp:277:18:277:21 | *call to getLength | provenance | MaD:244 | -| bslx.cpp:277:18:277:21 | *call to getLength | bslx.cpp:277:32:277:35 | *call to getVersion | provenance | MaD:255 | -| bslx.cpp:277:32:277:35 | *call to getVersion | bslx.cpp:277:43:277:46 | *call to getInt8 | provenance | MaD:243 | -| bslx.cpp:277:43:277:46 | *call to getInt8 | bslx.cpp:277:55:277:59 | *call to getUint8 | provenance | MaD:254 | -| bslx.cpp:277:55:277:59 | *call to getUint8 | bslx.cpp:277:68:277:71 | *call to getInt16 | provenance | MaD:236 | -| bslx.cpp:277:68:277:71 | *call to getInt16 | bslx.cpp:277:81:277:85 | *call to getUint16 | provenance | MaD:247 | -| bslx.cpp:277:81:277:85 | *call to getUint16 | bslx.cpp:277:94:277:97 | *call to getInt24 | provenance | MaD:237 | -| bslx.cpp:277:94:277:97 | *call to getInt24 | bslx.cpp:277:107:277:111 | *call to getUint24 | provenance | MaD:248 | -| bslx.cpp:277:107:277:111 | *call to getUint24 | bslx.cpp:277:120:277:123 | *call to getInt32 | provenance | MaD:238 | -| bslx.cpp:277:120:277:123 | *call to getInt32 | bslx.cpp:277:133:277:137 | *call to getUint32 | provenance | MaD:249 | -| bslx.cpp:277:133:277:137 | *call to getUint32 | bslx.cpp:277:146:277:150 | *call to getInt40 | provenance | MaD:239 | -| bslx.cpp:277:146:277:150 | *call to getInt40 | bslx.cpp:277:160:277:165 | *call to getUint40 | provenance | MaD:250 | -| bslx.cpp:277:160:277:165 | *call to getUint40 | bslx.cpp:277:174:277:178 | *call to getInt48 | provenance | MaD:240 | -| bslx.cpp:277:174:277:178 | *call to getInt48 | bslx.cpp:277:188:277:193 | *call to getUint48 | provenance | MaD:251 | -| bslx.cpp:277:188:277:193 | *call to getUint48 | bslx.cpp:277:202:277:206 | *call to getInt56 | provenance | MaD:241 | -| bslx.cpp:277:202:277:206 | *call to getInt56 | bslx.cpp:277:216:277:221 | *call to getUint56 | provenance | MaD:252 | -| bslx.cpp:277:216:277:221 | *call to getUint56 | bslx.cpp:277:230:277:234 | *call to getInt64 | provenance | MaD:242 | -| bslx.cpp:277:230:277:234 | *call to getInt64 | bslx.cpp:277:244:277:249 | *call to getUint64 | provenance | MaD:253 | -| bslx.cpp:277:244:277:249 | *call to getUint64 | bslx.cpp:277:260:277:263 | *call to getFloat32 | provenance | MaD:234 | -| bslx.cpp:277:260:277:263 | *call to getFloat32 | bslx.cpp:277:274:277:277 | *call to getFloat64 | provenance | MaD:235 | -| bslx.cpp:277:274:277:277 | *call to getFloat64 | bslx.cpp:277:287:277:292 | *call to getString | provenance | MaD:246 | -| bslx.cpp:277:287:277:292 | *call to getString | bslx.cpp:277:305:277:315 | *call to getArrayInt8 | provenance | MaD:225 | -| bslx.cpp:277:305:277:315 | *call to getArrayInt8 | bslx.cpp:277:329:277:340 | *call to getArrayUint8 | provenance | MaD:233 | -| bslx.cpp:277:329:277:340 | *call to getArrayUint8 | bslx.cpp:277:354:277:364 | *call to getArrayInt16 | provenance | MaD:218 | -| bslx.cpp:277:354:277:364 | *call to getArrayInt16 | bslx.cpp:277:379:277:390 | *call to getArrayUint16 | provenance | MaD:226 | -| bslx.cpp:277:379:277:390 | *call to getArrayUint16 | bslx.cpp:277:404:277:414 | *call to getArrayInt24 | provenance | MaD:219 | -| bslx.cpp:277:404:277:414 | *call to getArrayInt24 | bslx.cpp:277:429:277:440 | *call to getArrayUint24 | provenance | MaD:227 | -| bslx.cpp:277:429:277:440 | *call to getArrayUint24 | bslx.cpp:277:454:277:464 | *call to getArrayInt32 | provenance | MaD:220 | -| bslx.cpp:277:454:277:464 | *call to getArrayInt32 | bslx.cpp:277:479:277:490 | *call to getArrayUint32 | provenance | MaD:228 | -| bslx.cpp:277:479:277:490 | *call to getArrayUint32 | bslx.cpp:277:504:277:515 | *call to getArrayInt40 | provenance | MaD:221 | -| bslx.cpp:277:504:277:515 | *call to getArrayInt40 | bslx.cpp:277:530:277:542 | *call to getArrayUint40 | provenance | MaD:229 | -| bslx.cpp:277:530:277:542 | *call to getArrayUint40 | bslx.cpp:277:556:277:567 | *call to getArrayInt48 | provenance | MaD:222 | -| bslx.cpp:277:556:277:567 | *call to getArrayInt48 | bslx.cpp:277:582:277:594 | *call to getArrayUint48 | provenance | MaD:230 | -| bslx.cpp:277:582:277:594 | *call to getArrayUint48 | bslx.cpp:277:608:277:619 | *call to getArrayInt56 | provenance | MaD:223 | -| bslx.cpp:277:608:277:619 | *call to getArrayInt56 | bslx.cpp:277:634:277:646 | *call to getArrayUint56 | provenance | MaD:231 | -| bslx.cpp:277:634:277:646 | *call to getArrayUint56 | bslx.cpp:277:660:277:671 | *call to getArrayInt64 | provenance | MaD:224 | -| bslx.cpp:277:660:277:671 | *call to getArrayInt64 | bslx.cpp:277:686:277:698 | *call to getArrayUint64 | provenance | MaD:232 | -| bslx.cpp:277:686:277:698 | *call to getArrayUint64 | bslx.cpp:277:714:277:724 | *call to getArrayFloat32 | provenance | MaD:216 | -| bslx.cpp:277:714:277:724 | *call to getArrayFloat32 | bslx.cpp:277:740:277:750 | *call to getArrayFloat64 | provenance | MaD:217 | -| bslx.cpp:277:740:277:750 | *call to getArrayFloat64 | bslx.cpp:277:761:277:763 | getString output argument | provenance | MaD:245 | -| bslx.cpp:277:761:277:763 | getString output argument | bslx.cpp:278:7:278:17 | * ... | provenance | TaintFunction | -| bslx.cpp:282:33:282:40 | call to source | bslx.cpp:283:46:283:49 | *call to data | provenance | TaintFunction | -| bslx.cpp:283:34:283:39 | call to ByteInStream | bslx.cpp:285:53:285:58 | *stream | provenance | | -| bslx.cpp:283:34:283:39 | call to ByteInStream | bslx.cpp:287:53:287:58 | *stream | provenance | | -| bslx.cpp:283:34:283:39 | call to ByteInStream | bslx.cpp:290:53:290:58 | *stream | provenance | | -| bslx.cpp:283:46:283:49 | *call to data | bslx.cpp:283:34:283:39 | call to ByteInStream | provenance | MaD:171 | -| bslx.cpp:285:53:285:58 | *stream | bslx.cpp:285:61:285:61 | bdexStreamIn output argument | provenance | MaD:169 | -| bslx.cpp:285:61:285:61 | bdexStreamIn output argument | bslx.cpp:286:7:286:7 | x | provenance | | -| bslx.cpp:285:61:285:61 | bdexStreamIn output argument | bslx.cpp:288:7:288:7 | x | provenance | | -| bslx.cpp:287:53:287:58 | *stream | bslx.cpp:287:61:287:61 | bdexStreamIn output argument | provenance | MaD:169 | -| bslx.cpp:287:61:287:61 | bdexStreamIn output argument | bslx.cpp:288:7:288:7 | x | provenance | | -| bslx.cpp:290:52:290:66 | *call to bdexStreamIn | bslx.cpp:290:77:290:79 | getString output argument | provenance | MaD:202 | -| bslx.cpp:290:53:290:58 | *stream | bslx.cpp:290:52:290:66 | *call to bdexStreamIn | provenance | MaD:170 | -| bslx.cpp:290:77:290:79 | getString output argument | bslx.cpp:291:7:291:17 | * ... | provenance | TaintFunction | -| bslx.cpp:295:33:295:40 | call to source | bslx.cpp:296:46:296:49 | *call to data | provenance | TaintFunction | -| bslx.cpp:296:34:296:39 | call to ByteInStream | bslx.cpp:298:53:298:58 | *stream | provenance | | -| bslx.cpp:296:46:296:49 | *call to data | bslx.cpp:296:34:296:39 | call to ByteInStream | provenance | MaD:171 | -| bslx.cpp:298:53:298:58 | *stream | bslx.cpp:298:61:298:63 | bdexStreamIn output argument | provenance | MaD:169 | -| bslx.cpp:298:61:298:63 | bdexStreamIn output argument | bslx.cpp:299:7:299:17 | * ... | provenance | TaintFunction | -| bslx.cpp:309:33:309:40 | call to source | bslx.cpp:310:46:310:49 | *call to data | provenance | TaintFunction | -| bslx.cpp:310:34:310:39 | call to ByteInStream | bslx.cpp:312:53:312:58 | *stream | provenance | | -| bslx.cpp:310:46:310:49 | *call to data | bslx.cpp:310:34:310:39 | call to ByteInStream | provenance | MaD:171 | -| bslx.cpp:312:53:312:58 | *stream | bslx.cpp:312:61:312:63 | bdexStreamIn output argument | provenance | MaD:169 | -| bslx.cpp:312:61:312:63 | bdexStreamIn output argument | bslx.cpp:313:7:313:9 | out | provenance | | -| bslx.cpp:322:40:322:60 | call to source | bslx.cpp:322:40:322:60 | call to source | provenance | | -| bslx.cpp:322:40:322:60 | call to source | bslx.cpp:323:15:323:18 | *data | provenance | | -| bslx.cpp:323:2:323:7 | reset output argument | bslx.cpp:325:2:325:7 | *stream | provenance | | -| bslx.cpp:323:15:323:18 | *data | bslx.cpp:323:2:323:7 | reset output argument | provenance | MaD:213 | -| bslx.cpp:325:2:325:7 | *stream | bslx.cpp:325:19:325:21 | getString output argument | provenance | MaD:202 | -| bslx.cpp:325:19:325:21 | getString output argument | bslx.cpp:326:7:326:17 | * ... | provenance | TaintFunction | -| bslx.cpp:330:33:330:40 | call to source | bslx.cpp:331:46:331:49 | *call to data | provenance | TaintFunction | -| bslx.cpp:331:34:331:39 | call to ByteInStream | bslx.cpp:334:2:334:7 | *stream | provenance | | -| bslx.cpp:331:46:331:49 | *call to data | bslx.cpp:331:34:331:39 | call to ByteInStream | provenance | MaD:171 | -| bslx.cpp:334:2:334:7 | *stream | bslx.cpp:334:19:334:21 | getString output argument | provenance | MaD:202 | -| bslx.cpp:334:19:334:21 | getString output argument | bslx.cpp:335:7:335:17 | * ... | provenance | TaintFunction | -| bslx.cpp:349:33:349:40 | call to source | bslx.cpp:350:46:350:49 | *call to data | provenance | TaintFunction | -| bslx.cpp:350:34:350:39 | call to ByteInStream | bslx.cpp:354:2:354:7 | *stream | provenance | | -| bslx.cpp:350:46:350:49 | *call to data | bslx.cpp:350:34:350:39 | call to ByteInStream | provenance | MaD:171 | -| bslx.cpp:354:2:354:7 | *stream | bslx.cpp:354:19:354:21 | getString output argument | provenance | MaD:202 | -| bslx.cpp:354:19:354:21 | getString output argument | bslx.cpp:356:7:356:17 | * ... | provenance | TaintFunction | -| protobuf.cpp:117:27:117:51 | call to source | protobuf.cpp:117:27:117:51 | call to source | provenance | | -| protobuf.cpp:117:27:117:51 | call to source | protobuf.cpp:118:22:118:25 | data | provenance | | -| protobuf.cpp:118:2:118:4 | ParseFromString output argument | protobuf.cpp:119:7:119:9 | msg | provenance | | -| protobuf.cpp:118:22:118:25 | data | protobuf.cpp:118:2:118:4 | ParseFromString output argument | provenance | MaD:296 | -| protobuf.cpp:124:20:124:37 | call to source | protobuf.cpp:124:20:124:37 | call to source | provenance | | -| protobuf.cpp:124:20:124:37 | call to source | protobuf.cpp:125:22:125:25 | *data | provenance | | -| protobuf.cpp:125:2:125:4 | ParseFromString output argument | protobuf.cpp:126:7:126:9 | msg | provenance | | -| protobuf.cpp:125:22:125:25 | *data | protobuf.cpp:125:2:125:4 | ParseFromString output argument | provenance | MaD:295 | -| protobuf.cpp:131:27:131:51 | call to source | protobuf.cpp:131:27:131:51 | call to source | provenance | | -| protobuf.cpp:131:27:131:51 | call to source | protobuf.cpp:132:29:132:32 | data | provenance | | -| protobuf.cpp:132:2:132:4 | ParsePartialFromString output argument | protobuf.cpp:133:7:133:9 | msg | provenance | | -| protobuf.cpp:132:29:132:32 | data | protobuf.cpp:132:2:132:4 | ParsePartialFromString output argument | provenance | MaD:304 | -| protobuf.cpp:138:20:138:37 | call to source | protobuf.cpp:138:20:138:37 | call to source | provenance | | -| protobuf.cpp:138:20:138:37 | call to source | protobuf.cpp:139:29:139:32 | *data | provenance | | -| protobuf.cpp:139:2:139:4 | ParsePartialFromString output argument | protobuf.cpp:140:7:140:9 | msg | provenance | | -| protobuf.cpp:139:29:139:32 | *data | protobuf.cpp:139:2:139:4 | ParsePartialFromString output argument | provenance | MaD:303 | -| protobuf.cpp:145:27:145:51 | call to source | protobuf.cpp:145:27:145:51 | call to source | provenance | | -| protobuf.cpp:145:27:145:51 | call to source | protobuf.cpp:146:22:146:25 | data | provenance | | -| protobuf.cpp:146:2:146:4 | MergeFromString output argument | protobuf.cpp:147:7:147:9 | msg | provenance | | -| protobuf.cpp:146:22:146:25 | data | protobuf.cpp:146:2:146:4 | MergeFromString output argument | provenance | MaD:284 | -| protobuf.cpp:152:20:152:37 | call to source | protobuf.cpp:152:20:152:37 | call to source | provenance | | -| protobuf.cpp:152:20:152:37 | call to source | protobuf.cpp:153:22:153:25 | *data | provenance | | -| protobuf.cpp:153:2:153:4 | MergeFromString output argument | protobuf.cpp:154:7:154:9 | msg | provenance | | -| protobuf.cpp:153:22:153:25 | *data | protobuf.cpp:153:2:153:4 | MergeFromString output argument | provenance | MaD:283 | -| protobuf.cpp:159:27:159:51 | call to source | protobuf.cpp:159:27:159:51 | call to source | provenance | | -| protobuf.cpp:159:27:159:51 | call to source | protobuf.cpp:160:29:160:32 | data | provenance | | -| protobuf.cpp:160:2:160:4 | MergePartialFromString output argument | protobuf.cpp:161:7:161:9 | msg | provenance | | -| protobuf.cpp:160:29:160:32 | data | protobuf.cpp:160:2:160:4 | MergePartialFromString output argument | provenance | MaD:289 | -| protobuf.cpp:166:20:166:37 | call to source | protobuf.cpp:166:20:166:37 | call to source | provenance | | -| protobuf.cpp:166:20:166:37 | call to source | protobuf.cpp:167:29:167:32 | *data | provenance | | -| protobuf.cpp:167:2:167:4 | MergePartialFromString output argument | protobuf.cpp:168:7:168:9 | msg | provenance | | -| protobuf.cpp:167:29:167:32 | *data | protobuf.cpp:167:2:167:4 | MergePartialFromString output argument | provenance | MaD:288 | -| protobuf.cpp:173:19:173:38 | call to source | protobuf.cpp:174:21:174:31 | *call to data | provenance | TaintFunction | -| protobuf.cpp:174:2:174:4 | ParseFromArray output argument | protobuf.cpp:175:7:175:9 | msg | provenance | | -| protobuf.cpp:174:21:174:31 | *call to data | protobuf.cpp:174:2:174:4 | ParseFromArray output argument | provenance | MaD:290 | -| protobuf.cpp:180:19:180:38 | call to source | protobuf.cpp:181:28:181:38 | *call to data | provenance | TaintFunction | -| protobuf.cpp:181:2:181:4 | ParsePartialFromArray output argument | protobuf.cpp:182:7:182:9 | msg | provenance | | -| protobuf.cpp:181:28:181:38 | *call to data | protobuf.cpp:181:2:181:4 | ParsePartialFromArray output argument | provenance | MaD:298 | -| protobuf.cpp:187:20:187:37 | call to source | protobuf.cpp:187:20:187:37 | call to source | provenance | | -| protobuf.cpp:187:20:187:37 | call to source | protobuf.cpp:188:20:188:23 | *data | provenance | | -| protobuf.cpp:188:2:188:4 | ParseFromCord output argument | protobuf.cpp:189:7:189:9 | msg | provenance | | -| protobuf.cpp:188:20:188:23 | *data | protobuf.cpp:188:2:188:4 | ParseFromCord output argument | provenance | MaD:293 | -| protobuf.cpp:194:20:194:37 | call to source | protobuf.cpp:194:20:194:37 | call to source | provenance | | -| protobuf.cpp:194:20:194:37 | call to source | protobuf.cpp:195:27:195:30 | *data | provenance | | -| protobuf.cpp:195:2:195:4 | ParsePartialFromCord output argument | protobuf.cpp:196:7:196:9 | msg | provenance | | -| protobuf.cpp:195:27:195:30 | *data | protobuf.cpp:195:2:195:4 | ParsePartialFromCord output argument | provenance | MaD:301 | -| protobuf.cpp:201:20:201:37 | call to source | protobuf.cpp:201:20:201:37 | call to source | provenance | | -| protobuf.cpp:201:20:201:37 | call to source | protobuf.cpp:202:20:202:23 | *data | provenance | | -| protobuf.cpp:202:2:202:4 | MergeFromCord output argument | protobuf.cpp:203:7:203:9 | msg | provenance | | -| protobuf.cpp:202:20:202:23 | *data | protobuf.cpp:202:2:202:4 | MergeFromCord output argument | provenance | MaD:282 | -| protobuf.cpp:208:20:208:37 | call to source | protobuf.cpp:208:20:208:37 | call to source | provenance | | -| protobuf.cpp:208:20:208:37 | call to source | protobuf.cpp:209:27:209:30 | *data | provenance | | -| protobuf.cpp:209:2:209:4 | MergePartialFromCord output argument | protobuf.cpp:210:7:210:9 | msg | provenance | | -| protobuf.cpp:209:27:209:30 | *data | protobuf.cpp:209:2:209:4 | MergePartialFromCord output argument | provenance | MaD:287 | -| protobuf.cpp:215:20:215:39 | call to source | protobuf.cpp:215:20:215:39 | call to source | provenance | | -| protobuf.cpp:215:20:215:39 | call to source | protobuf.cpp:216:23:216:25 | *& ... | provenance | | -| protobuf.cpp:216:2:216:4 | ParseFromIstream output argument | protobuf.cpp:217:7:217:9 | msg | provenance | | -| protobuf.cpp:216:23:216:25 | *& ... | protobuf.cpp:216:2:216:4 | ParseFromIstream output argument | provenance | MaD:294 | -| protobuf.cpp:222:20:222:39 | call to source | protobuf.cpp:222:20:222:39 | call to source | provenance | | -| protobuf.cpp:222:20:222:39 | call to source | protobuf.cpp:223:30:223:32 | *& ... | provenance | | -| protobuf.cpp:223:2:223:4 | ParsePartialFromIstream output argument | protobuf.cpp:224:7:224:9 | msg | provenance | | -| protobuf.cpp:223:30:223:32 | *& ... | protobuf.cpp:223:2:223:4 | ParsePartialFromIstream output argument | provenance | MaD:302 | -| protobuf.cpp:229:27:229:53 | call to source | protobuf.cpp:229:27:229:53 | call to source | provenance | | -| protobuf.cpp:229:27:229:53 | call to source | protobuf.cpp:230:30:230:32 | *& ... | provenance | | -| protobuf.cpp:230:2:230:4 | ParseFromZeroCopyStream output argument | protobuf.cpp:231:7:231:9 | msg | provenance | | -| protobuf.cpp:230:30:230:32 | *& ... | protobuf.cpp:230:2:230:4 | ParseFromZeroCopyStream output argument | provenance | MaD:297 | -| protobuf.cpp:236:27:236:53 | call to source | protobuf.cpp:236:27:236:53 | call to source | provenance | | -| protobuf.cpp:236:27:236:53 | call to source | protobuf.cpp:237:37:237:39 | *& ... | provenance | | -| protobuf.cpp:237:2:237:4 | ParsePartialFromZeroCopyStream output argument | protobuf.cpp:238:7:238:9 | msg | provenance | | -| protobuf.cpp:237:37:237:39 | *& ... | protobuf.cpp:237:2:237:4 | ParsePartialFromZeroCopyStream output argument | provenance | MaD:305 | -| protobuf.cpp:243:27:243:53 | call to source | protobuf.cpp:243:27:243:53 | call to source | provenance | | -| protobuf.cpp:243:27:243:53 | call to source | protobuf.cpp:244:37:244:39 | *& ... | provenance | | -| protobuf.cpp:244:2:244:4 | ParseFromBoundedZeroCopyStream output argument | protobuf.cpp:245:7:245:9 | msg | provenance | | -| protobuf.cpp:244:37:244:39 | *& ... | protobuf.cpp:244:2:244:4 | ParseFromBoundedZeroCopyStream output argument | provenance | MaD:291 | -| protobuf.cpp:250:27:250:53 | call to source | protobuf.cpp:250:27:250:53 | call to source | provenance | | -| protobuf.cpp:250:27:250:53 | call to source | protobuf.cpp:251:44:251:46 | *& ... | provenance | | -| protobuf.cpp:251:2:251:4 | ParsePartialFromBoundedZeroCopyStream output argument | protobuf.cpp:252:7:252:9 | msg | provenance | | -| protobuf.cpp:251:44:251:46 | *& ... | protobuf.cpp:251:2:251:4 | ParsePartialFromBoundedZeroCopyStream output argument | provenance | MaD:299 | -| protobuf.cpp:257:27:257:53 | call to source | protobuf.cpp:257:27:257:53 | call to source | provenance | | -| protobuf.cpp:257:27:257:53 | call to source | protobuf.cpp:258:37:258:39 | *& ... | provenance | | -| protobuf.cpp:258:2:258:4 | MergeFromBoundedZeroCopyStream output argument | protobuf.cpp:259:7:259:9 | msg | provenance | | -| protobuf.cpp:258:37:258:39 | *& ... | protobuf.cpp:258:2:258:4 | MergeFromBoundedZeroCopyStream output argument | provenance | MaD:280 | -| protobuf.cpp:264:27:264:53 | call to source | protobuf.cpp:264:27:264:53 | call to source | provenance | | -| protobuf.cpp:264:27:264:53 | call to source | protobuf.cpp:265:44:265:46 | *& ... | provenance | | -| protobuf.cpp:265:2:265:4 | MergePartialFromBoundedZeroCopyStream output argument | protobuf.cpp:266:7:266:9 | msg | provenance | | -| protobuf.cpp:265:44:265:46 | *& ... | protobuf.cpp:265:2:265:4 | MergePartialFromBoundedZeroCopyStream output argument | provenance | MaD:285 | -| protobuf.cpp:271:24:271:47 | call to source | protobuf.cpp:271:24:271:47 | call to source | provenance | | -| protobuf.cpp:271:24:271:47 | call to source | protobuf.cpp:272:27:272:29 | *& ... | provenance | | -| protobuf.cpp:272:2:272:4 | ParseFromCodedStream output argument | protobuf.cpp:273:7:273:9 | msg | provenance | | -| protobuf.cpp:272:27:272:29 | *& ... | protobuf.cpp:272:2:272:4 | ParseFromCodedStream output argument | provenance | MaD:292 | -| protobuf.cpp:278:24:278:47 | call to source | protobuf.cpp:278:24:278:47 | call to source | provenance | | -| protobuf.cpp:278:24:278:47 | call to source | protobuf.cpp:279:34:279:36 | *& ... | provenance | | -| protobuf.cpp:279:2:279:4 | ParsePartialFromCodedStream output argument | protobuf.cpp:280:7:280:9 | msg | provenance | | -| protobuf.cpp:279:34:279:36 | *& ... | protobuf.cpp:279:2:279:4 | ParsePartialFromCodedStream output argument | provenance | MaD:300 | -| protobuf.cpp:285:24:285:47 | call to source | protobuf.cpp:285:24:285:47 | call to source | provenance | | -| protobuf.cpp:285:24:285:47 | call to source | protobuf.cpp:286:27:286:29 | *& ... | provenance | | -| protobuf.cpp:286:2:286:4 | MergeFromCodedStream output argument | protobuf.cpp:287:7:287:9 | msg | provenance | | -| protobuf.cpp:286:27:286:29 | *& ... | protobuf.cpp:286:2:286:4 | MergeFromCodedStream output argument | provenance | MaD:281 | -| protobuf.cpp:292:24:292:47 | call to source | protobuf.cpp:292:24:292:47 | call to source | provenance | | -| protobuf.cpp:292:24:292:47 | call to source | protobuf.cpp:293:34:293:36 | *& ... | provenance | | -| protobuf.cpp:293:2:293:4 | MergePartialFromCodedStream output argument | protobuf.cpp:294:7:294:9 | msg | provenance | | -| protobuf.cpp:293:34:293:36 | *& ... | protobuf.cpp:293:2:293:4 | MergePartialFromCodedStream output argument | provenance | MaD:286 | -| protobuf.cpp:307:15:307:28 | call to source | protobuf.cpp:307:15:307:28 | call to source | provenance | | -| protobuf.cpp:307:15:307:28 | call to source | protobuf.cpp:309:2:309:4 | *msg | provenance | | -| protobuf.cpp:309:2:309:4 | *msg | protobuf.cpp:309:24:309:27 | SerializeToString output argument | provenance | MaD:320 | -| protobuf.cpp:309:24:309:27 | SerializeToString output argument | protobuf.cpp:310:7:310:9 | out | provenance | | -| protobuf.cpp:314:15:314:28 | call to source | protobuf.cpp:314:15:314:28 | call to source | provenance | | -| protobuf.cpp:314:15:314:28 | call to source | protobuf.cpp:316:2:316:4 | *msg | provenance | | -| protobuf.cpp:316:2:316:4 | *msg | protobuf.cpp:316:31:316:34 | SerializePartialToString output argument | provenance | MaD:314 | -| protobuf.cpp:316:31:316:34 | SerializePartialToString output argument | protobuf.cpp:317:7:317:9 | out | provenance | | -| protobuf.cpp:321:15:321:28 | call to source | protobuf.cpp:321:15:321:28 | call to source | provenance | | -| protobuf.cpp:321:15:321:28 | call to source | protobuf.cpp:323:2:323:4 | *msg | provenance | | -| protobuf.cpp:323:2:323:4 | *msg | protobuf.cpp:323:21:323:24 | AppendToString output argument | provenance | MaD:279 | -| protobuf.cpp:323:21:323:24 | AppendToString output argument | protobuf.cpp:324:7:324:9 | out | provenance | | -| protobuf.cpp:328:15:328:28 | call to source | protobuf.cpp:328:15:328:28 | call to source | provenance | | -| protobuf.cpp:328:15:328:28 | call to source | protobuf.cpp:330:2:330:4 | *msg | provenance | | -| protobuf.cpp:330:2:330:4 | *msg | protobuf.cpp:330:28:330:31 | AppendPartialToString output argument | provenance | MaD:277 | -| protobuf.cpp:330:28:330:31 | AppendPartialToString output argument | protobuf.cpp:331:7:331:9 | out | provenance | | -| protobuf.cpp:335:15:335:28 | call to source | protobuf.cpp:335:15:335:28 | call to source | provenance | | -| protobuf.cpp:335:15:335:28 | call to source | protobuf.cpp:337:2:337:4 | *msg | provenance | | -| protobuf.cpp:337:2:337:4 | *msg | protobuf.cpp:337:24:337:27 | SerializeToString output argument | provenance | MaD:320 | -| protobuf.cpp:337:24:337:27 | SerializeToString output argument | protobuf.cpp:338:7:338:9 | out | provenance | | -| protobuf.cpp:342:15:342:28 | call to source | protobuf.cpp:342:15:342:28 | call to source | provenance | | -| protobuf.cpp:342:15:342:28 | call to source | protobuf.cpp:344:2:344:4 | *msg | provenance | | -| protobuf.cpp:344:2:344:4 | *msg | protobuf.cpp:344:31:344:34 | SerializePartialToString output argument | provenance | MaD:314 | -| protobuf.cpp:344:31:344:34 | SerializePartialToString output argument | protobuf.cpp:345:7:345:9 | out | provenance | | -| protobuf.cpp:349:15:349:28 | call to source | protobuf.cpp:349:15:349:28 | call to source | provenance | | -| protobuf.cpp:349:15:349:28 | call to source | protobuf.cpp:351:2:351:4 | *msg | provenance | | -| protobuf.cpp:351:2:351:4 | *msg | protobuf.cpp:351:21:351:24 | AppendToString output argument | provenance | MaD:279 | -| protobuf.cpp:351:21:351:24 | AppendToString output argument | protobuf.cpp:352:7:352:9 | out | provenance | | -| protobuf.cpp:356:15:356:28 | call to source | protobuf.cpp:356:15:356:28 | call to source | provenance | | -| protobuf.cpp:356:15:356:28 | call to source | protobuf.cpp:358:2:358:4 | *msg | provenance | | -| protobuf.cpp:358:2:358:4 | *msg | protobuf.cpp:358:28:358:31 | AppendPartialToString output argument | provenance | MaD:277 | -| protobuf.cpp:358:28:358:31 | AppendPartialToString output argument | protobuf.cpp:359:7:359:9 | out | provenance | | -| protobuf.cpp:363:15:363:28 | call to source | protobuf.cpp:363:15:363:28 | call to source | provenance | | -| protobuf.cpp:363:15:363:28 | call to source | protobuf.cpp:365:2:365:4 | *msg | provenance | | -| protobuf.cpp:365:2:365:4 | *msg | protobuf.cpp:365:23:365:25 | SerializeToArray output argument | provenance | MaD:316 | -| protobuf.cpp:365:23:365:25 | SerializeToArray output argument | protobuf.cpp:366:7:366:10 | * ... | provenance | | -| protobuf.cpp:370:15:370:28 | call to source | protobuf.cpp:370:15:370:28 | call to source | provenance | | -| protobuf.cpp:370:15:370:28 | call to source | protobuf.cpp:372:2:372:4 | *msg | provenance | | -| protobuf.cpp:372:2:372:4 | *msg | protobuf.cpp:372:30:372:32 | SerializePartialToArray output argument | provenance | MaD:310 | -| protobuf.cpp:372:30:372:32 | SerializePartialToArray output argument | protobuf.cpp:373:7:373:10 | * ... | provenance | | -| protobuf.cpp:377:15:377:28 | call to source | protobuf.cpp:377:15:377:28 | call to source | provenance | | -| protobuf.cpp:377:15:377:28 | call to source | protobuf.cpp:379:2:379:4 | *msg | provenance | | -| protobuf.cpp:379:2:379:4 | *msg | protobuf.cpp:379:22:379:25 | SerializeToCord output argument | provenance | MaD:318 | -| protobuf.cpp:379:22:379:25 | SerializeToCord output argument | protobuf.cpp:380:7:380:9 | out | provenance | | -| protobuf.cpp:384:15:384:28 | call to source | protobuf.cpp:384:15:384:28 | call to source | provenance | | -| protobuf.cpp:384:15:384:28 | call to source | protobuf.cpp:386:2:386:4 | *msg | provenance | | -| protobuf.cpp:386:2:386:4 | *msg | protobuf.cpp:386:29:386:32 | SerializePartialToCord output argument | provenance | MaD:312 | -| protobuf.cpp:386:29:386:32 | SerializePartialToCord output argument | protobuf.cpp:387:7:387:9 | out | provenance | | -| protobuf.cpp:391:15:391:28 | call to source | protobuf.cpp:391:15:391:28 | call to source | provenance | | -| protobuf.cpp:391:15:391:28 | call to source | protobuf.cpp:393:2:393:4 | *msg | provenance | | -| protobuf.cpp:393:2:393:4 | *msg | protobuf.cpp:393:19:393:22 | AppendToCord output argument | provenance | MaD:278 | -| protobuf.cpp:393:19:393:22 | AppendToCord output argument | protobuf.cpp:394:7:394:9 | out | provenance | | -| protobuf.cpp:398:15:398:28 | call to source | protobuf.cpp:398:15:398:28 | call to source | provenance | | -| protobuf.cpp:398:15:398:28 | call to source | protobuf.cpp:400:2:400:4 | *msg | provenance | | -| protobuf.cpp:400:2:400:4 | *msg | protobuf.cpp:400:26:400:29 | AppendPartialToCord output argument | provenance | MaD:276 | -| protobuf.cpp:400:26:400:29 | AppendPartialToCord output argument | protobuf.cpp:401:7:401:9 | out | provenance | | -| protobuf.cpp:405:15:405:28 | call to source | protobuf.cpp:405:15:405:28 | call to source | provenance | | -| protobuf.cpp:405:15:405:28 | call to source | protobuf.cpp:407:2:407:4 | *msg | provenance | | -| protobuf.cpp:407:2:407:4 | *msg | protobuf.cpp:407:25:407:28 | SerializeToOstream output argument | provenance | MaD:319 | -| protobuf.cpp:407:25:407:28 | SerializeToOstream output argument | protobuf.cpp:408:7:408:9 | out | provenance | | -| protobuf.cpp:412:15:412:28 | call to source | protobuf.cpp:412:15:412:28 | call to source | provenance | | -| protobuf.cpp:412:15:412:28 | call to source | protobuf.cpp:414:2:414:4 | *msg | provenance | | -| protobuf.cpp:414:2:414:4 | *msg | protobuf.cpp:414:32:414:35 | SerializePartialToOstream output argument | provenance | MaD:313 | -| protobuf.cpp:414:32:414:35 | SerializePartialToOstream output argument | protobuf.cpp:415:7:415:9 | out | provenance | | -| protobuf.cpp:419:15:419:28 | call to source | protobuf.cpp:419:15:419:28 | call to source | provenance | | -| protobuf.cpp:419:15:419:28 | call to source | protobuf.cpp:421:2:421:4 | *msg | provenance | | -| protobuf.cpp:421:2:421:4 | *msg | protobuf.cpp:421:32:421:35 | SerializeToZeroCopyStream output argument | provenance | MaD:321 | -| protobuf.cpp:421:32:421:35 | SerializeToZeroCopyStream output argument | protobuf.cpp:422:7:422:9 | out | provenance | | -| protobuf.cpp:426:15:426:28 | call to source | protobuf.cpp:426:15:426:28 | call to source | provenance | | -| protobuf.cpp:426:15:426:28 | call to source | protobuf.cpp:428:2:428:4 | *msg | provenance | | -| protobuf.cpp:428:2:428:4 | *msg | protobuf.cpp:428:39:428:42 | SerializePartialToZeroCopyStream output argument | provenance | MaD:315 | -| protobuf.cpp:428:39:428:42 | SerializePartialToZeroCopyStream output argument | protobuf.cpp:429:7:429:9 | out | provenance | | -| protobuf.cpp:433:15:433:28 | call to source | protobuf.cpp:433:15:433:28 | call to source | provenance | | -| protobuf.cpp:433:15:433:28 | call to source | protobuf.cpp:435:2:435:4 | *msg | provenance | | -| protobuf.cpp:435:2:435:4 | *msg | protobuf.cpp:435:29:435:32 | SerializeToCodedStream output argument | provenance | MaD:317 | -| protobuf.cpp:435:29:435:32 | SerializeToCodedStream output argument | protobuf.cpp:436:7:436:9 | out | provenance | | -| protobuf.cpp:440:15:440:28 | call to source | protobuf.cpp:440:15:440:28 | call to source | provenance | | -| protobuf.cpp:440:15:440:28 | call to source | protobuf.cpp:442:2:442:4 | *msg | provenance | | -| protobuf.cpp:442:2:442:4 | *msg | protobuf.cpp:442:36:442:39 | SerializePartialToCodedStream output argument | provenance | MaD:311 | -| protobuf.cpp:442:36:442:39 | SerializePartialToCodedStream output argument | protobuf.cpp:443:7:443:9 | out | provenance | | -| protobuf.cpp:449:15:449:28 | call to source | protobuf.cpp:449:15:449:28 | call to source | provenance | | -| protobuf.cpp:449:15:449:28 | call to source | protobuf.cpp:450:7:450:9 | *msg | provenance | | -| protobuf.cpp:450:7:450:9 | *msg | protobuf.cpp:450:11:450:27 | call to SerializeAsString | provenance | MaD:307 | -| protobuf.cpp:454:15:454:28 | call to source | protobuf.cpp:454:15:454:28 | call to source | provenance | | -| protobuf.cpp:454:15:454:28 | call to source | protobuf.cpp:455:7:455:9 | *msg | provenance | | -| protobuf.cpp:455:7:455:9 | *msg | protobuf.cpp:455:11:455:34 | call to SerializePartialAsString | provenance | MaD:309 | -| protobuf.cpp:459:15:459:28 | call to source | protobuf.cpp:459:15:459:28 | call to source | provenance | | -| protobuf.cpp:459:15:459:28 | call to source | protobuf.cpp:460:7:460:9 | *msg | provenance | | -| protobuf.cpp:460:7:460:9 | *msg | protobuf.cpp:460:11:460:25 | call to SerializeAsCord | provenance | MaD:306 | -| protobuf.cpp:464:15:464:28 | call to source | protobuf.cpp:464:15:464:28 | call to source | provenance | | -| protobuf.cpp:464:15:464:28 | call to source | protobuf.cpp:465:7:465:9 | *msg | provenance | | -| protobuf.cpp:465:7:465:9 | *msg | protobuf.cpp:465:11:465:32 | call to SerializePartialAsCord | provenance | MaD:308 | +| bmqa.cpp:389:50:389:55 | *& ... | bmqa.cpp:389:47:389:48 | call to MessagePropertiesIterator | provenance | MaD:165 | +| bmqa.cpp:391:2:391:5 | operator= output argument | bmqa.cpp:392:8:392:11 | copy | provenance | | +| bmqa.cpp:391:9:391:10 | *it | bmqa.cpp:391:2:391:5 | operator= output argument | provenance | MaD:169 | +| bmqa.cpp:392:7:392:32 | * ... | bmqa.cpp:392:7:392:32 | * ... | provenance | MaD:276 | +| bmqa.cpp:392:7:392:32 | * ... | bmqa.cpp:392:7:392:32 | * ... | provenance | MaD:276 | +| bmqa.cpp:392:7:392:32 | * ... | bmqa.cpp:392:7:392:32 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:392:7:392:32 | * ... | bmqa.cpp:392:7:392:32 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:392:7:392:32 | * ... | bmqa.cpp:392:24:392:26 | data output argument | provenance | MaD:276 | +| bmqa.cpp:392:7:392:32 | * ... | bmqa.cpp:392:24:392:26 | data output argument | provenance | MaD:276+MaD:275 | +| bmqa.cpp:392:8:392:11 | copy | bmqa.cpp:392:24:392:26 | call to getAsString | provenance | MaD:167 | +| bmqa.cpp:392:24:392:26 | call to getAsString | bmqa.cpp:392:7:392:32 | * ... | provenance | MaD:275 | +| bmqa.cpp:392:24:392:26 | call to getAsString | bmqa.cpp:392:7:392:32 | * ... | provenance | MaD:275 | +| bmqa.cpp:392:24:392:26 | data output argument | bmqa.cpp:392:24:392:26 | call to getAsString | provenance | | +| bmqa.cpp:393:7:393:32 | * ... | bmqa.cpp:393:7:393:32 | * ... | provenance | MaD:276 | +| bmqa.cpp:393:7:393:32 | * ... | bmqa.cpp:393:7:393:32 | * ... | provenance | MaD:276 | +| bmqa.cpp:393:7:393:32 | * ... | bmqa.cpp:393:7:393:32 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:393:7:393:32 | * ... | bmqa.cpp:393:7:393:32 | * ... | provenance | MaD:276+MaD:275 | +| bmqa.cpp:393:7:393:32 | * ... | bmqa.cpp:393:24:393:26 | data output argument | provenance | MaD:276 | +| bmqa.cpp:393:7:393:32 | * ... | bmqa.cpp:393:24:393:26 | data output argument | provenance | MaD:276+MaD:275 | +| bmqa.cpp:393:8:393:18 | call to operator= | bmqa.cpp:393:24:393:26 | call to name | provenance | MaD:168 | +| bmqa.cpp:393:16:393:17 | *it | bmqa.cpp:393:8:393:18 | call to operator= | provenance | MaD:170 | +| bmqa.cpp:393:24:393:26 | call to name | bmqa.cpp:393:7:393:32 | * ... | provenance | MaD:275 | +| bmqa.cpp:393:24:393:26 | call to name | bmqa.cpp:393:7:393:32 | * ... | provenance | MaD:275 | +| bmqa.cpp:393:24:393:26 | data output argument | bmqa.cpp:393:24:393:26 | call to name | provenance | | +| bslx.cpp:145:33:145:40 | call to source | bslx.cpp:146:41:146:44 | data | provenance | TaintFunction | +| bslx.cpp:146:34:146:39 | call to ByteInStream | bslx.cpp:148:2:148:7 | stream | provenance | | +| bslx.cpp:146:41:146:44 | data | bslx.cpp:146:41:146:51 | *call to data | provenance | MaD:326 | +| bslx.cpp:146:41:146:51 | *call to data | bslx.cpp:146:34:146:39 | call to ByteInStream | provenance | MaD:173 | +| bslx.cpp:146:41:146:51 | *call to data | bslx.cpp:146:41:146:51 | *call to data | provenance | MaD:327 | +| bslx.cpp:146:41:146:51 | *call to data | bslx.cpp:146:41:146:51 | *call to data | provenance | MaD:327+MaD:326 | +| bslx.cpp:148:2:148:7 | stream | bslx.cpp:148:22:148:24 | getArrayInt8 output argument | provenance | MaD:183 | +| bslx.cpp:148:22:148:24 | getArrayInt8 output argument | bslx.cpp:149:7:149:10 | * ... | provenance | | +| bslx.cpp:153:33:153:40 | call to source | bslx.cpp:154:41:154:44 | data | provenance | TaintFunction | +| bslx.cpp:154:34:154:39 | call to ByteInStream | bslx.cpp:156:2:156:7 | stream | provenance | | +| bslx.cpp:154:41:154:44 | data | bslx.cpp:154:41:154:51 | *call to data | provenance | MaD:326 | +| bslx.cpp:154:41:154:51 | *call to data | bslx.cpp:154:34:154:39 | call to ByteInStream | provenance | MaD:173 | +| bslx.cpp:154:41:154:51 | *call to data | bslx.cpp:154:41:154:51 | *call to data | provenance | MaD:327 | +| bslx.cpp:154:41:154:51 | *call to data | bslx.cpp:154:41:154:51 | *call to data | provenance | MaD:327+MaD:326 | +| bslx.cpp:156:2:156:7 | stream | bslx.cpp:156:19:156:21 | getString output argument | provenance | MaD:204 | +| bslx.cpp:156:19:156:21 | getString output argument | bslx.cpp:157:8:157:10 | out | provenance | | +| bslx.cpp:157:7:157:17 | * ... | bslx.cpp:157:7:157:17 | * ... | provenance | MaD:327 | +| bslx.cpp:157:7:157:17 | * ... | bslx.cpp:157:7:157:17 | * ... | provenance | MaD:327 | +| bslx.cpp:157:7:157:17 | * ... | bslx.cpp:157:7:157:17 | * ... | provenance | MaD:327+MaD:326 | +| bslx.cpp:157:7:157:17 | * ... | bslx.cpp:157:7:157:17 | * ... | provenance | MaD:327+MaD:326 | +| bslx.cpp:157:8:157:10 | out | bslx.cpp:157:7:157:17 | * ... | provenance | MaD:326 | +| bslx.cpp:157:8:157:10 | out | bslx.cpp:157:7:157:17 | * ... | provenance | MaD:326 | +| bslx.cpp:161:33:161:40 | call to source | bslx.cpp:162:41:162:44 | data | provenance | TaintFunction | +| bslx.cpp:162:34:162:39 | call to ByteInStream | bslx.cpp:165:2:165:7 | stream | provenance | | +| bslx.cpp:162:41:162:44 | data | bslx.cpp:162:41:162:51 | *call to data | provenance | MaD:326 | +| bslx.cpp:162:41:162:51 | *call to data | bslx.cpp:162:34:162:39 | call to ByteInStream | provenance | MaD:173 | +| bslx.cpp:162:41:162:51 | *call to data | bslx.cpp:162:41:162:51 | *call to data | provenance | MaD:327 | +| bslx.cpp:162:41:162:51 | *call to data | bslx.cpp:162:41:162:51 | *call to data | provenance | MaD:327+MaD:326 | +| bslx.cpp:165:2:165:7 | stream | bslx.cpp:165:17:165:20 | call to getInt32 | provenance | MaD:197 | +| bslx.cpp:165:17:165:20 | call to getInt32 | bslx.cpp:165:31:165:33 | getString output argument | provenance | MaD:204 | +| bslx.cpp:165:31:165:33 | getString output argument | bslx.cpp:166:8:166:10 | out | provenance | | +| bslx.cpp:166:7:166:17 | * ... | bslx.cpp:166:7:166:17 | * ... | provenance | MaD:327 | +| bslx.cpp:166:7:166:17 | * ... | bslx.cpp:166:7:166:17 | * ... | provenance | MaD:327 | +| bslx.cpp:166:7:166:17 | * ... | bslx.cpp:166:7:166:17 | * ... | provenance | MaD:327+MaD:326 | +| bslx.cpp:166:7:166:17 | * ... | bslx.cpp:166:7:166:17 | * ... | provenance | MaD:327+MaD:326 | +| bslx.cpp:166:8:166:10 | out | bslx.cpp:166:7:166:17 | * ... | provenance | MaD:326 | +| bslx.cpp:166:8:166:10 | out | bslx.cpp:166:7:166:17 | * ... | provenance | MaD:326 | +| bslx.cpp:171:33:171:40 | call to source | bslx.cpp:172:15:172:18 | data | provenance | TaintFunction | +| bslx.cpp:172:2:172:7 | reset output argument | bslx.cpp:174:2:174:7 | stream | provenance | | +| bslx.cpp:172:15:172:18 | data | bslx.cpp:172:15:172:25 | *call to data | provenance | MaD:326 | +| bslx.cpp:172:15:172:25 | *call to data | bslx.cpp:172:2:172:7 | reset output argument | provenance | MaD:216 | +| bslx.cpp:172:15:172:25 | *call to data | bslx.cpp:172:15:172:25 | *call to data | provenance | MaD:327 | +| bslx.cpp:172:15:172:25 | *call to data | bslx.cpp:172:15:172:25 | *call to data | provenance | MaD:327+MaD:326 | +| bslx.cpp:174:2:174:7 | stream | bslx.cpp:174:19:174:21 | getString output argument | provenance | MaD:204 | +| bslx.cpp:174:19:174:21 | getString output argument | bslx.cpp:175:8:175:10 | out | provenance | | +| bslx.cpp:175:7:175:17 | * ... | bslx.cpp:175:7:175:17 | * ... | provenance | MaD:327 | +| bslx.cpp:175:7:175:17 | * ... | bslx.cpp:175:7:175:17 | * ... | provenance | MaD:327 | +| bslx.cpp:175:7:175:17 | * ... | bslx.cpp:175:7:175:17 | * ... | provenance | MaD:327+MaD:326 | +| bslx.cpp:175:7:175:17 | * ... | bslx.cpp:175:7:175:17 | * ... | provenance | MaD:327+MaD:326 | +| bslx.cpp:175:8:175:10 | out | bslx.cpp:175:7:175:17 | * ... | provenance | MaD:326 | +| bslx.cpp:175:8:175:10 | out | bslx.cpp:175:7:175:17 | * ... | provenance | MaD:326 | +| bslx.cpp:179:33:179:40 | call to source | bslx.cpp:180:35:180:38 | data | provenance | TaintFunction | +| bslx.cpp:180:20:180:45 | *call to data | bslx.cpp:180:20:180:45 | *call to data | provenance | | +| bslx.cpp:180:20:180:45 | *call to data | bslx.cpp:180:20:180:45 | *call to data | provenance | MaD:327 | +| bslx.cpp:180:20:180:45 | *call to data | bslx.cpp:180:20:180:45 | *call to data | provenance | MaD:327+MaD:326 | +| bslx.cpp:180:20:180:45 | *call to data | bslx.cpp:181:57:181:58 | *sb | provenance | | +| bslx.cpp:180:20:180:45 | *call to data | bslx.cpp:183:2:183:7 | stream | provenance | TaintFunction | +| bslx.cpp:180:35:180:38 | data | bslx.cpp:180:20:180:45 | *call to data | provenance | MaD:326 | +| bslx.cpp:181:50:181:55 | call to GenericInStream | bslx.cpp:183:2:183:7 | stream | provenance | | +| bslx.cpp:181:57:181:58 | *sb | bslx.cpp:181:50:181:55 | call to GenericInStream | provenance | MaD:217 | +| bslx.cpp:183:2:183:7 | stream | bslx.cpp:183:19:183:21 | getString output argument | provenance | MaD:247 | +| bslx.cpp:183:19:183:21 | getString output argument | bslx.cpp:184:8:184:10 | out | provenance | | +| bslx.cpp:184:7:184:17 | * ... | bslx.cpp:184:7:184:17 | * ... | provenance | MaD:327 | +| bslx.cpp:184:7:184:17 | * ... | bslx.cpp:184:7:184:17 | * ... | provenance | MaD:327 | +| bslx.cpp:184:7:184:17 | * ... | bslx.cpp:184:7:184:17 | * ... | provenance | MaD:327+MaD:326 | +| bslx.cpp:184:7:184:17 | * ... | bslx.cpp:184:7:184:17 | * ... | provenance | MaD:327+MaD:326 | +| bslx.cpp:184:8:184:10 | out | bslx.cpp:184:7:184:17 | * ... | provenance | MaD:326 | +| bslx.cpp:184:8:184:10 | out | bslx.cpp:184:7:184:17 | * ... | provenance | MaD:326 | +| bslx.cpp:197:33:197:40 | call to source | bslx.cpp:198:41:198:44 | data | provenance | TaintFunction | +| bslx.cpp:198:34:198:39 | call to ByteInStream | bslx.cpp:200:53:200:58 | *stream | provenance | | +| bslx.cpp:198:41:198:44 | data | bslx.cpp:198:41:198:51 | *call to data | provenance | MaD:326 | +| bslx.cpp:198:41:198:51 | *call to data | bslx.cpp:198:34:198:39 | call to ByteInStream | provenance | MaD:173 | +| bslx.cpp:198:41:198:51 | *call to data | bslx.cpp:198:41:198:51 | *call to data | provenance | MaD:327 | +| bslx.cpp:198:41:198:51 | *call to data | bslx.cpp:198:41:198:51 | *call to data | provenance | MaD:327+MaD:326 | +| bslx.cpp:200:53:200:58 | *stream | bslx.cpp:200:61:200:63 | bdexStreamIn output argument | provenance | MaD:171 | +| bslx.cpp:200:61:200:63 | bdexStreamIn output argument | bslx.cpp:201:8:201:10 | obj | provenance | | +| bslx.cpp:201:7:201:17 | * ... | bslx.cpp:201:7:201:17 | * ... | provenance | MaD:327 | +| bslx.cpp:201:7:201:17 | * ... | bslx.cpp:201:7:201:17 | * ... | provenance | MaD:327 | +| bslx.cpp:201:7:201:17 | * ... | bslx.cpp:201:7:201:17 | * ... | provenance | MaD:327+MaD:326 | +| bslx.cpp:201:7:201:17 | * ... | bslx.cpp:201:7:201:17 | * ... | provenance | MaD:327+MaD:326 | +| bslx.cpp:201:8:201:10 | obj | bslx.cpp:201:7:201:17 | * ... | provenance | MaD:326 | +| bslx.cpp:201:8:201:10 | obj | bslx.cpp:201:7:201:17 | * ... | provenance | MaD:326 | +| bslx.cpp:207:33:207:40 | call to source | bslx.cpp:208:41:208:44 | data | provenance | TaintFunction | +| bslx.cpp:208:34:208:39 | call to ByteInStream | bslx.cpp:231:2:231:7 | stream | provenance | | +| bslx.cpp:208:41:208:44 | data | bslx.cpp:208:41:208:51 | *call to data | provenance | MaD:326 | +| bslx.cpp:208:41:208:51 | *call to data | bslx.cpp:208:34:208:39 | call to ByteInStream | provenance | MaD:173 | +| bslx.cpp:208:41:208:51 | *call to data | bslx.cpp:208:41:208:51 | *call to data | provenance | MaD:327 | +| bslx.cpp:208:41:208:51 | *call to data | bslx.cpp:208:41:208:51 | *call to data | provenance | MaD:327+MaD:326 | +| bslx.cpp:231:2:231:7 | stream | bslx.cpp:231:18:231:21 | call to getLength | provenance | MaD:203 | +| bslx.cpp:231:18:231:21 | call to getLength | bslx.cpp:231:32:231:35 | call to getVersion | provenance | MaD:214 | +| bslx.cpp:231:32:231:35 | call to getVersion | bslx.cpp:231:43:231:46 | call to getInt8 | provenance | MaD:202 | +| bslx.cpp:231:43:231:46 | call to getInt8 | bslx.cpp:231:55:231:59 | call to getUint8 | provenance | MaD:213 | +| bslx.cpp:231:55:231:59 | call to getUint8 | bslx.cpp:231:68:231:71 | call to getInt16 | provenance | MaD:195 | +| bslx.cpp:231:68:231:71 | call to getInt16 | bslx.cpp:231:81:231:85 | call to getUint16 | provenance | MaD:206 | +| bslx.cpp:231:81:231:85 | call to getUint16 | bslx.cpp:231:94:231:97 | call to getInt24 | provenance | MaD:196 | +| bslx.cpp:231:94:231:97 | call to getInt24 | bslx.cpp:231:107:231:111 | call to getUint24 | provenance | MaD:207 | +| bslx.cpp:231:107:231:111 | call to getUint24 | bslx.cpp:231:120:231:123 | call to getInt32 | provenance | MaD:197 | +| bslx.cpp:231:120:231:123 | call to getInt32 | bslx.cpp:231:133:231:137 | call to getUint32 | provenance | MaD:208 | +| bslx.cpp:231:133:231:137 | call to getUint32 | bslx.cpp:231:146:231:150 | call to getInt40 | provenance | MaD:198 | +| bslx.cpp:231:146:231:150 | call to getInt40 | bslx.cpp:231:160:231:165 | call to getUint40 | provenance | MaD:209 | +| bslx.cpp:231:160:231:165 | call to getUint40 | bslx.cpp:231:174:231:178 | call to getInt48 | provenance | MaD:199 | +| bslx.cpp:231:174:231:178 | call to getInt48 | bslx.cpp:231:188:231:193 | call to getUint48 | provenance | MaD:210 | +| bslx.cpp:231:188:231:193 | call to getUint48 | bslx.cpp:231:202:231:206 | call to getInt56 | provenance | MaD:200 | +| bslx.cpp:231:202:231:206 | call to getInt56 | bslx.cpp:231:216:231:221 | call to getUint56 | provenance | MaD:211 | +| bslx.cpp:231:216:231:221 | call to getUint56 | bslx.cpp:231:230:231:234 | call to getInt64 | provenance | MaD:201 | +| bslx.cpp:231:230:231:234 | call to getInt64 | bslx.cpp:231:244:231:249 | call to getUint64 | provenance | MaD:212 | +| bslx.cpp:231:244:231:249 | call to getUint64 | bslx.cpp:231:260:231:263 | call to getFloat32 | provenance | MaD:193 | +| bslx.cpp:231:260:231:263 | call to getFloat32 | bslx.cpp:231:274:231:277 | call to getFloat64 | provenance | MaD:194 | +| bslx.cpp:231:274:231:277 | call to getFloat64 | bslx.cpp:231:287:231:292 | call to getString | provenance | MaD:205 | +| bslx.cpp:231:287:231:292 | call to getString | bslx.cpp:231:305:231:315 | call to getArrayInt8 | provenance | MaD:184 | +| bslx.cpp:231:305:231:315 | call to getArrayInt8 | bslx.cpp:231:329:231:340 | call to getArrayUint8 | provenance | MaD:192 | +| bslx.cpp:231:329:231:340 | call to getArrayUint8 | bslx.cpp:231:354:231:364 | call to getArrayInt16 | provenance | MaD:176 | +| bslx.cpp:231:354:231:364 | call to getArrayInt16 | bslx.cpp:231:379:231:390 | call to getArrayUint16 | provenance | MaD:185 | +| bslx.cpp:231:379:231:390 | call to getArrayUint16 | bslx.cpp:231:404:231:414 | call to getArrayInt24 | provenance | MaD:177 | +| bslx.cpp:231:404:231:414 | call to getArrayInt24 | bslx.cpp:231:429:231:440 | call to getArrayUint24 | provenance | MaD:186 | +| bslx.cpp:231:429:231:440 | call to getArrayUint24 | bslx.cpp:231:454:231:464 | call to getArrayInt32 | provenance | MaD:178 | +| bslx.cpp:231:454:231:464 | call to getArrayInt32 | bslx.cpp:231:479:231:490 | call to getArrayUint32 | provenance | MaD:187 | +| bslx.cpp:231:479:231:490 | call to getArrayUint32 | bslx.cpp:231:504:231:515 | call to getArrayInt40 | provenance | MaD:179 | +| bslx.cpp:231:504:231:515 | call to getArrayInt40 | bslx.cpp:231:530:231:542 | call to getArrayUint40 | provenance | MaD:188 | +| bslx.cpp:231:530:231:542 | call to getArrayUint40 | bslx.cpp:231:556:231:567 | call to getArrayInt48 | provenance | MaD:180 | +| bslx.cpp:231:556:231:567 | call to getArrayInt48 | bslx.cpp:231:582:231:594 | call to getArrayUint48 | provenance | MaD:189 | +| bslx.cpp:231:582:231:594 | call to getArrayUint48 | bslx.cpp:231:608:231:619 | call to getArrayInt56 | provenance | MaD:181 | +| bslx.cpp:231:608:231:619 | call to getArrayInt56 | bslx.cpp:231:634:231:646 | call to getArrayUint56 | provenance | MaD:190 | +| bslx.cpp:231:634:231:646 | call to getArrayUint56 | bslx.cpp:231:660:231:671 | call to getArrayInt64 | provenance | MaD:182 | +| bslx.cpp:231:660:231:671 | call to getArrayInt64 | bslx.cpp:231:686:231:698 | call to getArrayUint64 | provenance | MaD:191 | +| bslx.cpp:231:686:231:698 | call to getArrayUint64 | bslx.cpp:231:714:231:724 | call to getArrayFloat32 | provenance | MaD:174 | +| bslx.cpp:231:714:231:724 | call to getArrayFloat32 | bslx.cpp:231:740:231:750 | call to getArrayFloat64 | provenance | MaD:175 | +| bslx.cpp:231:740:231:750 | call to getArrayFloat64 | bslx.cpp:231:761:231:763 | getString output argument | provenance | MaD:204 | +| bslx.cpp:231:761:231:763 | getString output argument | bslx.cpp:232:8:232:10 | out | provenance | | +| bslx.cpp:232:7:232:17 | * ... | bslx.cpp:232:7:232:17 | * ... | provenance | MaD:327 | +| bslx.cpp:232:7:232:17 | * ... | bslx.cpp:232:7:232:17 | * ... | provenance | MaD:327 | +| bslx.cpp:232:7:232:17 | * ... | bslx.cpp:232:7:232:17 | * ... | provenance | MaD:327+MaD:326 | +| bslx.cpp:232:7:232:17 | * ... | bslx.cpp:232:7:232:17 | * ... | provenance | MaD:327+MaD:326 | +| bslx.cpp:232:8:232:10 | out | bslx.cpp:232:7:232:17 | * ... | provenance | MaD:326 | +| bslx.cpp:232:8:232:10 | out | bslx.cpp:232:7:232:17 | * ... | provenance | MaD:326 | +| bslx.cpp:236:33:236:40 | call to source | bslx.cpp:237:35:237:38 | data | provenance | TaintFunction | +| bslx.cpp:237:20:237:45 | *call to data | bslx.cpp:237:20:237:45 | *call to data | provenance | | +| bslx.cpp:237:20:237:45 | *call to data | bslx.cpp:237:20:237:45 | *call to data | provenance | MaD:327 | +| bslx.cpp:237:20:237:45 | *call to data | bslx.cpp:237:20:237:45 | *call to data | provenance | MaD:327+MaD:326 | +| bslx.cpp:237:20:237:45 | *call to data | bslx.cpp:238:57:238:58 | *sb | provenance | | +| bslx.cpp:237:20:237:45 | *call to data | bslx.cpp:261:2:261:7 | stream | provenance | TaintFunction | +| bslx.cpp:237:35:237:38 | data | bslx.cpp:237:20:237:45 | *call to data | provenance | MaD:326 | +| bslx.cpp:238:50:238:55 | call to GenericInStream | bslx.cpp:261:2:261:7 | stream | provenance | | +| bslx.cpp:238:57:238:58 | *sb | bslx.cpp:238:50:238:55 | call to GenericInStream | provenance | MaD:217 | +| bslx.cpp:261:2:261:7 | stream | bslx.cpp:261:18:261:21 | call to getLength | provenance | MaD:246 | +| bslx.cpp:261:18:261:21 | call to getLength | bslx.cpp:261:32:261:35 | call to getVersion | provenance | MaD:257 | +| bslx.cpp:261:32:261:35 | call to getVersion | bslx.cpp:261:43:261:46 | call to getInt8 | provenance | MaD:245 | +| bslx.cpp:261:43:261:46 | call to getInt8 | bslx.cpp:261:55:261:59 | call to getUint8 | provenance | MaD:256 | +| bslx.cpp:261:55:261:59 | call to getUint8 | bslx.cpp:261:68:261:71 | call to getInt16 | provenance | MaD:238 | +| bslx.cpp:261:68:261:71 | call to getInt16 | bslx.cpp:261:81:261:85 | call to getUint16 | provenance | MaD:249 | +| bslx.cpp:261:81:261:85 | call to getUint16 | bslx.cpp:261:94:261:97 | call to getInt24 | provenance | MaD:239 | +| bslx.cpp:261:94:261:97 | call to getInt24 | bslx.cpp:261:107:261:111 | call to getUint24 | provenance | MaD:250 | +| bslx.cpp:261:107:261:111 | call to getUint24 | bslx.cpp:261:120:261:123 | call to getInt32 | provenance | MaD:240 | +| bslx.cpp:261:120:261:123 | call to getInt32 | bslx.cpp:261:133:261:137 | call to getUint32 | provenance | MaD:251 | +| bslx.cpp:261:133:261:137 | call to getUint32 | bslx.cpp:261:146:261:150 | call to getInt40 | provenance | MaD:241 | +| bslx.cpp:261:146:261:150 | call to getInt40 | bslx.cpp:261:160:261:165 | call to getUint40 | provenance | MaD:252 | +| bslx.cpp:261:160:261:165 | call to getUint40 | bslx.cpp:261:174:261:178 | call to getInt48 | provenance | MaD:242 | +| bslx.cpp:261:174:261:178 | call to getInt48 | bslx.cpp:261:188:261:193 | call to getUint48 | provenance | MaD:253 | +| bslx.cpp:261:188:261:193 | call to getUint48 | bslx.cpp:261:202:261:206 | call to getInt56 | provenance | MaD:243 | +| bslx.cpp:261:202:261:206 | call to getInt56 | bslx.cpp:261:216:261:221 | call to getUint56 | provenance | MaD:254 | +| bslx.cpp:261:216:261:221 | call to getUint56 | bslx.cpp:261:230:261:234 | call to getInt64 | provenance | MaD:244 | +| bslx.cpp:261:230:261:234 | call to getInt64 | bslx.cpp:261:244:261:249 | call to getUint64 | provenance | MaD:255 | +| bslx.cpp:261:244:261:249 | call to getUint64 | bslx.cpp:261:260:261:263 | call to getFloat32 | provenance | MaD:236 | +| bslx.cpp:261:260:261:263 | call to getFloat32 | bslx.cpp:261:274:261:277 | call to getFloat64 | provenance | MaD:237 | +| bslx.cpp:261:274:261:277 | call to getFloat64 | bslx.cpp:261:287:261:292 | call to getString | provenance | MaD:248 | +| bslx.cpp:261:287:261:292 | call to getString | bslx.cpp:261:305:261:315 | call to getArrayInt8 | provenance | MaD:227 | +| bslx.cpp:261:305:261:315 | call to getArrayInt8 | bslx.cpp:261:329:261:340 | call to getArrayUint8 | provenance | MaD:235 | +| bslx.cpp:261:329:261:340 | call to getArrayUint8 | bslx.cpp:261:354:261:364 | call to getArrayInt16 | provenance | MaD:220 | +| bslx.cpp:261:354:261:364 | call to getArrayInt16 | bslx.cpp:261:379:261:390 | call to getArrayUint16 | provenance | MaD:228 | +| bslx.cpp:261:379:261:390 | call to getArrayUint16 | bslx.cpp:261:404:261:414 | call to getArrayInt24 | provenance | MaD:221 | +| bslx.cpp:261:404:261:414 | call to getArrayInt24 | bslx.cpp:261:429:261:440 | call to getArrayUint24 | provenance | MaD:229 | +| bslx.cpp:261:429:261:440 | call to getArrayUint24 | bslx.cpp:261:454:261:464 | call to getArrayInt32 | provenance | MaD:222 | +| bslx.cpp:261:454:261:464 | call to getArrayInt32 | bslx.cpp:261:479:261:490 | call to getArrayUint32 | provenance | MaD:230 | +| bslx.cpp:261:479:261:490 | call to getArrayUint32 | bslx.cpp:261:504:261:515 | call to getArrayInt40 | provenance | MaD:223 | +| bslx.cpp:261:504:261:515 | call to getArrayInt40 | bslx.cpp:261:530:261:542 | call to getArrayUint40 | provenance | MaD:231 | +| bslx.cpp:261:530:261:542 | call to getArrayUint40 | bslx.cpp:261:556:261:567 | call to getArrayInt48 | provenance | MaD:224 | +| bslx.cpp:261:556:261:567 | call to getArrayInt48 | bslx.cpp:261:582:261:594 | call to getArrayUint48 | provenance | MaD:232 | +| bslx.cpp:261:582:261:594 | call to getArrayUint48 | bslx.cpp:261:608:261:619 | call to getArrayInt56 | provenance | MaD:225 | +| bslx.cpp:261:608:261:619 | call to getArrayInt56 | bslx.cpp:261:634:261:646 | call to getArrayUint56 | provenance | MaD:233 | +| bslx.cpp:261:634:261:646 | call to getArrayUint56 | bslx.cpp:261:660:261:671 | call to getArrayInt64 | provenance | MaD:226 | +| bslx.cpp:261:660:261:671 | call to getArrayInt64 | bslx.cpp:261:686:261:698 | call to getArrayUint64 | provenance | MaD:234 | +| bslx.cpp:261:686:261:698 | call to getArrayUint64 | bslx.cpp:261:714:261:724 | call to getArrayFloat32 | provenance | MaD:218 | +| bslx.cpp:261:714:261:724 | call to getArrayFloat32 | bslx.cpp:261:740:261:750 | call to getArrayFloat64 | provenance | MaD:219 | +| bslx.cpp:261:740:261:750 | call to getArrayFloat64 | bslx.cpp:261:761:261:763 | getString output argument | provenance | MaD:247 | +| bslx.cpp:261:761:261:763 | getString output argument | bslx.cpp:262:8:262:10 | out | provenance | | +| bslx.cpp:262:7:262:17 | * ... | bslx.cpp:262:7:262:17 | * ... | provenance | MaD:327 | +| bslx.cpp:262:7:262:17 | * ... | bslx.cpp:262:7:262:17 | * ... | provenance | MaD:327 | +| bslx.cpp:262:7:262:17 | * ... | bslx.cpp:262:7:262:17 | * ... | provenance | MaD:327+MaD:326 | +| bslx.cpp:262:7:262:17 | * ... | bslx.cpp:262:7:262:17 | * ... | provenance | MaD:327+MaD:326 | +| bslx.cpp:262:8:262:10 | out | bslx.cpp:262:7:262:17 | * ... | provenance | MaD:326 | +| bslx.cpp:262:8:262:10 | out | bslx.cpp:262:7:262:17 | * ... | provenance | MaD:326 | +| bslx.cpp:266:33:266:40 | call to source | bslx.cpp:267:41:267:44 | data | provenance | TaintFunction | +| bslx.cpp:267:34:267:39 | call to ByteInStream | bslx.cpp:269:53:269:58 | *stream | provenance | | +| bslx.cpp:267:34:267:39 | call to ByteInStream | bslx.cpp:271:53:271:58 | *stream | provenance | | +| bslx.cpp:267:34:267:39 | call to ByteInStream | bslx.cpp:274:53:274:58 | *stream | provenance | | +| bslx.cpp:267:41:267:44 | data | bslx.cpp:267:41:267:51 | *call to data | provenance | MaD:326 | +| bslx.cpp:267:41:267:51 | *call to data | bslx.cpp:267:34:267:39 | call to ByteInStream | provenance | MaD:173 | +| bslx.cpp:267:41:267:51 | *call to data | bslx.cpp:267:41:267:51 | *call to data | provenance | MaD:327 | +| bslx.cpp:267:41:267:51 | *call to data | bslx.cpp:267:41:267:51 | *call to data | provenance | MaD:327+MaD:326 | +| bslx.cpp:269:53:269:58 | *stream | bslx.cpp:269:61:269:61 | bdexStreamIn output argument | provenance | MaD:171 | +| bslx.cpp:269:61:269:61 | bdexStreamIn output argument | bslx.cpp:270:7:270:7 | x | provenance | | +| bslx.cpp:269:61:269:61 | bdexStreamIn output argument | bslx.cpp:272:7:272:7 | x | provenance | | +| bslx.cpp:271:53:271:58 | *stream | bslx.cpp:271:61:271:61 | bdexStreamIn output argument | provenance | MaD:171 | +| bslx.cpp:271:61:271:61 | bdexStreamIn output argument | bslx.cpp:272:7:272:7 | x | provenance | | +| bslx.cpp:274:52:274:66 | call to bdexStreamIn | bslx.cpp:274:77:274:79 | getString output argument | provenance | MaD:204 | +| bslx.cpp:274:53:274:58 | *stream | bslx.cpp:274:52:274:66 | call to bdexStreamIn | provenance | MaD:172 | +| bslx.cpp:274:77:274:79 | getString output argument | bslx.cpp:275:8:275:10 | out | provenance | | +| bslx.cpp:275:7:275:17 | * ... | bslx.cpp:275:7:275:17 | * ... | provenance | MaD:327 | +| bslx.cpp:275:7:275:17 | * ... | bslx.cpp:275:7:275:17 | * ... | provenance | MaD:327 | +| bslx.cpp:275:7:275:17 | * ... | bslx.cpp:275:7:275:17 | * ... | provenance | MaD:327+MaD:326 | +| bslx.cpp:275:7:275:17 | * ... | bslx.cpp:275:7:275:17 | * ... | provenance | MaD:327+MaD:326 | +| bslx.cpp:275:8:275:10 | out | bslx.cpp:275:7:275:17 | * ... | provenance | MaD:326 | +| bslx.cpp:275:8:275:10 | out | bslx.cpp:275:7:275:17 | * ... | provenance | MaD:326 | +| bslx.cpp:279:33:279:40 | call to source | bslx.cpp:280:41:280:44 | data | provenance | TaintFunction | +| bslx.cpp:280:34:280:39 | call to ByteInStream | bslx.cpp:282:53:282:58 | *stream | provenance | | +| bslx.cpp:280:41:280:44 | data | bslx.cpp:280:41:280:51 | *call to data | provenance | MaD:326 | +| bslx.cpp:280:41:280:51 | *call to data | bslx.cpp:280:34:280:39 | call to ByteInStream | provenance | MaD:173 | +| bslx.cpp:280:41:280:51 | *call to data | bslx.cpp:280:41:280:51 | *call to data | provenance | MaD:327 | +| bslx.cpp:280:41:280:51 | *call to data | bslx.cpp:280:41:280:51 | *call to data | provenance | MaD:327+MaD:326 | +| bslx.cpp:282:53:282:58 | *stream | bslx.cpp:282:61:282:63 | bdexStreamIn output argument | provenance | MaD:171 | +| bslx.cpp:282:61:282:63 | bdexStreamIn output argument | bslx.cpp:283:8:283:10 | out | provenance | | +| bslx.cpp:283:7:283:17 | * ... | bslx.cpp:283:7:283:17 | * ... | provenance | MaD:327 | +| bslx.cpp:283:7:283:17 | * ... | bslx.cpp:283:7:283:17 | * ... | provenance | MaD:327 | +| bslx.cpp:283:7:283:17 | * ... | bslx.cpp:283:7:283:17 | * ... | provenance | MaD:327+MaD:326 | +| bslx.cpp:283:7:283:17 | * ... | bslx.cpp:283:7:283:17 | * ... | provenance | MaD:327+MaD:326 | +| bslx.cpp:283:8:283:10 | out | bslx.cpp:283:7:283:17 | * ... | provenance | MaD:326 | +| bslx.cpp:283:8:283:10 | out | bslx.cpp:283:7:283:17 | * ... | provenance | MaD:326 | +| bslx.cpp:293:33:293:40 | call to source | bslx.cpp:294:41:294:44 | data | provenance | TaintFunction | +| bslx.cpp:294:34:294:39 | call to ByteInStream | bslx.cpp:296:53:296:58 | *stream | provenance | | +| bslx.cpp:294:41:294:44 | data | bslx.cpp:294:41:294:51 | *call to data | provenance | MaD:326 | +| bslx.cpp:294:41:294:51 | *call to data | bslx.cpp:294:34:294:39 | call to ByteInStream | provenance | MaD:173 | +| bslx.cpp:294:41:294:51 | *call to data | bslx.cpp:294:41:294:51 | *call to data | provenance | MaD:327 | +| bslx.cpp:294:41:294:51 | *call to data | bslx.cpp:294:41:294:51 | *call to data | provenance | MaD:327+MaD:326 | +| bslx.cpp:296:53:296:58 | *stream | bslx.cpp:296:61:296:63 | bdexStreamIn output argument | provenance | MaD:171 | +| bslx.cpp:296:61:296:63 | bdexStreamIn output argument | bslx.cpp:297:7:297:9 | out | provenance | | +| bslx.cpp:306:40:306:60 | call to source | bslx.cpp:306:40:306:60 | call to source | provenance | | +| bslx.cpp:306:40:306:60 | call to source | bslx.cpp:307:15:307:18 | *data | provenance | | +| bslx.cpp:307:2:307:7 | reset output argument | bslx.cpp:309:2:309:7 | stream | provenance | | +| bslx.cpp:307:15:307:18 | *data | bslx.cpp:307:2:307:7 | reset output argument | provenance | MaD:215 | +| bslx.cpp:309:2:309:7 | stream | bslx.cpp:309:19:309:21 | getString output argument | provenance | MaD:204 | +| bslx.cpp:309:19:309:21 | getString output argument | bslx.cpp:310:8:310:10 | out | provenance | | +| bslx.cpp:310:7:310:17 | * ... | bslx.cpp:310:7:310:17 | * ... | provenance | MaD:327 | +| bslx.cpp:310:7:310:17 | * ... | bslx.cpp:310:7:310:17 | * ... | provenance | MaD:327 | +| bslx.cpp:310:7:310:17 | * ... | bslx.cpp:310:7:310:17 | * ... | provenance | MaD:327+MaD:326 | +| bslx.cpp:310:7:310:17 | * ... | bslx.cpp:310:7:310:17 | * ... | provenance | MaD:327+MaD:326 | +| bslx.cpp:310:8:310:10 | out | bslx.cpp:310:7:310:17 | * ... | provenance | MaD:326 | +| bslx.cpp:310:8:310:10 | out | bslx.cpp:310:7:310:17 | * ... | provenance | MaD:326 | +| bslx.cpp:314:33:314:40 | call to source | bslx.cpp:315:41:315:44 | data | provenance | TaintFunction | +| bslx.cpp:315:34:315:39 | call to ByteInStream | bslx.cpp:318:2:318:7 | stream | provenance | | +| bslx.cpp:315:41:315:44 | data | bslx.cpp:315:41:315:51 | *call to data | provenance | MaD:326 | +| bslx.cpp:315:41:315:51 | *call to data | bslx.cpp:315:34:315:39 | call to ByteInStream | provenance | MaD:173 | +| bslx.cpp:315:41:315:51 | *call to data | bslx.cpp:315:41:315:51 | *call to data | provenance | MaD:327 | +| bslx.cpp:315:41:315:51 | *call to data | bslx.cpp:315:41:315:51 | *call to data | provenance | MaD:327+MaD:326 | +| bslx.cpp:318:2:318:7 | stream | bslx.cpp:318:19:318:21 | getString output argument | provenance | MaD:204 | +| bslx.cpp:318:19:318:21 | getString output argument | bslx.cpp:319:8:319:10 | out | provenance | | +| bslx.cpp:319:7:319:17 | * ... | bslx.cpp:319:7:319:17 | * ... | provenance | MaD:327 | +| bslx.cpp:319:7:319:17 | * ... | bslx.cpp:319:7:319:17 | * ... | provenance | MaD:327 | +| bslx.cpp:319:7:319:17 | * ... | bslx.cpp:319:7:319:17 | * ... | provenance | MaD:327+MaD:326 | +| bslx.cpp:319:7:319:17 | * ... | bslx.cpp:319:7:319:17 | * ... | provenance | MaD:327+MaD:326 | +| bslx.cpp:319:8:319:10 | out | bslx.cpp:319:7:319:17 | * ... | provenance | MaD:326 | +| bslx.cpp:319:8:319:10 | out | bslx.cpp:319:7:319:17 | * ... | provenance | MaD:326 | +| bslx.cpp:333:33:333:40 | call to source | bslx.cpp:334:41:334:44 | data | provenance | TaintFunction | +| bslx.cpp:334:34:334:39 | call to ByteInStream | bslx.cpp:338:2:338:7 | stream | provenance | | +| bslx.cpp:334:41:334:44 | data | bslx.cpp:334:41:334:51 | *call to data | provenance | MaD:326 | +| bslx.cpp:334:41:334:51 | *call to data | bslx.cpp:334:34:334:39 | call to ByteInStream | provenance | MaD:173 | +| bslx.cpp:334:41:334:51 | *call to data | bslx.cpp:334:41:334:51 | *call to data | provenance | MaD:327 | +| bslx.cpp:334:41:334:51 | *call to data | bslx.cpp:334:41:334:51 | *call to data | provenance | MaD:327+MaD:326 | +| bslx.cpp:338:2:338:7 | stream | bslx.cpp:338:19:338:21 | getString output argument | provenance | MaD:204 | +| bslx.cpp:338:19:338:21 | getString output argument | bslx.cpp:340:8:340:10 | out | provenance | | +| bslx.cpp:340:7:340:17 | * ... | bslx.cpp:340:7:340:17 | * ... | provenance | MaD:327 | +| bslx.cpp:340:7:340:17 | * ... | bslx.cpp:340:7:340:17 | * ... | provenance | MaD:327 | +| bslx.cpp:340:7:340:17 | * ... | bslx.cpp:340:7:340:17 | * ... | provenance | MaD:327+MaD:326 | +| bslx.cpp:340:7:340:17 | * ... | bslx.cpp:340:7:340:17 | * ... | provenance | MaD:327+MaD:326 | +| bslx.cpp:340:8:340:10 | out | bslx.cpp:340:7:340:17 | * ... | provenance | MaD:326 | +| bslx.cpp:340:8:340:10 | out | bslx.cpp:340:7:340:17 | * ... | provenance | MaD:326 | +| protobuf.cpp:105:27:105:51 | call to source | protobuf.cpp:105:27:105:51 | call to source | provenance | | +| protobuf.cpp:105:27:105:51 | call to source | protobuf.cpp:106:22:106:25 | data | provenance | | +| protobuf.cpp:106:2:106:4 | ParseFromString output argument | protobuf.cpp:107:7:107:9 | msg | provenance | | +| protobuf.cpp:106:22:106:25 | data | protobuf.cpp:106:2:106:4 | ParseFromString output argument | provenance | MaD:300 | +| protobuf.cpp:112:20:112:37 | call to source | protobuf.cpp:112:20:112:37 | call to source | provenance | | +| protobuf.cpp:112:20:112:37 | call to source | protobuf.cpp:113:22:113:25 | *data | provenance | | +| protobuf.cpp:113:2:113:4 | ParseFromString output argument | protobuf.cpp:114:7:114:9 | msg | provenance | | +| protobuf.cpp:113:22:113:25 | *data | protobuf.cpp:113:2:113:4 | ParseFromString output argument | provenance | MaD:299 | +| protobuf.cpp:119:27:119:51 | call to source | protobuf.cpp:119:27:119:51 | call to source | provenance | | +| protobuf.cpp:119:27:119:51 | call to source | protobuf.cpp:120:29:120:32 | data | provenance | | +| protobuf.cpp:120:2:120:4 | ParsePartialFromString output argument | protobuf.cpp:121:7:121:9 | msg | provenance | | +| protobuf.cpp:120:29:120:32 | data | protobuf.cpp:120:2:120:4 | ParsePartialFromString output argument | provenance | MaD:308 | +| protobuf.cpp:126:20:126:37 | call to source | protobuf.cpp:126:20:126:37 | call to source | provenance | | +| protobuf.cpp:126:20:126:37 | call to source | protobuf.cpp:127:29:127:32 | *data | provenance | | +| protobuf.cpp:127:2:127:4 | ParsePartialFromString output argument | protobuf.cpp:128:7:128:9 | msg | provenance | | +| protobuf.cpp:127:29:127:32 | *data | protobuf.cpp:127:2:127:4 | ParsePartialFromString output argument | provenance | MaD:307 | +| protobuf.cpp:133:27:133:51 | call to source | protobuf.cpp:133:27:133:51 | call to source | provenance | | +| protobuf.cpp:133:27:133:51 | call to source | protobuf.cpp:134:22:134:25 | data | provenance | | +| protobuf.cpp:134:2:134:4 | MergeFromString output argument | protobuf.cpp:135:7:135:9 | msg | provenance | | +| protobuf.cpp:134:22:134:25 | data | protobuf.cpp:134:2:134:4 | MergeFromString output argument | provenance | MaD:288 | +| protobuf.cpp:140:20:140:37 | call to source | protobuf.cpp:140:20:140:37 | call to source | provenance | | +| protobuf.cpp:140:20:140:37 | call to source | protobuf.cpp:141:22:141:25 | *data | provenance | | +| protobuf.cpp:141:2:141:4 | MergeFromString output argument | protobuf.cpp:142:7:142:9 | msg | provenance | | +| protobuf.cpp:141:22:141:25 | *data | protobuf.cpp:141:2:141:4 | MergeFromString output argument | provenance | MaD:287 | +| protobuf.cpp:147:27:147:51 | call to source | protobuf.cpp:147:27:147:51 | call to source | provenance | | +| protobuf.cpp:147:27:147:51 | call to source | protobuf.cpp:148:29:148:32 | data | provenance | | +| protobuf.cpp:148:2:148:4 | MergePartialFromString output argument | protobuf.cpp:149:7:149:9 | msg | provenance | | +| protobuf.cpp:148:29:148:32 | data | protobuf.cpp:148:2:148:4 | MergePartialFromString output argument | provenance | MaD:293 | +| protobuf.cpp:154:20:154:37 | call to source | protobuf.cpp:154:20:154:37 | call to source | provenance | | +| protobuf.cpp:154:20:154:37 | call to source | protobuf.cpp:155:29:155:32 | *data | provenance | | +| protobuf.cpp:155:2:155:4 | MergePartialFromString output argument | protobuf.cpp:156:7:156:9 | msg | provenance | | +| protobuf.cpp:155:29:155:32 | *data | protobuf.cpp:155:2:155:4 | MergePartialFromString output argument | provenance | MaD:292 | +| protobuf.cpp:161:19:161:38 | call to source | protobuf.cpp:162:21:162:24 | data | provenance | TaintFunction | +| protobuf.cpp:162:2:162:4 | ParseFromArray output argument | protobuf.cpp:163:7:163:9 | msg | provenance | | +| protobuf.cpp:162:21:162:24 | data | protobuf.cpp:162:21:162:31 | *call to data | provenance | MaD:326 | +| protobuf.cpp:162:21:162:31 | *call to data | protobuf.cpp:162:2:162:4 | ParseFromArray output argument | provenance | MaD:294 | +| protobuf.cpp:162:21:162:31 | *call to data | protobuf.cpp:162:21:162:31 | *call to data | provenance | MaD:327 | +| protobuf.cpp:162:21:162:31 | *call to data | protobuf.cpp:162:21:162:31 | *call to data | provenance | MaD:327+MaD:326 | +| protobuf.cpp:168:19:168:38 | call to source | protobuf.cpp:169:28:169:31 | data | provenance | TaintFunction | +| protobuf.cpp:169:2:169:4 | ParsePartialFromArray output argument | protobuf.cpp:170:7:170:9 | msg | provenance | | +| protobuf.cpp:169:28:169:31 | data | protobuf.cpp:169:28:169:38 | *call to data | provenance | MaD:326 | +| protobuf.cpp:169:28:169:38 | *call to data | protobuf.cpp:169:2:169:4 | ParsePartialFromArray output argument | provenance | MaD:302 | +| protobuf.cpp:169:28:169:38 | *call to data | protobuf.cpp:169:28:169:38 | *call to data | provenance | MaD:327 | +| protobuf.cpp:169:28:169:38 | *call to data | protobuf.cpp:169:28:169:38 | *call to data | provenance | MaD:327+MaD:326 | +| protobuf.cpp:175:20:175:37 | call to source | protobuf.cpp:175:20:175:37 | call to source | provenance | | +| protobuf.cpp:175:20:175:37 | call to source | protobuf.cpp:176:20:176:23 | *data | provenance | | +| protobuf.cpp:176:2:176:4 | ParseFromCord output argument | protobuf.cpp:177:7:177:9 | msg | provenance | | +| protobuf.cpp:176:20:176:23 | *data | protobuf.cpp:176:2:176:4 | ParseFromCord output argument | provenance | MaD:297 | +| protobuf.cpp:182:20:182:37 | call to source | protobuf.cpp:182:20:182:37 | call to source | provenance | | +| protobuf.cpp:182:20:182:37 | call to source | protobuf.cpp:183:27:183:30 | *data | provenance | | +| protobuf.cpp:183:2:183:4 | ParsePartialFromCord output argument | protobuf.cpp:184:7:184:9 | msg | provenance | | +| protobuf.cpp:183:27:183:30 | *data | protobuf.cpp:183:2:183:4 | ParsePartialFromCord output argument | provenance | MaD:305 | +| protobuf.cpp:189:20:189:37 | call to source | protobuf.cpp:189:20:189:37 | call to source | provenance | | +| protobuf.cpp:189:20:189:37 | call to source | protobuf.cpp:190:20:190:23 | *data | provenance | | +| protobuf.cpp:190:2:190:4 | MergeFromCord output argument | protobuf.cpp:191:7:191:9 | msg | provenance | | +| protobuf.cpp:190:20:190:23 | *data | protobuf.cpp:190:2:190:4 | MergeFromCord output argument | provenance | MaD:286 | +| protobuf.cpp:196:20:196:37 | call to source | protobuf.cpp:196:20:196:37 | call to source | provenance | | +| protobuf.cpp:196:20:196:37 | call to source | protobuf.cpp:197:27:197:30 | *data | provenance | | +| protobuf.cpp:197:2:197:4 | MergePartialFromCord output argument | protobuf.cpp:198:7:198:9 | msg | provenance | | +| protobuf.cpp:197:27:197:30 | *data | protobuf.cpp:197:2:197:4 | MergePartialFromCord output argument | provenance | MaD:291 | +| protobuf.cpp:203:20:203:39 | call to source | protobuf.cpp:203:20:203:39 | call to source | provenance | | +| protobuf.cpp:203:20:203:39 | call to source | protobuf.cpp:204:23:204:25 | *& ... | provenance | | +| protobuf.cpp:204:2:204:4 | ParseFromIstream output argument | protobuf.cpp:205:7:205:9 | msg | provenance | | +| protobuf.cpp:204:23:204:25 | *& ... | protobuf.cpp:204:2:204:4 | ParseFromIstream output argument | provenance | MaD:298 | +| protobuf.cpp:210:20:210:39 | call to source | protobuf.cpp:210:20:210:39 | call to source | provenance | | +| protobuf.cpp:210:20:210:39 | call to source | protobuf.cpp:211:30:211:32 | *& ... | provenance | | +| protobuf.cpp:211:2:211:4 | ParsePartialFromIstream output argument | protobuf.cpp:212:7:212:9 | msg | provenance | | +| protobuf.cpp:211:30:211:32 | *& ... | protobuf.cpp:211:2:211:4 | ParsePartialFromIstream output argument | provenance | MaD:306 | +| protobuf.cpp:217:27:217:53 | call to source | protobuf.cpp:217:27:217:53 | call to source | provenance | | +| protobuf.cpp:217:27:217:53 | call to source | protobuf.cpp:218:30:218:32 | *& ... | provenance | | +| protobuf.cpp:218:2:218:4 | ParseFromZeroCopyStream output argument | protobuf.cpp:219:7:219:9 | msg | provenance | | +| protobuf.cpp:218:30:218:32 | *& ... | protobuf.cpp:218:2:218:4 | ParseFromZeroCopyStream output argument | provenance | MaD:301 | +| protobuf.cpp:224:27:224:53 | call to source | protobuf.cpp:224:27:224:53 | call to source | provenance | | +| protobuf.cpp:224:27:224:53 | call to source | protobuf.cpp:225:37:225:39 | *& ... | provenance | | +| protobuf.cpp:225:2:225:4 | ParsePartialFromZeroCopyStream output argument | protobuf.cpp:226:7:226:9 | msg | provenance | | +| protobuf.cpp:225:37:225:39 | *& ... | protobuf.cpp:225:2:225:4 | ParsePartialFromZeroCopyStream output argument | provenance | MaD:309 | +| protobuf.cpp:231:27:231:53 | call to source | protobuf.cpp:231:27:231:53 | call to source | provenance | | +| protobuf.cpp:231:27:231:53 | call to source | protobuf.cpp:232:37:232:39 | *& ... | provenance | | +| protobuf.cpp:232:2:232:4 | ParseFromBoundedZeroCopyStream output argument | protobuf.cpp:233:7:233:9 | msg | provenance | | +| protobuf.cpp:232:37:232:39 | *& ... | protobuf.cpp:232:2:232:4 | ParseFromBoundedZeroCopyStream output argument | provenance | MaD:295 | +| protobuf.cpp:238:27:238:53 | call to source | protobuf.cpp:238:27:238:53 | call to source | provenance | | +| protobuf.cpp:238:27:238:53 | call to source | protobuf.cpp:239:44:239:46 | *& ... | provenance | | +| protobuf.cpp:239:2:239:4 | ParsePartialFromBoundedZeroCopyStream output argument | protobuf.cpp:240:7:240:9 | msg | provenance | | +| protobuf.cpp:239:44:239:46 | *& ... | protobuf.cpp:239:2:239:4 | ParsePartialFromBoundedZeroCopyStream output argument | provenance | MaD:303 | +| protobuf.cpp:245:27:245:53 | call to source | protobuf.cpp:245:27:245:53 | call to source | provenance | | +| protobuf.cpp:245:27:245:53 | call to source | protobuf.cpp:246:37:246:39 | *& ... | provenance | | +| protobuf.cpp:246:2:246:4 | MergeFromBoundedZeroCopyStream output argument | protobuf.cpp:247:7:247:9 | msg | provenance | | +| protobuf.cpp:246:37:246:39 | *& ... | protobuf.cpp:246:2:246:4 | MergeFromBoundedZeroCopyStream output argument | provenance | MaD:284 | +| protobuf.cpp:252:27:252:53 | call to source | protobuf.cpp:252:27:252:53 | call to source | provenance | | +| protobuf.cpp:252:27:252:53 | call to source | protobuf.cpp:253:44:253:46 | *& ... | provenance | | +| protobuf.cpp:253:2:253:4 | MergePartialFromBoundedZeroCopyStream output argument | protobuf.cpp:254:7:254:9 | msg | provenance | | +| protobuf.cpp:253:44:253:46 | *& ... | protobuf.cpp:253:2:253:4 | MergePartialFromBoundedZeroCopyStream output argument | provenance | MaD:289 | +| protobuf.cpp:259:24:259:47 | call to source | protobuf.cpp:259:24:259:47 | call to source | provenance | | +| protobuf.cpp:259:24:259:47 | call to source | protobuf.cpp:260:27:260:29 | *& ... | provenance | | +| protobuf.cpp:260:2:260:4 | ParseFromCodedStream output argument | protobuf.cpp:261:7:261:9 | msg | provenance | | +| protobuf.cpp:260:27:260:29 | *& ... | protobuf.cpp:260:2:260:4 | ParseFromCodedStream output argument | provenance | MaD:296 | +| protobuf.cpp:266:24:266:47 | call to source | protobuf.cpp:266:24:266:47 | call to source | provenance | | +| protobuf.cpp:266:24:266:47 | call to source | protobuf.cpp:267:34:267:36 | *& ... | provenance | | +| protobuf.cpp:267:2:267:4 | ParsePartialFromCodedStream output argument | protobuf.cpp:268:7:268:9 | msg | provenance | | +| protobuf.cpp:267:34:267:36 | *& ... | protobuf.cpp:267:2:267:4 | ParsePartialFromCodedStream output argument | provenance | MaD:304 | +| protobuf.cpp:273:24:273:47 | call to source | protobuf.cpp:273:24:273:47 | call to source | provenance | | +| protobuf.cpp:273:24:273:47 | call to source | protobuf.cpp:274:27:274:29 | *& ... | provenance | | +| protobuf.cpp:274:2:274:4 | MergeFromCodedStream output argument | protobuf.cpp:275:7:275:9 | msg | provenance | | +| protobuf.cpp:274:27:274:29 | *& ... | protobuf.cpp:274:2:274:4 | MergeFromCodedStream output argument | provenance | MaD:285 | +| protobuf.cpp:280:24:280:47 | call to source | protobuf.cpp:280:24:280:47 | call to source | provenance | | +| protobuf.cpp:280:24:280:47 | call to source | protobuf.cpp:281:34:281:36 | *& ... | provenance | | +| protobuf.cpp:281:2:281:4 | MergePartialFromCodedStream output argument | protobuf.cpp:282:7:282:9 | msg | provenance | | +| protobuf.cpp:281:34:281:36 | *& ... | protobuf.cpp:281:2:281:4 | MergePartialFromCodedStream output argument | provenance | MaD:290 | +| protobuf.cpp:295:15:295:28 | call to source | protobuf.cpp:295:15:295:28 | call to source | provenance | | +| protobuf.cpp:295:15:295:28 | call to source | protobuf.cpp:297:2:297:4 | msg | provenance | | +| protobuf.cpp:297:2:297:4 | msg | protobuf.cpp:297:24:297:27 | SerializeToString output argument | provenance | MaD:324 | +| protobuf.cpp:297:24:297:27 | SerializeToString output argument | protobuf.cpp:298:7:298:9 | out | provenance | | +| protobuf.cpp:302:15:302:28 | call to source | protobuf.cpp:302:15:302:28 | call to source | provenance | | +| protobuf.cpp:302:15:302:28 | call to source | protobuf.cpp:304:2:304:4 | msg | provenance | | +| protobuf.cpp:304:2:304:4 | msg | protobuf.cpp:304:31:304:34 | SerializePartialToString output argument | provenance | MaD:318 | +| protobuf.cpp:304:31:304:34 | SerializePartialToString output argument | protobuf.cpp:305:7:305:9 | out | provenance | | +| protobuf.cpp:309:15:309:28 | call to source | protobuf.cpp:309:15:309:28 | call to source | provenance | | +| protobuf.cpp:309:15:309:28 | call to source | protobuf.cpp:311:2:311:4 | msg | provenance | | +| protobuf.cpp:311:2:311:4 | msg | protobuf.cpp:311:21:311:24 | AppendToString output argument | provenance | MaD:283 | +| protobuf.cpp:311:21:311:24 | AppendToString output argument | protobuf.cpp:312:7:312:9 | out | provenance | | +| protobuf.cpp:316:15:316:28 | call to source | protobuf.cpp:316:15:316:28 | call to source | provenance | | +| protobuf.cpp:316:15:316:28 | call to source | protobuf.cpp:318:2:318:4 | msg | provenance | | +| protobuf.cpp:318:2:318:4 | msg | protobuf.cpp:318:28:318:31 | AppendPartialToString output argument | provenance | MaD:281 | +| protobuf.cpp:318:28:318:31 | AppendPartialToString output argument | protobuf.cpp:319:7:319:9 | out | provenance | | +| protobuf.cpp:323:15:323:28 | call to source | protobuf.cpp:323:15:323:28 | call to source | provenance | | +| protobuf.cpp:323:15:323:28 | call to source | protobuf.cpp:325:2:325:4 | msg | provenance | | +| protobuf.cpp:325:2:325:4 | msg | protobuf.cpp:325:24:325:27 | SerializeToString output argument | provenance | MaD:324 | +| protobuf.cpp:325:24:325:27 | SerializeToString output argument | protobuf.cpp:326:7:326:9 | out | provenance | | +| protobuf.cpp:330:15:330:28 | call to source | protobuf.cpp:330:15:330:28 | call to source | provenance | | +| protobuf.cpp:330:15:330:28 | call to source | protobuf.cpp:332:2:332:4 | msg | provenance | | +| protobuf.cpp:332:2:332:4 | msg | protobuf.cpp:332:31:332:34 | SerializePartialToString output argument | provenance | MaD:318 | +| protobuf.cpp:332:31:332:34 | SerializePartialToString output argument | protobuf.cpp:333:7:333:9 | out | provenance | | +| protobuf.cpp:337:15:337:28 | call to source | protobuf.cpp:337:15:337:28 | call to source | provenance | | +| protobuf.cpp:337:15:337:28 | call to source | protobuf.cpp:339:2:339:4 | msg | provenance | | +| protobuf.cpp:339:2:339:4 | msg | protobuf.cpp:339:21:339:24 | AppendToString output argument | provenance | MaD:283 | +| protobuf.cpp:339:21:339:24 | AppendToString output argument | protobuf.cpp:340:7:340:9 | out | provenance | | +| protobuf.cpp:344:15:344:28 | call to source | protobuf.cpp:344:15:344:28 | call to source | provenance | | +| protobuf.cpp:344:15:344:28 | call to source | protobuf.cpp:346:2:346:4 | msg | provenance | | +| protobuf.cpp:346:2:346:4 | msg | protobuf.cpp:346:28:346:31 | AppendPartialToString output argument | provenance | MaD:281 | +| protobuf.cpp:346:28:346:31 | AppendPartialToString output argument | protobuf.cpp:347:7:347:9 | out | provenance | | +| protobuf.cpp:351:15:351:28 | call to source | protobuf.cpp:351:15:351:28 | call to source | provenance | | +| protobuf.cpp:351:15:351:28 | call to source | protobuf.cpp:353:2:353:4 | msg | provenance | | +| protobuf.cpp:353:2:353:4 | msg | protobuf.cpp:353:23:353:25 | SerializeToArray output argument | provenance | MaD:320 | +| protobuf.cpp:353:23:353:25 | SerializeToArray output argument | protobuf.cpp:354:7:354:10 | * ... | provenance | | +| protobuf.cpp:358:15:358:28 | call to source | protobuf.cpp:358:15:358:28 | call to source | provenance | | +| protobuf.cpp:358:15:358:28 | call to source | protobuf.cpp:360:2:360:4 | msg | provenance | | +| protobuf.cpp:360:2:360:4 | msg | protobuf.cpp:360:30:360:32 | SerializePartialToArray output argument | provenance | MaD:314 | +| protobuf.cpp:360:30:360:32 | SerializePartialToArray output argument | protobuf.cpp:361:7:361:10 | * ... | provenance | | +| protobuf.cpp:365:15:365:28 | call to source | protobuf.cpp:365:15:365:28 | call to source | provenance | | +| protobuf.cpp:365:15:365:28 | call to source | protobuf.cpp:367:2:367:4 | msg | provenance | | +| protobuf.cpp:367:2:367:4 | msg | protobuf.cpp:367:22:367:25 | SerializeToCord output argument | provenance | MaD:322 | +| protobuf.cpp:367:22:367:25 | SerializeToCord output argument | protobuf.cpp:368:7:368:9 | out | provenance | | +| protobuf.cpp:372:15:372:28 | call to source | protobuf.cpp:372:15:372:28 | call to source | provenance | | +| protobuf.cpp:372:15:372:28 | call to source | protobuf.cpp:374:2:374:4 | msg | provenance | | +| protobuf.cpp:374:2:374:4 | msg | protobuf.cpp:374:29:374:32 | SerializePartialToCord output argument | provenance | MaD:316 | +| protobuf.cpp:374:29:374:32 | SerializePartialToCord output argument | protobuf.cpp:375:7:375:9 | out | provenance | | +| protobuf.cpp:379:15:379:28 | call to source | protobuf.cpp:379:15:379:28 | call to source | provenance | | +| protobuf.cpp:379:15:379:28 | call to source | protobuf.cpp:381:2:381:4 | msg | provenance | | +| protobuf.cpp:381:2:381:4 | msg | protobuf.cpp:381:19:381:22 | AppendToCord output argument | provenance | MaD:282 | +| protobuf.cpp:381:19:381:22 | AppendToCord output argument | protobuf.cpp:382:7:382:9 | out | provenance | | +| protobuf.cpp:386:15:386:28 | call to source | protobuf.cpp:386:15:386:28 | call to source | provenance | | +| protobuf.cpp:386:15:386:28 | call to source | protobuf.cpp:388:2:388:4 | msg | provenance | | +| protobuf.cpp:388:2:388:4 | msg | protobuf.cpp:388:26:388:29 | AppendPartialToCord output argument | provenance | MaD:280 | +| protobuf.cpp:388:26:388:29 | AppendPartialToCord output argument | protobuf.cpp:389:7:389:9 | out | provenance | | +| protobuf.cpp:393:15:393:28 | call to source | protobuf.cpp:393:15:393:28 | call to source | provenance | | +| protobuf.cpp:393:15:393:28 | call to source | protobuf.cpp:395:2:395:4 | msg | provenance | | +| protobuf.cpp:395:2:395:4 | msg | protobuf.cpp:395:25:395:28 | SerializeToOstream output argument | provenance | MaD:323 | +| protobuf.cpp:395:25:395:28 | SerializeToOstream output argument | protobuf.cpp:396:7:396:9 | out | provenance | | +| protobuf.cpp:400:15:400:28 | call to source | protobuf.cpp:400:15:400:28 | call to source | provenance | | +| protobuf.cpp:400:15:400:28 | call to source | protobuf.cpp:402:2:402:4 | msg | provenance | | +| protobuf.cpp:402:2:402:4 | msg | protobuf.cpp:402:32:402:35 | SerializePartialToOstream output argument | provenance | MaD:317 | +| protobuf.cpp:402:32:402:35 | SerializePartialToOstream output argument | protobuf.cpp:403:7:403:9 | out | provenance | | +| protobuf.cpp:407:15:407:28 | call to source | protobuf.cpp:407:15:407:28 | call to source | provenance | | +| protobuf.cpp:407:15:407:28 | call to source | protobuf.cpp:409:2:409:4 | msg | provenance | | +| protobuf.cpp:409:2:409:4 | msg | protobuf.cpp:409:32:409:35 | SerializeToZeroCopyStream output argument | provenance | MaD:325 | +| protobuf.cpp:409:32:409:35 | SerializeToZeroCopyStream output argument | protobuf.cpp:410:7:410:9 | out | provenance | | +| protobuf.cpp:414:15:414:28 | call to source | protobuf.cpp:414:15:414:28 | call to source | provenance | | +| protobuf.cpp:414:15:414:28 | call to source | protobuf.cpp:416:2:416:4 | msg | provenance | | +| protobuf.cpp:416:2:416:4 | msg | protobuf.cpp:416:39:416:42 | SerializePartialToZeroCopyStream output argument | provenance | MaD:319 | +| protobuf.cpp:416:39:416:42 | SerializePartialToZeroCopyStream output argument | protobuf.cpp:417:7:417:9 | out | provenance | | +| protobuf.cpp:421:15:421:28 | call to source | protobuf.cpp:421:15:421:28 | call to source | provenance | | +| protobuf.cpp:421:15:421:28 | call to source | protobuf.cpp:423:2:423:4 | msg | provenance | | +| protobuf.cpp:423:2:423:4 | msg | protobuf.cpp:423:29:423:32 | SerializeToCodedStream output argument | provenance | MaD:321 | +| protobuf.cpp:423:29:423:32 | SerializeToCodedStream output argument | protobuf.cpp:424:7:424:9 | out | provenance | | +| protobuf.cpp:428:15:428:28 | call to source | protobuf.cpp:428:15:428:28 | call to source | provenance | | +| protobuf.cpp:428:15:428:28 | call to source | protobuf.cpp:430:2:430:4 | msg | provenance | | +| protobuf.cpp:430:2:430:4 | msg | protobuf.cpp:430:36:430:39 | SerializePartialToCodedStream output argument | provenance | MaD:315 | +| protobuf.cpp:430:36:430:39 | SerializePartialToCodedStream output argument | protobuf.cpp:431:7:431:9 | out | provenance | | +| protobuf.cpp:437:15:437:28 | call to source | protobuf.cpp:437:15:437:28 | call to source | provenance | | +| protobuf.cpp:437:15:437:28 | call to source | protobuf.cpp:438:7:438:9 | msg | provenance | | +| protobuf.cpp:438:7:438:9 | msg | protobuf.cpp:438:11:438:27 | call to SerializeAsString | provenance | MaD:311 | +| protobuf.cpp:442:15:442:28 | call to source | protobuf.cpp:442:15:442:28 | call to source | provenance | | +| protobuf.cpp:442:15:442:28 | call to source | protobuf.cpp:443:7:443:9 | msg | provenance | | +| protobuf.cpp:443:7:443:9 | msg | protobuf.cpp:443:11:443:34 | call to SerializePartialAsString | provenance | MaD:313 | +| protobuf.cpp:447:15:447:28 | call to source | protobuf.cpp:447:15:447:28 | call to source | provenance | | +| protobuf.cpp:447:15:447:28 | call to source | protobuf.cpp:448:7:448:9 | msg | provenance | | +| protobuf.cpp:448:7:448:9 | msg | protobuf.cpp:448:11:448:25 | call to SerializeAsCord | provenance | MaD:310 | +| protobuf.cpp:452:15:452:28 | call to source | protobuf.cpp:452:15:452:28 | call to source | provenance | | +| protobuf.cpp:452:15:452:28 | call to source | protobuf.cpp:453:7:453:9 | msg | provenance | | +| protobuf.cpp:453:7:453:9 | msg | protobuf.cpp:453:11:453:32 | call to SerializePartialAsCord | provenance | MaD:312 | | test.cpp:7:47:7:52 | value2 | test.cpp:7:64:7:69 | value2 | provenance | | | test.cpp:7:64:7:69 | value2 | test.cpp:7:5:7:30 | *ymlStepGenerated_with_body | provenance | | | test.cpp:10:10:10:18 | call to ymlSource | test.cpp:10:10:10:18 | call to ymlSource | provenance | Src:MaD:48 | @@ -1300,10 +1912,10 @@ edges | test.cpp:217:11:217:12 | *rf [value] | test.cpp:217:14:217:18 | value | provenance | | | test.cpp:217:14:217:18 | value | test.cpp:217:14:217:18 | value | provenance | | | test.cpp:217:14:217:18 | value | test.cpp:218:11:218:11 | x | provenance | Sink:MaD:3 | -| test.cpp:222:3:222:3 | operator[] output argument | test.cpp:223:12:223:12 | *s | provenance | | +| test.cpp:222:3:222:3 | operator[] output argument | test.cpp:223:12:223:12 | s | provenance | | | test.cpp:222:3:222:20 | ... = ... | test.cpp:222:3:222:3 | operator[] output argument | provenance | MaD:90 | | test.cpp:222:10:222:18 | call to ymlSource | test.cpp:222:3:222:20 | ... = ... | provenance | Src:MaD:48 | -| test.cpp:223:12:223:12 | *s | test.cpp:223:13:223:15 | call to operator[] | provenance | MaD:89 | +| test.cpp:223:12:223:12 | s | test.cpp:223:13:223:15 | call to operator[] | provenance | MaD:89 | | test.cpp:223:13:223:15 | call to operator[] | test.cpp:223:13:223:15 | call to operator[] | provenance | | | test.cpp:223:13:223:15 | call to operator[] | test.cpp:224:11:224:11 | c | provenance | Sink:MaD:3 | | test.cpp:242:29:242:29 | *s [value] | test.cpp:243:10:243:10 | *s [value] | provenance | | @@ -1386,14 +1998,14 @@ edges | test.cpp:346:5:346:18 | ... = ... | test.cpp:346:5:346:8 | *this [post update] [ul] | provenance | | | test.cpp:362:15:362:23 | call to ymlSource | test.cpp:362:15:362:25 | call to ymlSource | provenance | Src:MaD:48 | | test.cpp:362:15:362:25 | call to ymlSource | test.cpp:363:15:363:15 | *x | provenance | | -| test.cpp:363:5:363:5 | forward output argument [s] | test.cpp:365:30:365:30 | *f [s] | provenance | | -| test.cpp:363:5:363:5 | forward output argument [ul] | test.cpp:365:30:365:30 | *f [ul] | provenance | | +| test.cpp:363:5:363:5 | forward output argument [s] | test.cpp:365:30:365:30 | f [s] | provenance | | +| test.cpp:363:5:363:5 | forward output argument [ul] | test.cpp:365:30:365:30 | f [ul] | provenance | | | test.cpp:363:15:363:15 | *x | test.cpp:341:30:341:32 | arg | provenance | | | test.cpp:363:15:363:15 | *x | test.cpp:345:38:345:40 | arg | provenance | | | test.cpp:363:15:363:15 | *x | test.cpp:363:5:363:5 | forward output argument [s] | provenance | | | test.cpp:363:15:363:15 | *x | test.cpp:363:5:363:5 | forward output argument [ul] | provenance | | -| test.cpp:365:30:365:30 | *f [s] | test.cpp:365:32:365:34 | call to get [s] | provenance | MaD:88 | -| test.cpp:365:30:365:30 | *f [ul] | test.cpp:365:32:365:34 | call to get [ul] | provenance | MaD:88 | +| test.cpp:365:30:365:30 | f [s] | test.cpp:365:32:365:34 | call to get [s] | provenance | MaD:88 | +| test.cpp:365:30:365:30 | f [ul] | test.cpp:365:32:365:34 | call to get [ul] | provenance | MaD:88 | | test.cpp:365:32:365:34 | call to get [s] | test.cpp:365:32:365:34 | call to get [s] | provenance | | | test.cpp:365:32:365:34 | call to get [s] | test.cpp:366:13:366:13 | *c [s] | provenance | | | test.cpp:365:32:365:34 | call to get [ul] | test.cpp:365:32:365:34 | call to get [ul] | provenance | | @@ -1406,14 +2018,14 @@ edges | test.cpp:367:13:367:16 | ul | test.cpp:367:15:367:16 | ul | provenance | Sink:MaD:3 | | test.cpp:371:24:371:32 | call to ymlSource | test.cpp:371:24:371:34 | call to ymlSource | provenance | Src:MaD:48 | | test.cpp:371:24:371:34 | call to ymlSource | test.cpp:372:15:372:16 | *ul | provenance | | -| test.cpp:372:5:372:5 | forward output argument [s] | test.cpp:374:30:374:30 | *f [s] | provenance | | -| test.cpp:372:5:372:5 | forward output argument [ul] | test.cpp:374:30:374:30 | *f [ul] | provenance | | +| test.cpp:372:5:372:5 | forward output argument [s] | test.cpp:374:30:374:30 | f [s] | provenance | | +| test.cpp:372:5:372:5 | forward output argument [ul] | test.cpp:374:30:374:30 | f [ul] | provenance | | | test.cpp:372:15:372:16 | *ul | test.cpp:341:30:341:32 | arg | provenance | | | test.cpp:372:15:372:16 | *ul | test.cpp:345:38:345:40 | arg | provenance | | | test.cpp:372:15:372:16 | *ul | test.cpp:372:5:372:5 | forward output argument [s] | provenance | | | test.cpp:372:15:372:16 | *ul | test.cpp:372:5:372:5 | forward output argument [ul] | provenance | | -| test.cpp:374:30:374:30 | *f [s] | test.cpp:374:32:374:34 | call to get [s] | provenance | MaD:88 | -| test.cpp:374:30:374:30 | *f [ul] | test.cpp:374:32:374:34 | call to get [ul] | provenance | MaD:88 | +| test.cpp:374:30:374:30 | f [s] | test.cpp:374:32:374:34 | call to get [s] | provenance | MaD:88 | +| test.cpp:374:30:374:30 | f [ul] | test.cpp:374:32:374:34 | call to get [ul] | provenance | MaD:88 | | test.cpp:374:32:374:34 | call to get [s] | test.cpp:374:32:374:34 | call to get [s] | provenance | | | test.cpp:374:32:374:34 | call to get [s] | test.cpp:375:13:375:13 | *c [s] | provenance | | | test.cpp:374:32:374:34 | call to get [ul] | test.cpp:374:32:374:34 | call to get [ul] | provenance | | @@ -1424,72 +2036,83 @@ edges | test.cpp:376:13:376:13 | *c [ul] | test.cpp:376:13:376:16 | ul | provenance | | | test.cpp:376:13:376:13 | *c [ul] | test.cpp:376:15:376:16 | ul | provenance | Sink:MaD:3 | | test.cpp:376:13:376:16 | ul | test.cpp:376:15:376:16 | ul | provenance | Sink:MaD:3 | -| test.cpp:397:11:397:19 | call to ymlSource | test.cpp:397:11:397:19 | call to ymlSource | provenance | Src:MaD:48 | -| test.cpp:397:11:397:19 | call to ymlSource | test.cpp:398:38:398:38 | x | provenance | | -| test.cpp:398:15:398:36 | call to makeForwarded [x] | test.cpp:398:15:398:36 | call to makeForwarded [x] | provenance | | -| test.cpp:398:15:398:36 | call to makeForwarded [x] | test.cpp:399:11:399:11 | *e [x] | provenance | | -| test.cpp:398:38:398:38 | x | test.cpp:398:15:398:36 | call to makeForwarded [x] | provenance | | -| test.cpp:399:11:399:11 | *e [x] | test.cpp:399:13:399:13 | x | provenance | | -| test.cpp:399:13:399:13 | x | test.cpp:399:13:399:13 | x | provenance | Sink:MaD:3 | -| test.cpp:404:11:404:19 | call to ymlSource | test.cpp:404:11:404:19 | call to ymlSource | provenance | Src:MaD:48 | -| test.cpp:404:11:404:19 | call to ymlSource | test.cpp:405:22:405:22 | x | provenance | | -| test.cpp:405:3:405:3 | forwardToElement output argument [x] | test.cpp:406:15:406:15 | *f [x] | provenance | | -| test.cpp:405:22:405:22 | x | test.cpp:405:3:405:3 | forwardToElement output argument [x] | provenance | | -| test.cpp:406:15:406:15 | *f [x] | test.cpp:406:17:406:19 | call to get [x] | provenance | MaD:88 | -| test.cpp:406:17:406:19 | call to get [x] | test.cpp:406:17:406:19 | call to get [x] | provenance | | -| test.cpp:406:17:406:19 | call to get [x] | test.cpp:407:11:407:11 | *e [x] | provenance | | -| test.cpp:407:11:407:11 | *e [x] | test.cpp:407:13:407:13 | x | provenance | | -| test.cpp:407:13:407:13 | x | test.cpp:407:13:407:13 | x | provenance | Sink:MaD:3 | -| test.cpp:412:11:412:19 | call to ymlSource | test.cpp:412:11:412:19 | call to ymlSource | provenance | Src:MaD:48 | -| test.cpp:412:11:412:19 | call to ymlSource | test.cpp:413:16:413:16 | *x | provenance | | -| test.cpp:413:3:413:3 | emplace output argument [element, x] | test.cpp:415:15:415:15 | *c [element, x] | provenance | | -| test.cpp:413:16:413:16 | *x | test.cpp:413:3:413:3 | emplace output argument [element, x] | provenance | | -| test.cpp:415:15:415:15 | *c [element, x] | test.cpp:415:20:415:22 | call to get [x] | provenance | MaD:87 | -| test.cpp:415:20:415:22 | call to get [x] | test.cpp:415:20:415:22 | call to get [x] | provenance | | -| test.cpp:415:20:415:22 | call to get [x] | test.cpp:416:11:416:11 | *e [x] | provenance | | -| test.cpp:416:11:416:11 | *e [x] | test.cpp:416:13:416:13 | x | provenance | | -| test.cpp:416:13:416:13 | x | test.cpp:416:13:416:13 | x | provenance | Sink:MaD:3 | -| test.cpp:426:11:426:19 | call to ymlSource | test.cpp:426:11:426:19 | call to ymlSource | provenance | Src:MaD:48 | -| test.cpp:426:11:426:19 | call to ymlSource | test.cpp:427:16:427:16 | *x | provenance | | -| test.cpp:427:3:427:3 | emplace output argument [element, x] | test.cpp:429:34:429:34 | *c [element, x] | provenance | | -| test.cpp:427:16:427:16 | *x | test.cpp:427:3:427:3 | emplace output argument [element, x] | provenance | | -| test.cpp:429:34:429:34 | *c [element, x] | test.cpp:429:39:429:41 | call to get [x] | provenance | MaD:87 | -| test.cpp:429:39:429:41 | call to get [x] | test.cpp:429:39:429:41 | call to get [x] | provenance | | -| test.cpp:429:39:429:41 | call to get [x] | test.cpp:430:11:430:11 | *e [x] | provenance | | -| test.cpp:430:11:430:11 | *e [x] | test.cpp:430:13:430:13 | x | provenance | | -| test.cpp:430:13:430:13 | x | test.cpp:430:13:430:13 | x | provenance | Sink:MaD:3 | -| test.cpp:435:3:435:28 | *ElementWithOverloadedArity [post update] [x] | test.cpp:435:3:435:28 | *this [Return] [x] | provenance | | -| test.cpp:435:34:435:38 | first | test.cpp:435:45:435:49 | first | provenance | | -| test.cpp:435:45:435:49 | first | test.cpp:435:3:435:28 | *ElementWithOverloadedArity [post update] [x] | provenance | | -| test.cpp:436:3:436:28 | *ElementWithOverloadedArity [post update] [x] | test.cpp:436:3:436:28 | *this [Return] [x] | provenance | | -| test.cpp:436:39:436:44 | second | test.cpp:436:51:436:56 | second | provenance | | -| test.cpp:436:51:436:56 | second | test.cpp:436:3:436:28 | *ElementWithOverloadedArity [post update] [x] | provenance | | -| test.cpp:440:11:440:19 | call to ymlSource | test.cpp:440:11:440:19 | call to ymlSource | provenance | Src:MaD:48 | -| test.cpp:440:11:440:19 | call to ymlSource | test.cpp:443:18:443:18 | *x | provenance | | -| test.cpp:440:11:440:19 | call to ymlSource | test.cpp:453:21:453:21 | *x | provenance | | -| test.cpp:443:5:443:5 | emplace output argument [element, x] | test.cpp:444:13:444:13 | *c [element, x] | provenance | | -| test.cpp:443:18:443:18 | *x | test.cpp:435:34:435:38 | first | provenance | | -| test.cpp:443:18:443:18 | *x | test.cpp:443:5:443:5 | emplace output argument [element, x] | provenance | | -| test.cpp:444:13:444:13 | *c [element, x] | test.cpp:444:18:444:20 | *call to get [x] | provenance | MaD:87 | -| test.cpp:444:18:444:20 | *call to get [x] | test.cpp:444:21:444:21 | x | provenance | | -| test.cpp:444:21:444:21 | x | test.cpp:444:21:444:21 | x | provenance | Sink:MaD:3 | -| test.cpp:453:5:453:5 | emplace output argument [element, x] | test.cpp:454:13:454:13 | *c [element, x] | provenance | | -| test.cpp:453:21:453:21 | *x | test.cpp:436:39:436:44 | second | provenance | | -| test.cpp:453:21:453:21 | *x | test.cpp:453:5:453:5 | emplace output argument [element, x] | provenance | | -| test.cpp:454:13:454:13 | *c [element, x] | test.cpp:454:18:454:20 | *call to get [x] | provenance | MaD:87 | -| test.cpp:454:18:454:20 | *call to get [x] | test.cpp:454:21:454:21 | x | provenance | | -| test.cpp:454:21:454:21 | x | test.cpp:454:21:454:21 | x | provenance | Sink:MaD:3 | -| test.cpp:461:5:461:5 | forward output argument | test.cpp:462:13:462:13 | *f | provenance | | -| test.cpp:461:15:461:23 | call to ymlSource | test.cpp:461:15:461:23 | call to ymlSource | provenance | Src:MaD:48 | -| test.cpp:461:15:461:23 | call to ymlSource | test.cpp:461:15:461:25 | call to ymlSource | provenance | | -| test.cpp:461:15:461:25 | call to ymlSource | test.cpp:461:5:461:5 | forward output argument | provenance | | -| test.cpp:462:13:462:13 | *f | test.cpp:462:15:462:17 | call to get | provenance | MaD:88 | -| test.cpp:462:15:462:17 | call to get | test.cpp:462:15:462:17 | call to get | provenance | Sink:MaD:3 | -| test.cpp:466:5:466:5 | forward output argument | test.cpp:467:14:467:14 | *f | provenance | | -| test.cpp:466:15:466:26 | *call to ymlSourcePtr | test.cpp:466:15:466:28 | **call to ymlSourcePtr | provenance | | -| test.cpp:466:15:466:26 | call to ymlSourcePtr | test.cpp:466:15:466:26 | *call to ymlSourcePtr | provenance | Src:MaD:49 | -| test.cpp:466:15:466:28 | **call to ymlSourcePtr | test.cpp:466:5:466:5 | forward output argument | provenance | | -| test.cpp:467:14:467:14 | *f | test.cpp:467:13:467:20 | * ... | provenance | MaD:88 Sink:MaD:3 | +| test.cpp:398:11:398:19 | call to ymlSource | test.cpp:398:11:398:19 | call to ymlSource | provenance | Src:MaD:48 | +| test.cpp:398:11:398:19 | call to ymlSource | test.cpp:399:38:399:38 | x | provenance | | +| test.cpp:399:15:399:36 | call to makeForwarded [x] | test.cpp:399:15:399:36 | call to makeForwarded [x] | provenance | | +| test.cpp:399:15:399:36 | call to makeForwarded [x] | test.cpp:400:11:400:11 | *e [x] | provenance | | +| test.cpp:399:38:399:38 | x | test.cpp:399:15:399:36 | call to makeForwarded [x] | provenance | | +| test.cpp:400:11:400:11 | *e [x] | test.cpp:400:13:400:13 | x | provenance | | +| test.cpp:400:13:400:13 | x | test.cpp:400:13:400:13 | x | provenance | Sink:MaD:3 | +| test.cpp:405:11:405:19 | call to ymlSource | test.cpp:405:11:405:19 | call to ymlSource | provenance | Src:MaD:48 | +| test.cpp:405:11:405:19 | call to ymlSource | test.cpp:406:22:406:22 | x | provenance | | +| test.cpp:406:3:406:3 | forwardToElement output argument [x] | test.cpp:407:15:407:15 | f [x] | provenance | | +| test.cpp:406:22:406:22 | x | test.cpp:406:3:406:3 | forwardToElement output argument [x] | provenance | | +| test.cpp:407:15:407:15 | f [x] | test.cpp:407:17:407:19 | call to get [x] | provenance | MaD:88 | +| test.cpp:407:17:407:19 | call to get [x] | test.cpp:407:17:407:19 | call to get [x] | provenance | | +| test.cpp:407:17:407:19 | call to get [x] | test.cpp:408:11:408:11 | *e [x] | provenance | | +| test.cpp:408:11:408:11 | *e [x] | test.cpp:408:13:408:13 | x | provenance | | +| test.cpp:408:13:408:13 | x | test.cpp:408:13:408:13 | x | provenance | Sink:MaD:3 | +| test.cpp:413:11:413:19 | call to ymlSource | test.cpp:413:11:413:19 | call to ymlSource | provenance | Src:MaD:48 | +| test.cpp:413:11:413:19 | call to ymlSource | test.cpp:414:16:414:16 | *x | provenance | | +| test.cpp:414:3:414:3 | emplace output argument [element, x] | test.cpp:416:15:416:15 | c [element, x] | provenance | | +| test.cpp:414:16:414:16 | *x | test.cpp:414:3:414:3 | emplace output argument [element, x] | provenance | | +| test.cpp:416:15:416:15 | c [element, x] | test.cpp:416:20:416:22 | call to get [x] | provenance | MaD:87 | +| test.cpp:416:20:416:22 | call to get [x] | test.cpp:416:20:416:22 | call to get [x] | provenance | | +| test.cpp:416:20:416:22 | call to get [x] | test.cpp:417:11:417:11 | *e [x] | provenance | | +| test.cpp:417:11:417:11 | *e [x] | test.cpp:417:13:417:13 | x | provenance | | +| test.cpp:417:13:417:13 | x | test.cpp:417:13:417:13 | x | provenance | Sink:MaD:3 | +| test.cpp:422:3:422:8 | emplace output argument [element] | test.cpp:423:11:423:16 | scalar [element] | provenance | | +| test.cpp:422:21:422:29 | call to ymlSource | test.cpp:422:21:422:29 | call to ymlSource | provenance | Src:MaD:48 | +| test.cpp:422:21:422:29 | call to ymlSource | test.cpp:422:21:422:31 | call to ymlSource | provenance | | +| test.cpp:422:21:422:31 | call to ymlSource | test.cpp:422:3:422:8 | emplace output argument [element] | provenance | | +| test.cpp:423:11:423:16 | scalar [element] | test.cpp:423:21:423:23 | call to get | provenance | MaD:87 | +| test.cpp:423:21:423:23 | call to get | test.cpp:423:18:423:20 | call to get | provenance | Sink:MaD:3 | +| test.cpp:426:3:426:9 | emplace output argument [element] | test.cpp:427:12:427:18 | pointer [element] | provenance | | +| test.cpp:426:22:426:33 | *call to ymlSourcePtr | test.cpp:426:22:426:35 | **call to ymlSourcePtr | provenance | | +| test.cpp:426:22:426:33 | call to ymlSourcePtr | test.cpp:426:22:426:33 | *call to ymlSourcePtr | provenance | Src:MaD:49 | +| test.cpp:426:22:426:35 | **call to ymlSourcePtr | test.cpp:426:3:426:9 | emplace output argument [element] | provenance | | +| test.cpp:427:12:427:18 | pointer [element] | test.cpp:427:11:427:24 | * ... | provenance | MaD:87 Sink:MaD:3 | +| test.cpp:437:11:437:19 | call to ymlSource | test.cpp:437:11:437:19 | call to ymlSource | provenance | Src:MaD:48 | +| test.cpp:437:11:437:19 | call to ymlSource | test.cpp:438:16:438:16 | *x | provenance | | +| test.cpp:438:3:438:3 | emplace output argument [element, x] | test.cpp:440:34:440:34 | c [element, x] | provenance | | +| test.cpp:438:16:438:16 | *x | test.cpp:438:3:438:3 | emplace output argument [element, x] | provenance | | +| test.cpp:440:34:440:34 | c [element, x] | test.cpp:440:39:440:41 | call to get [x] | provenance | MaD:87 | +| test.cpp:440:39:440:41 | call to get [x] | test.cpp:440:39:440:41 | call to get [x] | provenance | | +| test.cpp:440:39:440:41 | call to get [x] | test.cpp:441:11:441:11 | *e [x] | provenance | | +| test.cpp:441:11:441:11 | *e [x] | test.cpp:441:13:441:13 | x | provenance | | +| test.cpp:441:13:441:13 | x | test.cpp:441:13:441:13 | x | provenance | Sink:MaD:3 | +| test.cpp:446:3:446:28 | *ElementWithOverloadedArity [post update] [x] | test.cpp:446:3:446:28 | *this [Return] [x] | provenance | | +| test.cpp:446:34:446:38 | first | test.cpp:446:45:446:49 | first | provenance | | +| test.cpp:446:45:446:49 | first | test.cpp:446:3:446:28 | *ElementWithOverloadedArity [post update] [x] | provenance | | +| test.cpp:447:3:447:28 | *ElementWithOverloadedArity [post update] [x] | test.cpp:447:3:447:28 | *this [Return] [x] | provenance | | +| test.cpp:447:39:447:44 | second | test.cpp:447:51:447:56 | second | provenance | | +| test.cpp:447:51:447:56 | second | test.cpp:447:3:447:28 | *ElementWithOverloadedArity [post update] [x] | provenance | | +| test.cpp:451:11:451:19 | call to ymlSource | test.cpp:451:11:451:19 | call to ymlSource | provenance | Src:MaD:48 | +| test.cpp:451:11:451:19 | call to ymlSource | test.cpp:454:18:454:18 | *x | provenance | | +| test.cpp:451:11:451:19 | call to ymlSource | test.cpp:464:21:464:21 | *x | provenance | | +| test.cpp:454:5:454:5 | emplace output argument [element, x] | test.cpp:455:13:455:13 | c [element, x] | provenance | | +| test.cpp:454:18:454:18 | *x | test.cpp:446:34:446:38 | first | provenance | | +| test.cpp:454:18:454:18 | *x | test.cpp:454:5:454:5 | emplace output argument [element, x] | provenance | | +| test.cpp:455:13:455:13 | c [element, x] | test.cpp:455:18:455:20 | *call to get [x] | provenance | MaD:87 | +| test.cpp:455:18:455:20 | *call to get [x] | test.cpp:455:21:455:21 | x | provenance | | +| test.cpp:455:21:455:21 | x | test.cpp:455:21:455:21 | x | provenance | Sink:MaD:3 | +| test.cpp:464:5:464:5 | emplace output argument [element, x] | test.cpp:465:13:465:13 | c [element, x] | provenance | | +| test.cpp:464:21:464:21 | *x | test.cpp:447:39:447:44 | second | provenance | | +| test.cpp:464:21:464:21 | *x | test.cpp:464:5:464:5 | emplace output argument [element, x] | provenance | | +| test.cpp:465:13:465:13 | c [element, x] | test.cpp:465:18:465:20 | *call to get [x] | provenance | MaD:87 | +| test.cpp:465:18:465:20 | *call to get [x] | test.cpp:465:21:465:21 | x | provenance | | +| test.cpp:465:21:465:21 | x | test.cpp:465:21:465:21 | x | provenance | Sink:MaD:3 | +| test.cpp:472:5:472:5 | forward output argument | test.cpp:473:13:473:13 | f | provenance | | +| test.cpp:472:15:472:23 | call to ymlSource | test.cpp:472:15:472:23 | call to ymlSource | provenance | Src:MaD:48 | +| test.cpp:472:15:472:23 | call to ymlSource | test.cpp:472:15:472:25 | call to ymlSource | provenance | | +| test.cpp:472:15:472:25 | call to ymlSource | test.cpp:472:5:472:5 | forward output argument | provenance | | +| test.cpp:473:13:473:13 | f | test.cpp:473:15:473:17 | call to get | provenance | MaD:88 | +| test.cpp:473:15:473:17 | call to get | test.cpp:473:15:473:17 | call to get | provenance | Sink:MaD:3 | +| test.cpp:477:5:477:5 | forward output argument | test.cpp:478:14:478:14 | f | provenance | | +| test.cpp:477:15:477:26 | *call to ymlSourcePtr | test.cpp:477:15:477:28 | **call to ymlSourcePtr | provenance | | +| test.cpp:477:15:477:26 | call to ymlSourcePtr | test.cpp:477:15:477:26 | *call to ymlSourcePtr | provenance | Src:MaD:49 | +| test.cpp:477:15:477:28 | **call to ymlSourcePtr | test.cpp:477:5:477:5 | forward output argument | provenance | | +| test.cpp:478:14:478:14 | f | test.cpp:478:13:478:20 | * ... | provenance | MaD:88 Sink:MaD:3 | | windows.cpp:22:15:22:29 | *call to GetCommandLineA | windows.cpp:24:8:24:11 | * ... | provenance | | | windows.cpp:22:15:22:29 | *call to GetCommandLineA | windows.cpp:27:36:27:38 | *cmd | provenance | | | windows.cpp:22:15:22:29 | call to GetCommandLineA | windows.cpp:22:15:22:29 | *call to GetCommandLineA | provenance | Src:MaD:5 | @@ -1665,143 +2288,195 @@ edges | windows.cpp:1172:21:1172:24 | *guid | windows.cpp:1172:27:1172:29 | StringFromGUID2 output argument | provenance | MaD:76 | | windows.cpp:1172:27:1172:29 | StringFromGUID2 output argument | windows.cpp:1174:10:1174:13 | * ... | provenance | | nodes -| asio_streams.cpp:116:34:116:44 | read_until output argument | semmle.label | read_until output argument | -| asio_streams.cpp:120:7:120:17 | recv_buffer | semmle.label | recv_buffer | -| asio_streams.cpp:122:29:122:39 | recv_buffer | semmle.label | recv_buffer | -| asio_streams.cpp:126:37:126:44 | call to source | semmle.label | call to source | -| asio_streams.cpp:127:7:127:14 | send_str | semmle.label | send_str | -| asio_streams.cpp:129:44:129:62 | call to buffer | semmle.label | call to buffer | -| asio_streams.cpp:129:44:129:62 | call to buffer | semmle.label | call to buffer | -| asio_streams.cpp:129:64:129:71 | *send_str | semmle.label | *send_str | -| asio_streams.cpp:130:7:130:17 | send_buffer | semmle.label | send_buffer | -| asio_streams.cpp:132:29:132:39 | send_buffer | semmle.label | send_buffer | -| asio_streams.cpp:143:19:143:26 | call to source | semmle.label | call to source | -| asio_streams.cpp:145:29:145:36 | call to source | semmle.label | call to source | +| asio_streams.cpp:109:34:109:44 | read_until output argument | semmle.label | read_until output argument | +| asio_streams.cpp:113:7:113:17 | recv_buffer | semmle.label | recv_buffer | +| asio_streams.cpp:115:29:115:39 | recv_buffer | semmle.label | recv_buffer | +| asio_streams.cpp:119:37:119:44 | call to source | semmle.label | call to source | +| asio_streams.cpp:120:7:120:14 | send_str | semmle.label | send_str | +| asio_streams.cpp:122:44:122:62 | call to buffer | semmle.label | call to buffer | +| asio_streams.cpp:122:44:122:62 | call to buffer | semmle.label | call to buffer | +| asio_streams.cpp:122:64:122:71 | *send_str | semmle.label | *send_str | +| asio_streams.cpp:123:7:123:17 | send_buffer | semmle.label | send_buffer | +| asio_streams.cpp:125:29:125:39 | send_buffer | semmle.label | send_buffer | +| asio_streams.cpp:136:19:136:26 | call to source | semmle.label | call to source | +| asio_streams.cpp:138:19:138:27 | call to basic_string_view | semmle.label | call to basic_string_view | +| asio_streams.cpp:138:29:138:36 | call to source | semmle.label | call to source | +| asio_streams.cpp:141:16:141:22 | call to resolve | semmle.label | call to resolve | +| asio_streams.cpp:141:24:141:27 | *host | semmle.label | *host | +| asio_streams.cpp:142:16:142:22 | call to resolve | semmle.label | call to resolve | +| asio_streams.cpp:142:24:142:27 | *host | semmle.label | *host | +| asio_streams.cpp:143:16:143:22 | call to resolve | semmle.label | call to resolve | +| asio_streams.cpp:143:24:143:27 | *host | semmle.label | *host | +| asio_streams.cpp:144:16:144:22 | call to resolve | semmle.label | call to resolve | +| asio_streams.cpp:144:24:144:27 | *host | semmle.label | *host | +| asio_streams.cpp:146:16:146:22 | call to resolve | semmle.label | call to resolve | +| asio_streams.cpp:146:24:146:32 | *host_view | semmle.label | *host_view | +| asio_streams.cpp:146:24:146:32 | call to basic_string_view | semmle.label | call to basic_string_view | +| asio_streams.cpp:146:24:146:32 | call to basic_string_view | semmle.label | call to basic_string_view | +| asio_streams.cpp:147:16:147:22 | call to resolve | semmle.label | call to resolve | +| asio_streams.cpp:147:24:147:32 | *host_view | semmle.label | *host_view | +| asio_streams.cpp:147:24:147:32 | call to basic_string_view | semmle.label | call to basic_string_view | +| asio_streams.cpp:147:24:147:32 | call to basic_string_view | semmle.label | call to basic_string_view | | asio_streams.cpp:148:16:148:22 | call to resolve | semmle.label | call to resolve | -| asio_streams.cpp:148:24:148:27 | *host | semmle.label | *host | +| asio_streams.cpp:148:24:148:32 | *host_view | semmle.label | *host_view | +| asio_streams.cpp:148:24:148:32 | call to basic_string_view | semmle.label | call to basic_string_view | +| asio_streams.cpp:148:24:148:32 | call to basic_string_view | semmle.label | call to basic_string_view | | asio_streams.cpp:149:16:149:22 | call to resolve | semmle.label | call to resolve | -| asio_streams.cpp:149:24:149:27 | *host | semmle.label | *host | -| asio_streams.cpp:150:16:150:22 | call to resolve | semmle.label | call to resolve | -| asio_streams.cpp:150:24:150:27 | *host | semmle.label | *host | +| asio_streams.cpp:149:24:149:32 | *host_view | semmle.label | *host_view | +| asio_streams.cpp:149:24:149:32 | call to basic_string_view | semmle.label | call to basic_string_view | +| asio_streams.cpp:149:24:149:32 | call to basic_string_view | semmle.label | call to basic_string_view | | asio_streams.cpp:151:16:151:22 | call to resolve | semmle.label | call to resolve | -| asio_streams.cpp:151:24:151:27 | *host | semmle.label | *host | +| asio_streams.cpp:151:34:151:37 | *host | semmle.label | *host | +| asio_streams.cpp:152:16:152:22 | call to resolve | semmle.label | call to resolve | +| asio_streams.cpp:152:34:152:37 | *host | semmle.label | *host | | asio_streams.cpp:153:16:153:22 | call to resolve | semmle.label | call to resolve | -| asio_streams.cpp:153:24:153:32 | host_view | semmle.label | host_view | +| asio_streams.cpp:153:34:153:37 | *host | semmle.label | *host | | asio_streams.cpp:154:16:154:22 | call to resolve | semmle.label | call to resolve | -| asio_streams.cpp:154:24:154:32 | host_view | semmle.label | host_view | -| asio_streams.cpp:155:16:155:22 | call to resolve | semmle.label | call to resolve | -| asio_streams.cpp:155:24:155:32 | host_view | semmle.label | host_view | +| asio_streams.cpp:154:34:154:37 | *host | semmle.label | *host | | asio_streams.cpp:156:16:156:22 | call to resolve | semmle.label | call to resolve | -| asio_streams.cpp:156:24:156:32 | host_view | semmle.label | host_view | +| asio_streams.cpp:156:34:156:42 | *host_view | semmle.label | *host_view | +| asio_streams.cpp:156:34:156:42 | call to basic_string_view | semmle.label | call to basic_string_view | +| asio_streams.cpp:156:34:156:42 | call to basic_string_view | semmle.label | call to basic_string_view | +| asio_streams.cpp:157:16:157:22 | call to resolve | semmle.label | call to resolve | +| asio_streams.cpp:157:34:157:42 | *host_view | semmle.label | *host_view | +| asio_streams.cpp:157:34:157:42 | call to basic_string_view | semmle.label | call to basic_string_view | +| asio_streams.cpp:157:34:157:42 | call to basic_string_view | semmle.label | call to basic_string_view | | asio_streams.cpp:158:16:158:22 | call to resolve | semmle.label | call to resolve | -| asio_streams.cpp:158:34:158:37 | *host | semmle.label | *host | +| asio_streams.cpp:158:34:158:42 | *host_view | semmle.label | *host_view | +| asio_streams.cpp:158:34:158:42 | call to basic_string_view | semmle.label | call to basic_string_view | +| asio_streams.cpp:158:34:158:42 | call to basic_string_view | semmle.label | call to basic_string_view | | asio_streams.cpp:159:16:159:22 | call to resolve | semmle.label | call to resolve | -| asio_streams.cpp:159:34:159:37 | *host | semmle.label | *host | -| asio_streams.cpp:160:16:160:22 | call to resolve | semmle.label | call to resolve | -| asio_streams.cpp:160:34:160:37 | *host | semmle.label | *host | -| asio_streams.cpp:161:16:161:22 | call to resolve | semmle.label | call to resolve | -| asio_streams.cpp:161:34:161:37 | *host | semmle.label | *host | -| asio_streams.cpp:163:16:163:22 | call to resolve | semmle.label | call to resolve | -| asio_streams.cpp:163:34:163:42 | host_view | semmle.label | host_view | -| asio_streams.cpp:164:16:164:22 | call to resolve | semmle.label | call to resolve | -| asio_streams.cpp:164:34:164:42 | host_view | semmle.label | host_view | -| asio_streams.cpp:165:16:165:22 | call to resolve | semmle.label | call to resolve | -| asio_streams.cpp:165:34:165:42 | host_view | semmle.label | host_view | -| asio_streams.cpp:166:16:166:22 | call to resolve | semmle.label | call to resolve | -| asio_streams.cpp:166:34:166:42 | host_view | semmle.label | host_view | -| asio_streams.cpp:175:22:175:29 | call to source | semmle.label | call to source | -| asio_streams.cpp:177:32:177:39 | call to source | semmle.label | call to source | +| asio_streams.cpp:159:34:159:42 | *host_view | semmle.label | *host_view | +| asio_streams.cpp:159:34:159:42 | call to basic_string_view | semmle.label | call to basic_string_view | +| asio_streams.cpp:159:34:159:42 | call to basic_string_view | semmle.label | call to basic_string_view | +| asio_streams.cpp:168:22:168:29 | call to source | semmle.label | call to source | +| asio_streams.cpp:170:19:170:30 | call to basic_string_view | semmle.label | call to basic_string_view | +| asio_streams.cpp:170:32:170:39 | call to source | semmle.label | call to source | +| asio_streams.cpp:172:16:172:22 | call to resolve | semmle.label | call to resolve | +| asio_streams.cpp:172:30:172:36 | *service | semmle.label | *service | +| asio_streams.cpp:173:16:173:22 | call to resolve | semmle.label | call to resolve | +| asio_streams.cpp:173:30:173:36 | *service | semmle.label | *service | +| asio_streams.cpp:174:16:174:22 | call to resolve | semmle.label | call to resolve | +| asio_streams.cpp:174:30:174:36 | *service | semmle.label | *service | +| asio_streams.cpp:175:16:175:22 | call to resolve | semmle.label | call to resolve | +| asio_streams.cpp:175:30:175:36 | *service | semmle.label | *service | +| asio_streams.cpp:177:16:177:22 | call to resolve | semmle.label | call to resolve | +| asio_streams.cpp:177:35:177:46 | *service_view | semmle.label | *service_view | +| asio_streams.cpp:177:35:177:46 | call to basic_string_view | semmle.label | call to basic_string_view | +| asio_streams.cpp:177:35:177:46 | call to basic_string_view | semmle.label | call to basic_string_view | +| asio_streams.cpp:178:16:178:22 | call to resolve | semmle.label | call to resolve | +| asio_streams.cpp:178:35:178:46 | *service_view | semmle.label | *service_view | +| asio_streams.cpp:178:35:178:46 | call to basic_string_view | semmle.label | call to basic_string_view | +| asio_streams.cpp:178:35:178:46 | call to basic_string_view | semmle.label | call to basic_string_view | | asio_streams.cpp:179:16:179:22 | call to resolve | semmle.label | call to resolve | -| asio_streams.cpp:179:30:179:36 | *service | semmle.label | *service | +| asio_streams.cpp:179:35:179:46 | *service_view | semmle.label | *service_view | +| asio_streams.cpp:179:35:179:46 | call to basic_string_view | semmle.label | call to basic_string_view | +| asio_streams.cpp:179:35:179:46 | call to basic_string_view | semmle.label | call to basic_string_view | | asio_streams.cpp:180:16:180:22 | call to resolve | semmle.label | call to resolve | -| asio_streams.cpp:180:30:180:36 | *service | semmle.label | *service | -| asio_streams.cpp:181:16:181:22 | call to resolve | semmle.label | call to resolve | -| asio_streams.cpp:181:30:181:36 | *service | semmle.label | *service | +| asio_streams.cpp:180:35:180:46 | *service_view | semmle.label | *service_view | +| asio_streams.cpp:180:35:180:46 | call to basic_string_view | semmle.label | call to basic_string_view | +| asio_streams.cpp:180:35:180:46 | call to basic_string_view | semmle.label | call to basic_string_view | | asio_streams.cpp:182:16:182:22 | call to resolve | semmle.label | call to resolve | -| asio_streams.cpp:182:30:182:36 | *service | semmle.label | *service | +| asio_streams.cpp:182:40:182:46 | *service | semmle.label | *service | +| asio_streams.cpp:183:16:183:22 | call to resolve | semmle.label | call to resolve | +| asio_streams.cpp:183:40:183:46 | *service | semmle.label | *service | | asio_streams.cpp:184:16:184:22 | call to resolve | semmle.label | call to resolve | -| asio_streams.cpp:184:35:184:46 | service_view | semmle.label | service_view | +| asio_streams.cpp:184:40:184:46 | *service | semmle.label | *service | | asio_streams.cpp:185:16:185:22 | call to resolve | semmle.label | call to resolve | -| asio_streams.cpp:185:35:185:46 | service_view | semmle.label | service_view | -| asio_streams.cpp:186:16:186:22 | call to resolve | semmle.label | call to resolve | -| asio_streams.cpp:186:35:186:46 | service_view | semmle.label | service_view | +| asio_streams.cpp:185:40:185:46 | *service | semmle.label | *service | | asio_streams.cpp:187:16:187:22 | call to resolve | semmle.label | call to resolve | -| asio_streams.cpp:187:35:187:46 | service_view | semmle.label | service_view | +| asio_streams.cpp:187:45:187:56 | *service_view | semmle.label | *service_view | +| asio_streams.cpp:187:45:187:56 | call to basic_string_view | semmle.label | call to basic_string_view | +| asio_streams.cpp:187:45:187:56 | call to basic_string_view | semmle.label | call to basic_string_view | +| asio_streams.cpp:188:16:188:22 | call to resolve | semmle.label | call to resolve | +| asio_streams.cpp:188:45:188:56 | *service_view | semmle.label | *service_view | +| asio_streams.cpp:188:45:188:56 | call to basic_string_view | semmle.label | call to basic_string_view | +| asio_streams.cpp:188:45:188:56 | call to basic_string_view | semmle.label | call to basic_string_view | | asio_streams.cpp:189:16:189:22 | call to resolve | semmle.label | call to resolve | -| asio_streams.cpp:189:40:189:46 | *service | semmle.label | *service | +| asio_streams.cpp:189:45:189:56 | *service_view | semmle.label | *service_view | +| asio_streams.cpp:189:45:189:56 | call to basic_string_view | semmle.label | call to basic_string_view | +| asio_streams.cpp:189:45:189:56 | call to basic_string_view | semmle.label | call to basic_string_view | | asio_streams.cpp:190:16:190:22 | call to resolve | semmle.label | call to resolve | -| asio_streams.cpp:190:40:190:46 | *service | semmle.label | *service | -| asio_streams.cpp:191:16:191:22 | call to resolve | semmle.label | call to resolve | -| asio_streams.cpp:191:40:191:46 | *service | semmle.label | *service | -| asio_streams.cpp:192:16:192:22 | call to resolve | semmle.label | call to resolve | -| asio_streams.cpp:192:40:192:46 | *service | semmle.label | *service | -| asio_streams.cpp:194:16:194:22 | call to resolve | semmle.label | call to resolve | -| asio_streams.cpp:194:45:194:56 | service_view | semmle.label | service_view | -| asio_streams.cpp:195:16:195:22 | call to resolve | semmle.label | call to resolve | -| asio_streams.cpp:195:45:195:56 | service_view | semmle.label | service_view | -| asio_streams.cpp:196:16:196:22 | call to resolve | semmle.label | call to resolve | -| asio_streams.cpp:196:45:196:56 | service_view | semmle.label | service_view | -| asio_streams.cpp:197:16:197:22 | call to resolve | semmle.label | call to resolve | -| asio_streams.cpp:197:45:197:56 | service_view | semmle.label | service_view | -| azure.cpp:253:48:253:60 | *call to GetBodyStream | semmle.label | *call to GetBodyStream | -| azure.cpp:253:48:253:60 | call to GetBodyStream | semmle.label | call to GetBodyStream | -| azure.cpp:257:5:257:8 | *resp | semmle.label | *resp | -| azure.cpp:257:16:257:21 | Read output argument | semmle.label | Read output argument | -| azure.cpp:258:10:258:16 | * ... | semmle.label | * ... | -| azure.cpp:262:5:262:8 | *resp | semmle.label | *resp | -| azure.cpp:262:23:262:28 | ReadToCount output argument | semmle.label | ReadToCount output argument | -| azure.cpp:263:10:263:16 | * ... | semmle.label | * ... | -| azure.cpp:266:38:266:41 | *resp | semmle.label | *resp | -| azure.cpp:266:44:266:52 | call to ReadToEnd [element] | semmle.label | call to ReadToEnd [element] | -| azure.cpp:266:44:266:52 | call to ReadToEnd [element] | semmle.label | call to ReadToEnd [element] | -| azure.cpp:267:10:267:12 | vec | semmle.label | vec | -| azure.cpp:267:10:267:12 | vec [element] | semmle.label | vec [element] | -| azure.cpp:273:52:273:61 | call to GetHeaders | semmle.label | call to GetHeaders | -| azure.cpp:273:62:273:64 | call to GetHeaders | semmle.label | call to GetHeaders | -| azure.cpp:274:10:274:29 | call to operator[] | semmle.label | call to operator[] | -| azure.cpp:274:14:274:29 | call to operator[] | semmle.label | call to operator[] | -| azure.cpp:274:14:274:29 | call to operator[] | semmle.label | call to operator[] | -| azure.cpp:274:14:274:29 | call to operator[] | semmle.label | call to operator[] | -| azure.cpp:277:38:277:44 | call to GetBody | semmle.label | call to GetBody | -| azure.cpp:277:45:277:47 | call to GetBody | semmle.label | call to GetBody | -| azure.cpp:278:10:278:13 | body | semmle.label | body | -| azure.cpp:278:10:278:13 | body | semmle.label | body | -| azure.cpp:278:10:278:13 | body | semmle.label | body | -| azure.cpp:281:68:281:84 | *call to ExtractBodyStream | semmle.label | *call to ExtractBodyStream | -| azure.cpp:281:68:281:84 | call to ExtractBodyStream | semmle.label | call to ExtractBodyStream | -| azure.cpp:282:10:282:38 | call to ReadToEnd | semmle.label | call to ReadToEnd | -| azure.cpp:282:21:282:23 | *call to get | semmle.label | *call to get | -| azure.cpp:282:28:282:36 | call to ReadToEnd [element] | semmle.label | call to ReadToEnd [element] | -| azure.cpp:282:28:282:36 | call to ReadToEnd [element] | semmle.label | call to ReadToEnd [element] | -| azure.cpp:289:24:289:56 | call to GetHeader | semmle.label | call to GetHeader | -| azure.cpp:289:32:289:40 | call to GetHeader | semmle.label | call to GetHeader | -| azure.cpp:289:32:289:40 | call to GetHeader | semmle.label | call to GetHeader | -| azure.cpp:289:63:289:65 | call to Value | semmle.label | call to Value | -| azure.cpp:289:63:289:65 | call to Value | semmle.label | call to Value | -| azure.cpp:290:10:290:20 | headerValue | semmle.label | headerValue | -| azure.cpp:290:10:290:20 | headerValue | semmle.label | headerValue | -| azure.cpp:290:10:290:20 | headerValue | semmle.label | headerValue | -| azure.cpp:293:58:293:67 | call to GetHeaders | semmle.label | call to GetHeaders | -| azure.cpp:293:58:293:67 | call to GetHeaders | semmle.label | call to GetHeaders | -| azure.cpp:294:38:294:53 | call to operator[] | semmle.label | call to operator[] | -| azure.cpp:295:10:295:20 | contentType | semmle.label | contentType | -| azure.cpp:295:10:295:20 | contentType | semmle.label | contentType | -| azure.cpp:295:10:295:20 | contentType | semmle.label | contentType | +| asio_streams.cpp:190:45:190:56 | *service_view | semmle.label | *service_view | +| asio_streams.cpp:190:45:190:56 | call to basic_string_view | semmle.label | call to basic_string_view | +| asio_streams.cpp:190:45:190:56 | call to basic_string_view | semmle.label | call to basic_string_view | +| azure.cpp:216:48:216:60 | *call to GetBodyStream | semmle.label | *call to GetBodyStream | +| azure.cpp:216:48:216:60 | call to GetBodyStream | semmle.label | call to GetBodyStream | +| azure.cpp:220:5:220:8 | *resp | semmle.label | *resp | +| azure.cpp:220:16:220:21 | Read output argument | semmle.label | Read output argument | +| azure.cpp:221:10:221:16 | * ... | semmle.label | * ... | +| azure.cpp:225:5:225:8 | *resp | semmle.label | *resp | +| azure.cpp:225:23:225:28 | ReadToCount output argument | semmle.label | ReadToCount output argument | +| azure.cpp:226:10:226:16 | * ... | semmle.label | * ... | +| azure.cpp:229:38:229:41 | *resp | semmle.label | *resp | +| azure.cpp:229:44:229:52 | call to ReadToEnd [element] | semmle.label | call to ReadToEnd [element] | +| azure.cpp:229:44:229:52 | call to ReadToEnd [element] | semmle.label | call to ReadToEnd [element] | +| azure.cpp:230:10:230:12 | *vec [element] | semmle.label | *vec [element] | +| azure.cpp:230:10:230:12 | call to vector | semmle.label | call to vector | +| azure.cpp:230:10:230:12 | call to vector [element] | semmle.label | call to vector [element] | +| azure.cpp:236:40:236:43 | call to map [element, second] | semmle.label | call to map [element, second] | +| azure.cpp:236:52:236:61 | call to GetHeaders | semmle.label | call to GetHeaders | +| azure.cpp:236:62:236:64 | *call to GetHeaders [element, second] | semmle.label | *call to GetHeaders [element, second] | +| azure.cpp:237:10:237:13 | body [element, second] | semmle.label | body [element, second] | +| azure.cpp:237:14:237:29 | call to operator[] | semmle.label | call to operator[] | +| azure.cpp:240:38:240:44 | call to GetBody | semmle.label | call to GetBody | +| azure.cpp:241:10:241:13 | call to vector | semmle.label | call to vector | +| azure.cpp:241:10:241:13 | call to vector | semmle.label | call to vector | +| azure.cpp:241:10:241:13 | call to vector | semmle.label | call to vector | +| azure.cpp:244:68:244:84 | *call to ExtractBodyStream | semmle.label | *call to ExtractBodyStream | +| azure.cpp:244:68:244:84 | call to ExtractBodyStream | semmle.label | call to ExtractBodyStream | +| azure.cpp:245:10:245:38 | call to ReadToEnd | semmle.label | call to ReadToEnd | +| azure.cpp:245:21:245:23 | *call to get | semmle.label | *call to get | +| azure.cpp:245:28:245:36 | call to ReadToEnd [element] | semmle.label | call to ReadToEnd [element] | +| azure.cpp:245:28:245:36 | call to ReadToEnd [element] | semmle.label | call to ReadToEnd [element] | +| azure.cpp:253:24:253:56 | call to GetHeader [m_value] | semmle.label | call to GetHeader [m_value] | +| azure.cpp:253:32:253:40 | call to GetHeader | semmle.label | call to GetHeader | +| azure.cpp:253:32:253:40 | call to GetHeader [m_value] | semmle.label | call to GetHeader [m_value] | +| azure.cpp:253:63:253:65 | call to Value | semmle.label | call to Value | +| azure.cpp:253:63:253:65 | call to Value | semmle.label | call to Value | +| azure.cpp:254:10:254:20 | headerValue | semmle.label | headerValue | +| azure.cpp:257:58:257:67 | call to GetHeaders | semmle.label | call to GetHeaders | +| azure.cpp:257:58:257:67 | call to GetHeaders [element, second] | semmle.label | call to GetHeaders [element, second] | +| azure.cpp:258:31:258:37 | headers [element, second] | semmle.label | headers [element, second] | +| azure.cpp:258:38:258:53 | call to operator[] | semmle.label | call to operator[] | +| azure.cpp:258:38:258:53 | call to operator[] | semmle.label | call to operator[] | +| azure.cpp:259:10:259:20 | contentType | semmle.label | contentType | +| azure.cpp:266:3:266:5 | SetQueryParameters output argument | semmle.label | SetQueryParameters output argument | +| azure.cpp:266:26:266:45 | call to GetHeaders [element, second] | semmle.label | call to GetHeaders [element, second] | +| azure.cpp:266:34:266:43 | call to GetHeaders | semmle.label | call to GetHeaders | +| azure.cpp:266:34:266:43 | call to GetHeaders [element, second] | semmle.label | call to GetHeaders [element, second] | +| azure.cpp:267:8:267:10 | url | semmle.label | url | +| azure.cpp:267:8:267:31 | call to GetQueryParameters [element, second] | semmle.label | call to GetQueryParameters [element, second] | +| azure.cpp:267:12:267:29 | call to GetQueryParameters [element, second] | semmle.label | call to GetQueryParameters [element, second] | +| azure.cpp:267:12:267:29 | call to GetQueryParameters [element, second] | semmle.label | call to GetQueryParameters [element, second] | +| azure.cpp:267:32:267:40 | call to operator[] | semmle.label | call to operator[] | | bal.cpp:128:19:128:26 | call to source | semmle.label | call to source | | bal.cpp:129:23:129:51 | *call to data | semmle.label | *call to data | +| bal.cpp:129:23:129:51 | *call to data | semmle.label | *call to data | +| bal.cpp:129:41:129:44 | data | semmle.label | data | | bal.cpp:132:17:132:18 | *sb | semmle.label | *sb | | bal.cpp:132:21:132:24 | decode output argument | semmle.label | decode output argument | | bal.cpp:133:7:133:17 | * ... | semmle.label | * ... | +| bal.cpp:133:7:133:17 | * ... | semmle.label | * ... | +| bal.cpp:133:8:133:10 | out | semmle.label | out | | bal.cpp:137:19:137:26 | call to source | semmle.label | call to source | | bal.cpp:138:21:138:47 | *call to data | semmle.label | *call to data | +| bal.cpp:138:21:138:47 | *call to data | semmle.label | *call to data | +| bal.cpp:138:37:138:40 | data | semmle.label | data | | bal.cpp:141:17:141:19 | ** ... | semmle.label | ** ... | | bal.cpp:141:22:141:25 | decode output argument | semmle.label | decode output argument | | bal.cpp:142:7:142:17 | * ... | semmle.label | * ... | +| bal.cpp:142:7:142:17 | * ... | semmle.label | * ... | +| bal.cpp:142:8:142:10 | out | semmle.label | out | | bal.cpp:146:19:146:26 | call to source | semmle.label | call to source | | bal.cpp:147:23:147:51 | *call to data | semmle.label | *call to data | +| bal.cpp:147:23:147:51 | *call to data | semmle.label | *call to data | +| bal.cpp:147:41:147:44 | data | semmle.label | data | | bal.cpp:150:20:150:21 | *sb | semmle.label | *sb | | bal.cpp:150:24:150:27 | decodeAny output argument | semmle.label | decodeAny output argument | | bal.cpp:151:7:151:17 | * ... | semmle.label | * ... | +| bal.cpp:151:7:151:17 | * ... | semmle.label | * ... | +| bal.cpp:151:8:151:10 | out | semmle.label | out | | bal.cpp:156:18:156:25 | call to source | semmle.label | call to source | | bal.cpp:159:17:159:37 | encode output argument | semmle.label | encode output argument | | bal.cpp:159:40:159:42 | *obj | semmle.label | *obj | @@ -1812,19 +2487,31 @@ nodes | bal.cpp:168:7:168:12 | access to array | semmle.label | access to array | | bal.cpp:175:19:175:26 | call to source | semmle.label | call to source | | bal.cpp:176:23:176:51 | *call to data | semmle.label | *call to data | +| bal.cpp:176:23:176:51 | *call to data | semmle.label | *call to data | +| bal.cpp:176:41:176:44 | data | semmle.label | data | | bal.cpp:180:17:180:18 | *sb | semmle.label | *sb | | bal.cpp:180:21:180:24 | decode output argument | semmle.label | decode output argument | | bal.cpp:181:7:181:17 | * ... | semmle.label | * ... | +| bal.cpp:181:7:181:17 | * ... | semmle.label | * ... | +| bal.cpp:181:8:181:10 | out | semmle.label | out | | bal.cpp:185:19:185:26 | call to source | semmle.label | call to source | | bal.cpp:186:21:186:47 | *call to data | semmle.label | *call to data | +| bal.cpp:186:21:186:47 | *call to data | semmle.label | *call to data | +| bal.cpp:186:37:186:40 | data | semmle.label | data | | bal.cpp:190:17:190:19 | ** ... | semmle.label | ** ... | | bal.cpp:190:22:190:25 | decode output argument | semmle.label | decode output argument | | bal.cpp:191:7:191:17 | * ... | semmle.label | * ... | +| bal.cpp:191:7:191:17 | * ... | semmle.label | * ... | +| bal.cpp:191:8:191:10 | out | semmle.label | out | | bal.cpp:195:19:195:26 | call to source | semmle.label | call to source | | bal.cpp:196:23:196:51 | *call to data | semmle.label | *call to data | +| bal.cpp:196:23:196:51 | *call to data | semmle.label | *call to data | +| bal.cpp:196:41:196:44 | data | semmle.label | data | | bal.cpp:199:20:199:21 | *sb | semmle.label | *sb | | bal.cpp:199:24:199:27 | decodeAny output argument | semmle.label | decodeAny output argument | | bal.cpp:200:7:200:17 | * ... | semmle.label | * ... | +| bal.cpp:200:7:200:17 | * ... | semmle.label | * ... | +| bal.cpp:200:8:200:10 | out | semmle.label | out | | bal.cpp:204:18:204:25 | call to source | semmle.label | call to source | | bal.cpp:208:17:208:37 | encode output argument | semmle.label | encode output argument | | bal.cpp:208:40:208:42 | *obj | semmle.label | *obj | @@ -1835,6 +2522,8 @@ nodes | bal.cpp:217:7:217:12 | access to array | semmle.label | access to array | | bal.cpp:222:19:222:26 | call to source | semmle.label | call to source | | bal.cpp:223:23:223:51 | *call to data | semmle.label | *call to data | +| bal.cpp:223:23:223:51 | *call to data | semmle.label | *call to data | +| bal.cpp:223:41:223:44 | data | semmle.label | data | | bal.cpp:226:17:226:18 | *sb | semmle.label | *sb | | bal.cpp:226:21:226:24 | decode output argument | semmle.label | decode output argument | | bal.cpp:229:17:229:37 | encode output argument | semmle.label | encode output argument | @@ -1842,11 +2531,17 @@ nodes | bal.cpp:230:7:230:12 | access to array | semmle.label | access to array | | bal.cpp:245:19:245:26 | call to source | semmle.label | call to source | | bal.cpp:246:21:246:47 | *call to data | semmle.label | *call to data | +| bal.cpp:246:21:246:47 | *call to data | semmle.label | *call to data | +| bal.cpp:246:37:246:40 | data | semmle.label | data | | bal.cpp:249:17:249:19 | ** ... | semmle.label | ** ... | | bal.cpp:249:22:249:25 | decode output argument | semmle.label | decode output argument | | bal.cpp:250:7:250:17 | * ... | semmle.label | * ... | +| bal.cpp:250:7:250:17 | * ... | semmle.label | * ... | +| bal.cpp:250:8:250:10 | out | semmle.label | out | | bal.cpp:254:19:254:26 | call to source | semmle.label | call to source | | bal.cpp:255:21:255:47 | *call to data | semmle.label | *call to data | +| bal.cpp:255:21:255:47 | *call to data | semmle.label | *call to data | +| bal.cpp:255:37:255:40 | data | semmle.label | data | | bal.cpp:258:34:258:52 | *call to decode | semmle.label | *call to decode | | bal.cpp:258:34:258:52 | *call to decode | semmle.label | *call to decode | | bal.cpp:258:35:258:37 | ** ... | semmle.label | ** ... | @@ -1855,20 +2550,33 @@ nodes | bal.cpp:260:7:260:9 | out | semmle.label | out | | bal.cpp:264:19:264:26 | call to source | semmle.label | call to source | | bal.cpp:265:23:265:51 | *call to data | semmle.label | *call to data | +| bal.cpp:265:23:265:51 | *call to data | semmle.label | *call to data | +| bal.cpp:265:41:265:44 | data | semmle.label | data | | bal.cpp:268:17:268:18 | *sb | semmle.label | *sb | | bal.cpp:268:21:268:24 | decode output argument | semmle.label | decode output argument | | bal.cpp:269:7:269:17 | * ... | semmle.label | * ... | +| bal.cpp:269:7:269:17 | * ... | semmle.label | * ... | +| bal.cpp:269:8:269:10 | out | semmle.label | out | | bal.cpp:273:19:273:26 | call to source | semmle.label | call to source | +| bal.cpp:276:17:276:20 | data | semmle.label | data | | bal.cpp:276:22:276:25 | *call to data | semmle.label | *call to data | | bal.cpp:276:43:276:46 | decode output argument | semmle.label | decode output argument | | bal.cpp:277:7:277:17 | * ... | semmle.label | * ... | +| bal.cpp:277:7:277:17 | * ... | semmle.label | * ... | +| bal.cpp:277:8:277:10 | out | semmle.label | out | | bal.cpp:301:19:301:26 | call to source | semmle.label | call to source | | bal.cpp:302:21:302:47 | *call to data | semmle.label | *call to data | +| bal.cpp:302:21:302:47 | *call to data | semmle.label | *call to data | +| bal.cpp:302:37:302:40 | data | semmle.label | data | | bal.cpp:305:20:305:22 | ** ... | semmle.label | ** ... | | bal.cpp:305:25:305:28 | decodeAny output argument | semmle.label | decodeAny output argument | | bal.cpp:306:7:306:17 | * ... | semmle.label | * ... | +| bal.cpp:306:7:306:17 | * ... | semmle.label | * ... | +| bal.cpp:306:8:306:10 | out | semmle.label | out | | bal.cpp:310:19:310:26 | call to source | semmle.label | call to source | | bal.cpp:311:21:311:47 | *call to data | semmle.label | *call to data | +| bal.cpp:311:21:311:47 | *call to data | semmle.label | *call to data | +| bal.cpp:311:37:311:40 | data | semmle.label | data | | bal.cpp:314:37:314:48 | *call to decodeAny | semmle.label | *call to decodeAny | | bal.cpp:314:37:314:48 | *call to decodeAny | semmle.label | *call to decodeAny | | bal.cpp:314:38:314:40 | ** ... | semmle.label | ** ... | @@ -1877,16 +2585,24 @@ nodes | bal.cpp:316:7:316:9 | out | semmle.label | out | | bal.cpp:320:19:320:26 | call to source | semmle.label | call to source | | bal.cpp:321:23:321:51 | *call to data | semmle.label | *call to data | +| bal.cpp:321:23:321:51 | *call to data | semmle.label | *call to data | +| bal.cpp:321:41:321:44 | data | semmle.label | data | | bal.cpp:324:20:324:21 | *sb | semmle.label | *sb | | bal.cpp:324:24:324:27 | decodeAny output argument | semmle.label | decodeAny output argument | | bal.cpp:325:7:325:17 | * ... | semmle.label | * ... | +| bal.cpp:325:7:325:17 | * ... | semmle.label | * ... | +| bal.cpp:325:8:325:10 | out | semmle.label | out | | bal.cpp:329:19:329:26 | call to source | semmle.label | call to source | | bal.cpp:330:21:330:47 | *call to data | semmle.label | *call to data | +| bal.cpp:330:21:330:47 | *call to data | semmle.label | *call to data | +| bal.cpp:330:37:330:40 | data | semmle.label | data | | bal.cpp:333:20:333:22 | ** ... | semmle.label | ** ... | | bal.cpp:333:25:333:28 | decodeAny output argument | semmle.label | decodeAny output argument | | bal.cpp:334:7:334:19 | * ... | semmle.label | * ... | | bal.cpp:338:19:338:26 | call to source | semmle.label | call to source | | bal.cpp:339:21:339:47 | *call to data | semmle.label | *call to data | +| bal.cpp:339:21:339:47 | *call to data | semmle.label | *call to data | +| bal.cpp:339:37:339:40 | data | semmle.label | data | | bal.cpp:342:37:342:48 | *call to decodeAny | semmle.label | *call to decodeAny | | bal.cpp:342:37:342:48 | *call to decodeAny | semmle.label | *call to decodeAny | | bal.cpp:342:38:342:40 | ** ... | semmle.label | ** ... | @@ -1895,6 +2611,8 @@ nodes | bal.cpp:344:7:344:19 | * ... | semmle.label | * ... | | bal.cpp:348:19:348:26 | call to source | semmle.label | call to source | | bal.cpp:349:23:349:51 | *call to data | semmle.label | *call to data | +| bal.cpp:349:23:349:51 | *call to data | semmle.label | *call to data | +| bal.cpp:349:41:349:44 | data | semmle.label | data | | bal.cpp:352:20:352:21 | *sb | semmle.label | *sb | | bal.cpp:352:24:352:27 | decodeAny output argument | semmle.label | decodeAny output argument | | bal.cpp:353:7:353:19 | * ... | semmle.label | * ... | @@ -1915,6 +2633,8 @@ nodes | bal.cpp:378:7:378:12 | access to array | semmle.label | access to array | | bal.cpp:382:19:382:26 | call to source | semmle.label | call to source | | bal.cpp:383:21:383:47 | *call to data | semmle.label | *call to data | +| bal.cpp:383:21:383:47 | *call to data | semmle.label | *call to data | +| bal.cpp:383:37:383:40 | data | semmle.label | data | | bal.cpp:386:34:386:44 | *call to encode | semmle.label | *call to encode | | bal.cpp:386:34:386:44 | *call to encode | semmle.label | *call to encode | | bal.cpp:386:35:386:37 | ** ... | semmle.label | ** ... | @@ -1944,16 +2664,22 @@ nodes | bal.cpp:438:7:438:12 | access to array | semmle.label | access to array | | bal.cpp:442:19:442:26 | call to source | semmle.label | call to source | | bal.cpp:443:41:443:86 | *call to data | semmle.label | *call to data | +| bal.cpp:443:41:443:86 | *call to data | semmle.label | *call to data | +| bal.cpp:443:76:443:79 | data | semmle.label | data | | bal.cpp:446:20:446:40 | encodeAny output argument | semmle.label | encodeAny output argument | | bal.cpp:446:43:446:46 | ** ... | semmle.label | ** ... | | bal.cpp:447:7:447:12 | access to array | semmle.label | access to array | | bal.cpp:451:19:451:26 | call to source | semmle.label | call to source | | bal.cpp:452:41:452:86 | *call to data | semmle.label | *call to data | +| bal.cpp:452:41:452:86 | *call to data | semmle.label | *call to data | +| bal.cpp:452:76:452:79 | data | semmle.label | data | | bal.cpp:455:20:455:39 | encodeAny output argument | semmle.label | encodeAny output argument | | bal.cpp:455:42:455:45 | ** ... | semmle.label | ** ... | | bal.cpp:456:7:456:12 | access to array | semmle.label | access to array | | bal.cpp:460:19:460:26 | call to source | semmle.label | call to source | | bal.cpp:461:41:461:86 | *call to data | semmle.label | *call to data | +| bal.cpp:461:41:461:86 | *call to data | semmle.label | *call to data | +| bal.cpp:461:76:461:79 | data | semmle.label | data | | bal.cpp:464:37:464:65 | *call to encodeAny | semmle.label | *call to encodeAny | | bal.cpp:464:37:464:65 | *call to encodeAny | semmle.label | *call to encodeAny | | bal.cpp:464:38:464:57 | encodeAny output argument | semmle.label | encodeAny output argument | @@ -1962,28 +2688,32 @@ nodes | bal.cpp:466:7:466:12 | access to array | semmle.label | access to array | | bdlbb.cpp:37:16:37:23 | call to source | semmle.label | call to source | | bdlbb.cpp:39:37:39:41 | copy output argument | semmle.label | copy output argument | +| bdlbb.cpp:39:47:39:47 | s | semmle.label | s | | bdlbb.cpp:39:49:39:52 | *call to data | semmle.label | *call to data | | bdlbb.cpp:41:37:41:39 | copy output argument | semmle.label | copy output argument | | bdlbb.cpp:41:42:41:45 | *blob | semmle.label | *blob | | bdlbb.cpp:42:7:42:10 | * ... | semmle.label | * ... | | bdlbb.cpp:46:16:46:23 | call to source | semmle.label | call to source | | bdlbb.cpp:48:37:48:41 | copy output argument | semmle.label | copy output argument | +| bdlbb.cpp:48:47:48:47 | s | semmle.label | s | | bdlbb.cpp:48:49:48:52 | *call to data | semmle.label | *call to data | -| bdlbb.cpp:49:18:49:21 | *blob | semmle.label | *blob | +| bdlbb.cpp:49:18:49:21 | blob | semmle.label | blob | | bdlbb.cpp:49:18:49:38 | *call to data | semmle.label | *call to data | | bdlbb.cpp:49:18:49:38 | *call to data | semmle.label | *call to data | -| bdlbb.cpp:49:29:49:32 | *call to buffer | semmle.label | *call to buffer | +| bdlbb.cpp:49:29:49:32 | call to buffer | semmle.label | call to buffer | | bdlbb.cpp:50:7:50:8 | * ... | semmle.label | * ... | | bdlbb.cpp:55:16:55:23 | call to source | semmle.label | call to source | | bdlbb.cpp:57:37:57:41 | copy output argument | semmle.label | copy output argument | +| bdlbb.cpp:57:47:57:47 | s | semmle.label | s | | bdlbb.cpp:57:49:57:52 | *call to data | semmle.label | *call to data | -| bdlbb.cpp:58:18:58:21 | *blob | semmle.label | *blob | +| bdlbb.cpp:58:18:58:21 | blob | semmle.label | blob | | bdlbb.cpp:58:18:58:46 | call to get | semmle.label | call to get | -| bdlbb.cpp:58:29:58:32 | *call to buffer | semmle.label | *call to buffer | -| bdlbb.cpp:58:39:58:41 | *call to buffer | semmle.label | *call to buffer | +| bdlbb.cpp:58:29:58:32 | call to buffer | semmle.label | call to buffer | +| bdlbb.cpp:58:39:58:41 | call to buffer | semmle.label | call to buffer | | bdlbb.cpp:59:7:59:8 | * ... | semmle.label | * ... | | bdlbb.cpp:63:16:63:23 | call to source | semmle.label | call to source | | bdlbb.cpp:65:37:65:41 | copy output argument | semmle.label | copy output argument | +| bdlbb.cpp:65:47:65:47 | s | semmle.label | s | | bdlbb.cpp:65:49:65:52 | *call to data | semmle.label | *call to data | | bdlbb.cpp:67:12:67:65 | *call to getContiguousRangeOrCopy | semmle.label | *call to getContiguousRangeOrCopy | | bdlbb.cpp:67:12:67:65 | *call to getContiguousRangeOrCopy | semmle.label | *call to getContiguousRangeOrCopy | @@ -1991,6 +2721,7 @@ nodes | bdlbb.cpp:68:7:68:8 | * ... | semmle.label | * ... | | bdlbb.cpp:73:16:73:23 | call to source | semmle.label | call to source | | bdlbb.cpp:75:37:75:40 | copy output argument | semmle.label | copy output argument | +| bdlbb.cpp:75:46:75:46 | s | semmle.label | s | | bdlbb.cpp:75:48:75:51 | *call to data | semmle.label | *call to data | | bdlbb.cpp:77:37:77:40 | copy output argument | semmle.label | copy output argument | | bdlbb.cpp:77:46:77:48 | *src | semmle.label | *src | @@ -1999,6 +2730,8 @@ nodes | bdlbb.cpp:80:7:80:10 | * ... | semmle.label | * ... | | bmqa.cpp:87:19:87:26 | call to source | semmle.label | call to source | | bmqa.cpp:88:36:88:76 | *call to data | semmle.label | *call to data | +| bmqa.cpp:88:36:88:76 | *call to data | semmle.label | *call to data | +| bmqa.cpp:88:66:88:69 | data | semmle.label | data | | bmqa.cpp:90:2:90:4 | *msg | semmle.label | *msg | | bmqa.cpp:90:15:90:19 | getData output argument | semmle.label | getData output argument | | bmqa.cpp:92:37:92:39 | copy output argument | semmle.label | copy output argument | @@ -2006,101 +2739,124 @@ nodes | bmqa.cpp:93:7:93:10 | * ... | semmle.label | * ... | | bmqa.cpp:97:19:97:26 | call to source | semmle.label | call to source | | bmqa.cpp:98:43:98:88 | *call to data | semmle.label | *call to data | +| bmqa.cpp:98:43:98:88 | *call to data | semmle.label | *call to data | +| bmqa.cpp:98:78:98:81 | data | semmle.label | data | | bmqa.cpp:99:42:99:46 | *event | semmle.label | *event | | bmqa.cpp:99:49:99:63 | call to messageIterator | semmle.label | call to messageIterator | | bmqa.cpp:99:49:99:63 | call to messageIterator | semmle.label | call to messageIterator | -| bmqa.cpp:101:43:101:44 | *it | semmle.label | *it | +| bmqa.cpp:101:43:101:44 | it | semmle.label | it | | bmqa.cpp:101:53:101:55 | *call to message | semmle.label | *call to message | | bmqa.cpp:101:53:101:55 | *call to message | semmle.label | *call to message | -| bmqa.cpp:103:3:103:5 | *msg | semmle.label | *msg | +| bmqa.cpp:103:3:103:5 | msg | semmle.label | msg | | bmqa.cpp:103:15:103:19 | getData output argument | semmle.label | getData output argument | | bmqa.cpp:105:38:105:40 | copy output argument | semmle.label | copy output argument | | bmqa.cpp:105:43:105:46 | *blob | semmle.label | *blob | | bmqa.cpp:106:8:106:11 | * ... | semmle.label | * ... | | bmqa.cpp:111:16:111:23 | call to source | semmle.label | call to source | | bmqa.cpp:113:37:113:39 | copy output argument | semmle.label | copy output argument | +| bmqa.cpp:113:45:113:45 | s | semmle.label | s | | bmqa.cpp:113:47:113:50 | *call to data | semmle.label | *call to data | | bmqa.cpp:115:2:115:4 | setDataRef output argument | semmle.label | setDataRef output argument | | bmqa.cpp:115:17:115:19 | *& ... | semmle.label | *& ... | -| bmqa.cpp:117:2:117:4 | *msg | semmle.label | *msg | +| bmqa.cpp:117:2:117:4 | msg | semmle.label | msg | | bmqa.cpp:117:14:117:17 | getData output argument | semmle.label | getData output argument | | bmqa.cpp:119:37:119:39 | copy output argument | semmle.label | copy output argument | | bmqa.cpp:119:42:119:44 | *out | semmle.label | *out | | bmqa.cpp:120:7:120:10 | * ... | semmle.label | * ... | | bmqa.cpp:124:16:124:23 | call to source | semmle.label | call to source | | bmqa.cpp:126:2:126:4 | setDataRef output argument | semmle.label | setDataRef output argument | +| bmqa.cpp:126:17:126:17 | s | semmle.label | s | | bmqa.cpp:126:19:126:22 | *call to data | semmle.label | *call to data | -| bmqa.cpp:128:2:128:4 | *msg | semmle.label | *msg | +| bmqa.cpp:128:2:128:4 | msg | semmle.label | msg | | bmqa.cpp:128:14:128:17 | getData output argument | semmle.label | getData output argument | | bmqa.cpp:130:37:130:39 | copy output argument | semmle.label | copy output argument | | bmqa.cpp:130:42:130:44 | *out | semmle.label | *out | | bmqa.cpp:131:7:131:10 | * ... | semmle.label | * ... | | bmqa.cpp:135:16:135:23 | call to source | semmle.label | call to source | | bmqa.cpp:137:2:137:4 | setData output argument | semmle.label | setData output argument | +| bmqa.cpp:137:14:137:14 | s | semmle.label | s | | bmqa.cpp:137:16:137:19 | *call to data | semmle.label | *call to data | -| bmqa.cpp:139:2:139:4 | *msg | semmle.label | *msg | +| bmqa.cpp:139:2:139:4 | msg | semmle.label | msg | | bmqa.cpp:139:14:139:17 | getData output argument | semmle.label | getData output argument | | bmqa.cpp:141:37:141:39 | copy output argument | semmle.label | copy output argument | | bmqa.cpp:141:42:141:44 | *out | semmle.label | *out | | bmqa.cpp:142:7:142:10 | * ... | semmle.label | * ... | | bmqa.cpp:146:19:146:26 | call to source | semmle.label | call to source | | bmqa.cpp:147:36:147:76 | *call to data | semmle.label | *call to data | +| bmqa.cpp:147:36:147:76 | *call to data | semmle.label | *call to data | +| bmqa.cpp:147:66:147:69 | data | semmle.label | data | | bmqa.cpp:148:36:148:38 | *msg | semmle.label | *msg | | bmqa.cpp:148:41:148:45 | call to clone | semmle.label | call to clone | | bmqa.cpp:148:41:148:45 | call to clone | semmle.label | call to clone | -| bmqa.cpp:150:2:150:5 | *copy | semmle.label | *copy | +| bmqa.cpp:150:2:150:5 | copy | semmle.label | copy | | bmqa.cpp:150:15:150:19 | getData output argument | semmle.label | getData output argument | | bmqa.cpp:152:37:152:39 | copy output argument | semmle.label | copy output argument | | bmqa.cpp:152:42:152:45 | *blob | semmle.label | *blob | | bmqa.cpp:153:7:153:10 | * ... | semmle.label | * ... | | bmqa.cpp:157:19:157:26 | call to source | semmle.label | call to source | | bmqa.cpp:158:36:158:76 | *call to data | semmle.label | *call to data | +| bmqa.cpp:158:36:158:76 | *call to data | semmle.label | *call to data | +| bmqa.cpp:158:66:158:69 | data | semmle.label | data | | bmqa.cpp:160:2:160:4 | *msg | semmle.label | *msg | | bmqa.cpp:160:22:160:27 | loadProperties output argument | semmle.label | loadProperties output argument | -| bmqa.cpp:161:29:161:33 | *props | semmle.label | *props | +| bmqa.cpp:161:29:161:33 | props | semmle.label | props | | bmqa.cpp:161:54:161:61 | *call to getPropertyAsString | semmle.label | *call to getPropertyAsString | | bmqa.cpp:161:54:161:61 | *call to getPropertyAsString | semmle.label | *call to getPropertyAsString | +| bmqa.cpp:162:7:162:11 | value | semmle.label | value | +| bmqa.cpp:162:7:162:21 | access to array | semmle.label | access to array | | bmqa.cpp:162:7:162:21 | access to array | semmle.label | access to array | | bmqa.cpp:166:19:166:26 | call to source | semmle.label | call to source | | bmqa.cpp:167:36:167:76 | *call to data | semmle.label | *call to data | +| bmqa.cpp:167:36:167:76 | *call to data | semmle.label | *call to data | +| bmqa.cpp:167:66:167:69 | data | semmle.label | data | | bmqa.cpp:169:2:169:4 | *msg | semmle.label | *msg | | bmqa.cpp:169:22:169:27 | loadProperties output argument | semmle.label | loadProperties output argument | -| bmqa.cpp:170:35:170:39 | *props | semmle.label | *props | +| bmqa.cpp:170:35:170:39 | props | semmle.label | props | | bmqa.cpp:170:60:170:67 | *call to getPropertyAsBinary [element] | semmle.label | *call to getPropertyAsBinary [element] | | bmqa.cpp:170:60:170:67 | *call to getPropertyAsBinary [element] | semmle.label | *call to getPropertyAsBinary [element] | -| bmqa.cpp:171:7:171:11 | *value [element] | semmle.label | *value [element] | +| bmqa.cpp:171:7:171:11 | value [element] | semmle.label | value [element] | | bmqa.cpp:171:7:171:21 | access to array | semmle.label | access to array | | bmqa.cpp:175:19:175:26 | call to source | semmle.label | call to source | | bmqa.cpp:176:36:176:76 | *call to data | semmle.label | *call to data | +| bmqa.cpp:176:36:176:76 | *call to data | semmle.label | *call to data | +| bmqa.cpp:176:66:176:69 | data | semmle.label | data | | bmqa.cpp:178:2:178:4 | *msg | semmle.label | *msg | | bmqa.cpp:178:22:178:27 | loadProperties output argument | semmle.label | loadProperties output argument | -| bmqa.cpp:179:35:179:39 | *props | semmle.label | *props | +| bmqa.cpp:179:35:179:39 | props | semmle.label | props | | bmqa.cpp:179:60:179:67 | *call to getPropertyAsBinary [element] | semmle.label | *call to getPropertyAsBinary [element] | | bmqa.cpp:179:60:179:67 | *call to getPropertyAsBinary [element] | semmle.label | *call to getPropertyAsBinary [element] | -| bmqa.cpp:180:7:180:11 | *value [element] | semmle.label | *value [element] | +| bmqa.cpp:180:7:180:11 | value [element] | semmle.label | value [element] | | bmqa.cpp:180:12:180:14 | call to operator[] | semmle.label | call to operator[] | | bmqa.cpp:184:19:184:26 | call to source | semmle.label | call to source | | bmqa.cpp:185:36:185:76 | *call to data | semmle.label | *call to data | +| bmqa.cpp:185:36:185:76 | *call to data | semmle.label | *call to data | +| bmqa.cpp:185:66:185:69 | data | semmle.label | data | | bmqa.cpp:187:2:187:4 | *msg | semmle.label | *msg | | bmqa.cpp:187:22:187:27 | loadProperties output argument | semmle.label | loadProperties output argument | -| bmqa.cpp:189:29:189:33 | *props | semmle.label | *props | +| bmqa.cpp:189:29:189:33 | props | semmle.label | props | | bmqa.cpp:189:56:189:69 | *call to getPropertyAsStringOr | semmle.label | *call to getPropertyAsStringOr | | bmqa.cpp:189:56:189:69 | *call to getPropertyAsStringOr | semmle.label | *call to getPropertyAsStringOr | | bmqa.cpp:190:7:190:19 | * ... | semmle.label | * ... | +| bmqa.cpp:190:7:190:19 | * ... | semmle.label | * ... | +| bmqa.cpp:190:8:190:12 | value | semmle.label | value | | bmqa.cpp:195:19:195:26 | call to source | semmle.label | call to source | | bmqa.cpp:197:56:197:69 | *call to getPropertyAsStringOr | semmle.label | *call to getPropertyAsStringOr | | bmqa.cpp:197:56:197:69 | *call to getPropertyAsStringOr | semmle.label | *call to getPropertyAsStringOr | | bmqa.cpp:197:64:197:67 | *dflt | semmle.label | *dflt | | bmqa.cpp:198:7:198:19 | * ... | semmle.label | * ... | +| bmqa.cpp:198:7:198:19 | * ... | semmle.label | * ... | +| bmqa.cpp:198:8:198:12 | value | semmle.label | value | | bmqa.cpp:202:19:202:26 | call to source | semmle.label | call to source | | bmqa.cpp:203:36:203:76 | *call to data | semmle.label | *call to data | +| bmqa.cpp:203:36:203:76 | *call to data | semmle.label | *call to data | +| bmqa.cpp:203:66:203:69 | data | semmle.label | data | | bmqa.cpp:205:2:205:4 | *msg | semmle.label | *msg | | bmqa.cpp:205:22:205:27 | loadProperties output argument | semmle.label | loadProperties output argument | -| bmqa.cpp:207:35:207:39 | *props | semmle.label | *props | +| bmqa.cpp:207:35:207:39 | props | semmle.label | props | | bmqa.cpp:207:62:207:75 | *call to getPropertyAsBinaryOr [element] | semmle.label | *call to getPropertyAsBinaryOr [element] | | bmqa.cpp:207:62:207:75 | *call to getPropertyAsBinaryOr [element] | semmle.label | *call to getPropertyAsBinaryOr [element] | | bmqa.cpp:208:7:208:19 | * ... | semmle.label | * ... | -| bmqa.cpp:208:8:208:12 | *value [element] | semmle.label | *value [element] | +| bmqa.cpp:208:8:208:12 | value [element] | semmle.label | value [element] | | bmqa.cpp:212:11:212:19 | * ... | semmle.label | * ... | | bmqa.cpp:212:12:212:17 | call to source | semmle.label | call to source | | bmqa.cpp:214:2:214:5 | push_back output argument [element] | semmle.label | push_back output argument [element] | @@ -2109,32 +2865,40 @@ nodes | bmqa.cpp:216:62:216:75 | *call to getPropertyAsBinaryOr [element] | semmle.label | *call to getPropertyAsBinaryOr [element] | | bmqa.cpp:216:70:216:73 | *dflt [element] | semmle.label | *dflt [element] | | bmqa.cpp:217:7:217:19 | * ... | semmle.label | * ... | -| bmqa.cpp:217:8:217:12 | *value [element] | semmle.label | *value [element] | +| bmqa.cpp:217:8:217:12 | value [element] | semmle.label | value [element] | | bmqa.cpp:229:16:229:23 | call to source | semmle.label | call to source | | bmqa.cpp:231:37:231:41 | copy output argument | semmle.label | copy output argument | +| bmqa.cpp:231:47:231:47 | s | semmle.label | s | | bmqa.cpp:231:49:231:52 | *call to data | semmle.label | *call to data | | bmqa.cpp:233:2:233:6 | streamIn output argument | semmle.label | streamIn output argument | | bmqa.cpp:233:17:233:20 | *blob | semmle.label | *blob | | bmqa.cpp:234:7:234:46 | * ... | semmle.label | * ... | -| bmqa.cpp:234:8:234:12 | *props | semmle.label | *props | -| bmqa.cpp:234:33:234:40 | *call to getPropertyAsString | semmle.label | *call to getPropertyAsString | +| bmqa.cpp:234:7:234:46 | * ... | semmle.label | * ... | +| bmqa.cpp:234:8:234:12 | props | semmle.label | props | +| bmqa.cpp:234:33:234:40 | call to getPropertyAsString | semmle.label | call to getPropertyAsString | +| bmqa.cpp:234:33:234:40 | data output argument | semmle.label | data output argument | | bmqa.cpp:238:16:238:23 | call to source | semmle.label | call to source | | bmqa.cpp:240:37:240:41 | copy output argument | semmle.label | copy output argument | +| bmqa.cpp:240:47:240:47 | s | semmle.label | s | | bmqa.cpp:240:49:240:52 | *call to data | semmle.label | *call to data | | bmqa.cpp:242:2:242:3 | streamIn output argument | semmle.label | streamIn output argument | | bmqa.cpp:242:14:242:17 | *blob | semmle.label | *blob | | bmqa.cpp:244:2:244:4 | setPropertiesRef output argument | semmle.label | setPropertiesRef output argument | | bmqa.cpp:244:23:244:25 | *& ... | semmle.label | *& ... | -| bmqa.cpp:246:2:246:4 | *msg | semmle.label | *msg | +| bmqa.cpp:246:2:246:4 | msg | semmle.label | msg | | bmqa.cpp:246:21:246:24 | loadProperties output argument | semmle.label | loadProperties output argument | | bmqa.cpp:247:7:247:44 | * ... | semmle.label | * ... | -| bmqa.cpp:247:8:247:10 | *out | semmle.label | *out | -| bmqa.cpp:247:31:247:38 | *call to getPropertyAsString | semmle.label | *call to getPropertyAsString | +| bmqa.cpp:247:7:247:44 | * ... | semmle.label | * ... | +| bmqa.cpp:247:8:247:10 | out | semmle.label | out | +| bmqa.cpp:247:31:247:38 | call to getPropertyAsString | semmle.label | call to getPropertyAsString | +| bmqa.cpp:247:31:247:38 | data output argument | semmle.label | data output argument | | bmqa.cpp:251:19:251:26 | call to source | semmle.label | call to source | | bmqa.cpp:252:36:252:76 | *call to data | semmle.label | *call to data | +| bmqa.cpp:252:36:252:76 | *call to data | semmle.label | *call to data | +| bmqa.cpp:252:66:252:69 | data | semmle.label | data | | bmqa.cpp:254:2:254:4 | *msg | semmle.label | *msg | | bmqa.cpp:254:22:254:27 | loadProperties output argument | semmle.label | loadProperties output argument | -| bmqa.cpp:256:41:256:45 | *props | semmle.label | *props | +| bmqa.cpp:256:41:256:45 | props | semmle.label | props | | bmqa.cpp:256:56:256:66 | *call to streamOut | semmle.label | *call to streamOut | | bmqa.cpp:256:56:256:66 | *call to streamOut | semmle.label | *call to streamOut | | bmqa.cpp:258:37:258:39 | copy output argument | semmle.label | copy output argument | @@ -2142,123 +2906,165 @@ nodes | bmqa.cpp:259:7:259:10 | * ... | semmle.label | * ... | | bmqa.cpp:263:19:263:26 | call to source | semmle.label | call to source | | bmqa.cpp:264:36:264:76 | *call to data | semmle.label | *call to data | +| bmqa.cpp:264:36:264:76 | *call to data | semmle.label | *call to data | +| bmqa.cpp:264:66:264:69 | data | semmle.label | data | | bmqa.cpp:266:2:266:4 | *msg | semmle.label | *msg | | bmqa.cpp:266:22:266:27 | loadProperties output argument | semmle.label | loadProperties output argument | | bmqa.cpp:267:39:267:42 | call to MessageProperties | semmle.label | call to MessageProperties | | bmqa.cpp:267:44:267:48 | *props | semmle.label | *props | | bmqa.cpp:268:7:268:45 | * ... | semmle.label | * ... | -| bmqa.cpp:268:8:268:11 | *copy | semmle.label | *copy | -| bmqa.cpp:268:32:268:39 | *call to getPropertyAsString | semmle.label | *call to getPropertyAsString | +| bmqa.cpp:268:7:268:45 | * ... | semmle.label | * ... | +| bmqa.cpp:268:8:268:11 | copy | semmle.label | copy | +| bmqa.cpp:268:32:268:39 | call to getPropertyAsString | semmle.label | call to getPropertyAsString | +| bmqa.cpp:268:32:268:39 | data output argument | semmle.label | data output argument | | bmqa.cpp:272:19:272:26 | call to source | semmle.label | call to source | | bmqa.cpp:273:36:273:76 | *call to data | semmle.label | *call to data | +| bmqa.cpp:273:36:273:76 | *call to data | semmle.label | *call to data | +| bmqa.cpp:273:66:273:69 | data | semmle.label | data | | bmqa.cpp:275:2:275:4 | *msg | semmle.label | *msg | | bmqa.cpp:275:22:275:27 | loadProperties output argument | semmle.label | loadProperties output argument | | bmqa.cpp:277:2:277:5 | operator= output argument | semmle.label | operator= output argument | | bmqa.cpp:277:9:277:13 | *props | semmle.label | *props | | bmqa.cpp:278:7:278:45 | * ... | semmle.label | * ... | -| bmqa.cpp:278:8:278:11 | *copy | semmle.label | *copy | -| bmqa.cpp:278:32:278:39 | *call to getPropertyAsString | semmle.label | *call to getPropertyAsString | +| bmqa.cpp:278:7:278:45 | * ... | semmle.label | * ... | +| bmqa.cpp:278:8:278:11 | copy | semmle.label | copy | +| bmqa.cpp:278:32:278:39 | call to getPropertyAsString | semmle.label | call to getPropertyAsString | +| bmqa.cpp:278:32:278:39 | data output argument | semmle.label | data output argument | | bmqa.cpp:282:19:282:26 | call to source | semmle.label | call to source | | bmqa.cpp:283:36:283:76 | *call to data | semmle.label | *call to data | +| bmqa.cpp:283:36:283:76 | *call to data | semmle.label | *call to data | +| bmqa.cpp:283:66:283:69 | data | semmle.label | data | | bmqa.cpp:285:2:285:4 | *msg | semmle.label | *msg | | bmqa.cpp:285:22:285:27 | loadProperties output argument | semmle.label | loadProperties output argument | | bmqa.cpp:287:7:287:55 | * ... | semmle.label | * ... | -| bmqa.cpp:287:8:287:21 | *call to operator= | semmle.label | *call to operator= | +| bmqa.cpp:287:7:287:55 | * ... | semmle.label | * ... | +| bmqa.cpp:287:8:287:21 | call to operator= | semmle.label | call to operator= | | bmqa.cpp:287:16:287:20 | *props | semmle.label | *props | -| bmqa.cpp:287:42:287:49 | *call to getPropertyAsString | semmle.label | *call to getPropertyAsString | +| bmqa.cpp:287:42:287:49 | call to getPropertyAsString | semmle.label | call to getPropertyAsString | +| bmqa.cpp:287:42:287:49 | data output argument | semmle.label | data output argument | | bmqa.cpp:291:19:291:26 | call to source | semmle.label | call to source | | bmqa.cpp:292:28:292:58 | *call to data | semmle.label | *call to data | +| bmqa.cpp:292:28:292:58 | *call to data | semmle.label | *call to data | +| bmqa.cpp:292:48:292:51 | data | semmle.label | data | | bmqa.cpp:294:2:294:6 | setPropertyAsString output argument | semmle.label | setPropertyAsString output argument | | bmqa.cpp:294:35:294:40 | * ... | semmle.label | * ... | | bmqa.cpp:295:7:295:46 | * ... | semmle.label | * ... | -| bmqa.cpp:295:8:295:12 | *props | semmle.label | *props | -| bmqa.cpp:295:33:295:40 | *call to getPropertyAsString | semmle.label | *call to getPropertyAsString | +| bmqa.cpp:295:7:295:46 | * ... | semmle.label | * ... | +| bmqa.cpp:295:8:295:12 | props | semmle.label | props | +| bmqa.cpp:295:33:295:40 | call to getPropertyAsString | semmle.label | call to getPropertyAsString | +| bmqa.cpp:295:33:295:40 | data output argument | semmle.label | data output argument | | bmqa.cpp:299:25:299:32 | call to source | semmle.label | call to source | | bmqa.cpp:301:2:301:6 | setPropertyAsString output argument | semmle.label | setPropertyAsString output argument | | bmqa.cpp:301:35:301:39 | value | semmle.label | value | | bmqa.cpp:302:7:302:46 | * ... | semmle.label | * ... | -| bmqa.cpp:302:8:302:12 | *props | semmle.label | *props | -| bmqa.cpp:302:33:302:40 | *call to getPropertyAsString | semmle.label | *call to getPropertyAsString | +| bmqa.cpp:302:7:302:46 | * ... | semmle.label | * ... | +| bmqa.cpp:302:8:302:12 | props | semmle.label | props | +| bmqa.cpp:302:33:302:40 | call to getPropertyAsString | semmle.label | call to getPropertyAsString | +| bmqa.cpp:302:33:302:40 | data output argument | semmle.label | data output argument | | bmqa.cpp:306:19:306:26 | call to source | semmle.label | call to source | | bmqa.cpp:307:33:307:68 | *call to data | semmle.label | *call to data | +| bmqa.cpp:307:33:307:68 | *call to data | semmle.label | *call to data | +| bmqa.cpp:307:58:307:61 | data | semmle.label | data | | bmqa.cpp:309:2:309:6 | setPropertyAsBinary output argument | semmle.label | setPropertyAsBinary output argument | | bmqa.cpp:309:35:309:40 | * ... | semmle.label | * ... | | bmqa.cpp:310:7:310:46 | * ... | semmle.label | * ... | -| bmqa.cpp:310:8:310:12 | *props | semmle.label | *props | -| bmqa.cpp:310:33:310:40 | *call to getPropertyAsBinary [element] | semmle.label | *call to getPropertyAsBinary [element] | +| bmqa.cpp:310:8:310:12 | props | semmle.label | props | +| bmqa.cpp:310:33:310:40 | call to getPropertyAsBinary [element] | semmle.label | call to getPropertyAsBinary [element] | | bmqa.cpp:315:24:315:31 | call to source | semmle.label | call to source | | bmqa.cpp:317:2:317:6 | setPropertyAsBool output argument | semmle.label | setPropertyAsBool output argument | | bmqa.cpp:317:26:317:29 | name | semmle.label | name | | bmqa.cpp:318:47:318:48 | call to MessagePropertiesIterator | semmle.label | call to MessagePropertiesIterator | | bmqa.cpp:318:50:318:55 | *& ... | semmle.label | *& ... | | bmqa.cpp:319:7:319:23 | * ... | semmle.label | * ... | -| bmqa.cpp:319:8:319:9 | *it | semmle.label | *it | -| bmqa.cpp:319:15:319:17 | *call to name | semmle.label | *call to name | +| bmqa.cpp:319:7:319:23 | * ... | semmle.label | * ... | +| bmqa.cpp:319:8:319:9 | it | semmle.label | it | +| bmqa.cpp:319:15:319:17 | call to name | semmle.label | call to name | +| bmqa.cpp:319:15:319:17 | data output argument | semmle.label | data output argument | | bmqa.cpp:323:24:323:31 | call to source | semmle.label | call to source | | bmqa.cpp:325:2:325:6 | setPropertyAsChar output argument | semmle.label | setPropertyAsChar output argument | | bmqa.cpp:325:26:325:29 | name | semmle.label | name | | bmqa.cpp:326:47:326:48 | call to MessagePropertiesIterator | semmle.label | call to MessagePropertiesIterator | | bmqa.cpp:326:50:326:55 | *& ... | semmle.label | *& ... | | bmqa.cpp:327:7:327:23 | * ... | semmle.label | * ... | -| bmqa.cpp:327:8:327:9 | *it | semmle.label | *it | -| bmqa.cpp:327:15:327:17 | *call to name | semmle.label | *call to name | +| bmqa.cpp:327:7:327:23 | * ... | semmle.label | * ... | +| bmqa.cpp:327:8:327:9 | it | semmle.label | it | +| bmqa.cpp:327:15:327:17 | call to name | semmle.label | call to name | +| bmqa.cpp:327:15:327:17 | data output argument | semmle.label | data output argument | | bmqa.cpp:331:24:331:31 | call to source | semmle.label | call to source | | bmqa.cpp:333:2:333:6 | setPropertyAsShort output argument | semmle.label | setPropertyAsShort output argument | | bmqa.cpp:333:27:333:30 | name | semmle.label | name | | bmqa.cpp:334:47:334:48 | call to MessagePropertiesIterator | semmle.label | call to MessagePropertiesIterator | | bmqa.cpp:334:50:334:55 | *& ... | semmle.label | *& ... | | bmqa.cpp:335:7:335:23 | * ... | semmle.label | * ... | -| bmqa.cpp:335:8:335:9 | *it | semmle.label | *it | -| bmqa.cpp:335:15:335:17 | *call to name | semmle.label | *call to name | +| bmqa.cpp:335:7:335:23 | * ... | semmle.label | * ... | +| bmqa.cpp:335:8:335:9 | it | semmle.label | it | +| bmqa.cpp:335:15:335:17 | call to name | semmle.label | call to name | +| bmqa.cpp:335:15:335:17 | data output argument | semmle.label | data output argument | | bmqa.cpp:339:24:339:31 | call to source | semmle.label | call to source | | bmqa.cpp:341:2:341:6 | setPropertyAsInt32 output argument | semmle.label | setPropertyAsInt32 output argument | | bmqa.cpp:341:27:341:30 | name | semmle.label | name | | bmqa.cpp:342:47:342:48 | call to MessagePropertiesIterator | semmle.label | call to MessagePropertiesIterator | | bmqa.cpp:342:50:342:55 | *& ... | semmle.label | *& ... | | bmqa.cpp:343:7:343:23 | * ... | semmle.label | * ... | -| bmqa.cpp:343:8:343:9 | *it | semmle.label | *it | -| bmqa.cpp:343:15:343:17 | *call to name | semmle.label | *call to name | +| bmqa.cpp:343:7:343:23 | * ... | semmle.label | * ... | +| bmqa.cpp:343:8:343:9 | it | semmle.label | it | +| bmqa.cpp:343:15:343:17 | call to name | semmle.label | call to name | +| bmqa.cpp:343:15:343:17 | data output argument | semmle.label | data output argument | | bmqa.cpp:347:24:347:31 | call to source | semmle.label | call to source | | bmqa.cpp:349:2:349:6 | setPropertyAsInt64 output argument | semmle.label | setPropertyAsInt64 output argument | | bmqa.cpp:349:27:349:30 | name | semmle.label | name | | bmqa.cpp:350:47:350:48 | call to MessagePropertiesIterator | semmle.label | call to MessagePropertiesIterator | | bmqa.cpp:350:50:350:55 | *& ... | semmle.label | *& ... | | bmqa.cpp:351:7:351:23 | * ... | semmle.label | * ... | -| bmqa.cpp:351:8:351:9 | *it | semmle.label | *it | -| bmqa.cpp:351:15:351:17 | *call to name | semmle.label | *call to name | +| bmqa.cpp:351:7:351:23 | * ... | semmle.label | * ... | +| bmqa.cpp:351:8:351:9 | it | semmle.label | it | +| bmqa.cpp:351:15:351:17 | call to name | semmle.label | call to name | +| bmqa.cpp:351:15:351:17 | data output argument | semmle.label | data output argument | | bmqa.cpp:355:24:355:31 | call to source | semmle.label | call to source | | bmqa.cpp:357:2:357:6 | setPropertyAsString output argument | semmle.label | setPropertyAsString output argument | | bmqa.cpp:357:28:357:31 | name | semmle.label | name | | bmqa.cpp:358:47:358:48 | call to MessagePropertiesIterator | semmle.label | call to MessagePropertiesIterator | | bmqa.cpp:358:50:358:55 | *& ... | semmle.label | *& ... | | bmqa.cpp:359:7:359:23 | * ... | semmle.label | * ... | -| bmqa.cpp:359:8:359:9 | *it | semmle.label | *it | -| bmqa.cpp:359:15:359:17 | *call to name | semmle.label | *call to name | +| bmqa.cpp:359:7:359:23 | * ... | semmle.label | * ... | +| bmqa.cpp:359:8:359:9 | it | semmle.label | it | +| bmqa.cpp:359:15:359:17 | call to name | semmle.label | call to name | +| bmqa.cpp:359:15:359:17 | data output argument | semmle.label | data output argument | | bmqa.cpp:363:24:363:31 | call to source | semmle.label | call to source | | bmqa.cpp:365:2:365:6 | setPropertyAsBinary output argument | semmle.label | setPropertyAsBinary output argument | | bmqa.cpp:365:28:365:31 | name | semmle.label | name | | bmqa.cpp:366:47:366:48 | call to MessagePropertiesIterator | semmle.label | call to MessagePropertiesIterator | | bmqa.cpp:366:50:366:55 | *& ... | semmle.label | *& ... | | bmqa.cpp:367:7:367:23 | * ... | semmle.label | * ... | -| bmqa.cpp:367:8:367:9 | *it | semmle.label | *it | -| bmqa.cpp:367:15:367:17 | *call to name | semmle.label | *call to name | +| bmqa.cpp:367:7:367:23 | * ... | semmle.label | * ... | +| bmqa.cpp:367:8:367:9 | it | semmle.label | it | +| bmqa.cpp:367:15:367:17 | call to name | semmle.label | call to name | +| bmqa.cpp:367:15:367:17 | data output argument | semmle.label | data output argument | | bmqa.cpp:371:19:371:26 | call to source | semmle.label | call to source | | bmqa.cpp:372:36:372:76 | *call to data | semmle.label | *call to data | +| bmqa.cpp:372:36:372:76 | *call to data | semmle.label | *call to data | +| bmqa.cpp:372:66:372:69 | data | semmle.label | data | | bmqa.cpp:374:2:374:4 | *msg | semmle.label | *msg | | bmqa.cpp:374:22:374:27 | loadProperties output argument | semmle.label | loadProperties output argument | | bmqa.cpp:375:47:375:48 | call to MessagePropertiesIterator | semmle.label | call to MessagePropertiesIterator | | bmqa.cpp:375:50:375:55 | *& ... | semmle.label | *& ... | | bmqa.cpp:377:8:377:24 | * ... | semmle.label | * ... | -| bmqa.cpp:377:9:377:10 | *it | semmle.label | *it | -| bmqa.cpp:377:16:377:18 | *call to name | semmle.label | *call to name | +| bmqa.cpp:377:8:377:24 | * ... | semmle.label | * ... | +| bmqa.cpp:377:9:377:10 | it | semmle.label | it | +| bmqa.cpp:377:16:377:18 | call to name | semmle.label | call to name | +| bmqa.cpp:377:16:377:18 | data output argument | semmle.label | data output argument | | bmqa.cpp:378:8:378:31 | * ... | semmle.label | * ... | -| bmqa.cpp:378:9:378:10 | *it | semmle.label | *it | -| bmqa.cpp:378:23:378:25 | *call to getAsString | semmle.label | *call to getAsString | +| bmqa.cpp:378:8:378:31 | * ... | semmle.label | * ... | +| bmqa.cpp:378:9:378:10 | it | semmle.label | it | +| bmqa.cpp:378:23:378:25 | call to getAsString | semmle.label | call to getAsString | +| bmqa.cpp:378:23:378:25 | data output argument | semmle.label | data output argument | | bmqa.cpp:379:8:379:31 | * ... | semmle.label | * ... | -| bmqa.cpp:379:9:379:10 | *it | semmle.label | *it | -| bmqa.cpp:379:23:379:25 | *call to getAsBinary [element] | semmle.label | *call to getAsBinary [element] | +| bmqa.cpp:379:9:379:10 | it | semmle.label | it | +| bmqa.cpp:379:23:379:25 | call to getAsBinary [element] | semmle.label | call to getAsBinary [element] | | bmqa.cpp:385:19:385:26 | call to source | semmle.label | call to source | | bmqa.cpp:386:36:386:76 | *call to data | semmle.label | *call to data | +| bmqa.cpp:386:36:386:76 | *call to data | semmle.label | *call to data | +| bmqa.cpp:386:66:386:69 | data | semmle.label | data | | bmqa.cpp:388:2:388:4 | *msg | semmle.label | *msg | | bmqa.cpp:388:22:388:27 | loadProperties output argument | semmle.label | loadProperties output argument | | bmqa.cpp:389:47:389:48 | call to MessagePropertiesIterator | semmle.label | call to MessagePropertiesIterator | @@ -2266,429 +3072,474 @@ nodes | bmqa.cpp:391:2:391:5 | operator= output argument | semmle.label | operator= output argument | | bmqa.cpp:391:9:391:10 | *it | semmle.label | *it | | bmqa.cpp:392:7:392:32 | * ... | semmle.label | * ... | -| bmqa.cpp:392:8:392:11 | *copy | semmle.label | *copy | -| bmqa.cpp:392:24:392:26 | *call to getAsString | semmle.label | *call to getAsString | +| bmqa.cpp:392:7:392:32 | * ... | semmle.label | * ... | +| bmqa.cpp:392:8:392:11 | copy | semmle.label | copy | +| bmqa.cpp:392:24:392:26 | call to getAsString | semmle.label | call to getAsString | +| bmqa.cpp:392:24:392:26 | data output argument | semmle.label | data output argument | +| bmqa.cpp:393:7:393:32 | * ... | semmle.label | * ... | | bmqa.cpp:393:7:393:32 | * ... | semmle.label | * ... | -| bmqa.cpp:393:8:393:18 | *call to operator= | semmle.label | *call to operator= | +| bmqa.cpp:393:8:393:18 | call to operator= | semmle.label | call to operator= | | bmqa.cpp:393:16:393:17 | *it | semmle.label | *it | -| bmqa.cpp:393:24:393:26 | *call to name | semmle.label | *call to name | +| bmqa.cpp:393:24:393:26 | call to name | semmle.label | call to name | +| bmqa.cpp:393:24:393:26 | data output argument | semmle.label | data output argument | +| bslx.cpp:145:33:145:40 | call to source | semmle.label | call to source | +| bslx.cpp:146:34:146:39 | call to ByteInStream | semmle.label | call to ByteInStream | +| bslx.cpp:146:41:146:44 | data | semmle.label | data | +| bslx.cpp:146:41:146:51 | *call to data | semmle.label | *call to data | +| bslx.cpp:148:2:148:7 | stream | semmle.label | stream | +| bslx.cpp:148:22:148:24 | getArrayInt8 output argument | semmle.label | getArrayInt8 output argument | +| bslx.cpp:149:7:149:10 | * ... | semmle.label | * ... | +| bslx.cpp:153:33:153:40 | call to source | semmle.label | call to source | +| bslx.cpp:154:34:154:39 | call to ByteInStream | semmle.label | call to ByteInStream | +| bslx.cpp:154:41:154:44 | data | semmle.label | data | +| bslx.cpp:154:41:154:51 | *call to data | semmle.label | *call to data | +| bslx.cpp:156:2:156:7 | stream | semmle.label | stream | +| bslx.cpp:156:19:156:21 | getString output argument | semmle.label | getString output argument | +| bslx.cpp:157:7:157:17 | * ... | semmle.label | * ... | +| bslx.cpp:157:7:157:17 | * ... | semmle.label | * ... | +| bslx.cpp:157:8:157:10 | out | semmle.label | out | | bslx.cpp:161:33:161:40 | call to source | semmle.label | call to source | | bslx.cpp:162:34:162:39 | call to ByteInStream | semmle.label | call to ByteInStream | -| bslx.cpp:162:46:162:49 | *call to data | semmle.label | *call to data | -| bslx.cpp:164:2:164:7 | *stream | semmle.label | *stream | -| bslx.cpp:164:22:164:24 | getArrayInt8 output argument | semmle.label | getArrayInt8 output argument | -| bslx.cpp:165:7:165:10 | * ... | semmle.label | * ... | -| bslx.cpp:169:33:169:40 | call to source | semmle.label | call to source | -| bslx.cpp:170:34:170:39 | call to ByteInStream | semmle.label | call to ByteInStream | -| bslx.cpp:170:46:170:49 | *call to data | semmle.label | *call to data | -| bslx.cpp:172:2:172:7 | *stream | semmle.label | *stream | -| bslx.cpp:172:19:172:21 | getString output argument | semmle.label | getString output argument | -| bslx.cpp:173:7:173:17 | * ... | semmle.label | * ... | -| bslx.cpp:177:33:177:40 | call to source | semmle.label | call to source | -| bslx.cpp:178:34:178:39 | call to ByteInStream | semmle.label | call to ByteInStream | -| bslx.cpp:178:46:178:49 | *call to data | semmle.label | *call to data | -| bslx.cpp:181:2:181:7 | *stream | semmle.label | *stream | -| bslx.cpp:181:17:181:20 | *call to getInt32 | semmle.label | *call to getInt32 | -| bslx.cpp:181:31:181:33 | getString output argument | semmle.label | getString output argument | -| bslx.cpp:182:7:182:17 | * ... | semmle.label | * ... | -| bslx.cpp:187:33:187:40 | call to source | semmle.label | call to source | -| bslx.cpp:188:2:188:7 | reset output argument | semmle.label | reset output argument | -| bslx.cpp:188:20:188:23 | *call to data | semmle.label | *call to data | -| bslx.cpp:190:2:190:7 | *stream | semmle.label | *stream | -| bslx.cpp:190:19:190:21 | getString output argument | semmle.label | getString output argument | -| bslx.cpp:191:7:191:17 | * ... | semmle.label | * ... | -| bslx.cpp:195:33:195:40 | call to source | semmle.label | call to source | -| bslx.cpp:196:20:196:45 | *call to data | semmle.label | *call to data | -| bslx.cpp:197:50:197:55 | call to GenericInStream | semmle.label | call to GenericInStream | -| bslx.cpp:197:57:197:58 | *sb | semmle.label | *sb | -| bslx.cpp:199:2:199:7 | *stream | semmle.label | *stream | -| bslx.cpp:199:19:199:21 | getString output argument | semmle.label | getString output argument | -| bslx.cpp:200:7:200:17 | * ... | semmle.label | * ... | -| bslx.cpp:213:33:213:40 | call to source | semmle.label | call to source | -| bslx.cpp:214:34:214:39 | call to ByteInStream | semmle.label | call to ByteInStream | -| bslx.cpp:214:46:214:49 | *call to data | semmle.label | *call to data | -| bslx.cpp:216:53:216:58 | *stream | semmle.label | *stream | -| bslx.cpp:216:61:216:63 | bdexStreamIn output argument | semmle.label | bdexStreamIn output argument | -| bslx.cpp:217:7:217:17 | * ... | semmle.label | * ... | -| bslx.cpp:223:33:223:40 | call to source | semmle.label | call to source | -| bslx.cpp:224:34:224:39 | call to ByteInStream | semmle.label | call to ByteInStream | -| bslx.cpp:224:46:224:49 | *call to data | semmle.label | *call to data | -| bslx.cpp:247:2:247:7 | *stream | semmle.label | *stream | -| bslx.cpp:247:18:247:21 | *call to getLength | semmle.label | *call to getLength | -| bslx.cpp:247:32:247:35 | *call to getVersion | semmle.label | *call to getVersion | -| bslx.cpp:247:43:247:46 | *call to getInt8 | semmle.label | *call to getInt8 | -| bslx.cpp:247:55:247:59 | *call to getUint8 | semmle.label | *call to getUint8 | -| bslx.cpp:247:68:247:71 | *call to getInt16 | semmle.label | *call to getInt16 | -| bslx.cpp:247:81:247:85 | *call to getUint16 | semmle.label | *call to getUint16 | -| bslx.cpp:247:94:247:97 | *call to getInt24 | semmle.label | *call to getInt24 | -| bslx.cpp:247:107:247:111 | *call to getUint24 | semmle.label | *call to getUint24 | -| bslx.cpp:247:120:247:123 | *call to getInt32 | semmle.label | *call to getInt32 | -| bslx.cpp:247:133:247:137 | *call to getUint32 | semmle.label | *call to getUint32 | -| bslx.cpp:247:146:247:150 | *call to getInt40 | semmle.label | *call to getInt40 | -| bslx.cpp:247:160:247:165 | *call to getUint40 | semmle.label | *call to getUint40 | -| bslx.cpp:247:174:247:178 | *call to getInt48 | semmle.label | *call to getInt48 | -| bslx.cpp:247:188:247:193 | *call to getUint48 | semmle.label | *call to getUint48 | -| bslx.cpp:247:202:247:206 | *call to getInt56 | semmle.label | *call to getInt56 | -| bslx.cpp:247:216:247:221 | *call to getUint56 | semmle.label | *call to getUint56 | -| bslx.cpp:247:230:247:234 | *call to getInt64 | semmle.label | *call to getInt64 | -| bslx.cpp:247:244:247:249 | *call to getUint64 | semmle.label | *call to getUint64 | -| bslx.cpp:247:260:247:263 | *call to getFloat32 | semmle.label | *call to getFloat32 | -| bslx.cpp:247:274:247:277 | *call to getFloat64 | semmle.label | *call to getFloat64 | -| bslx.cpp:247:287:247:292 | *call to getString | semmle.label | *call to getString | -| bslx.cpp:247:305:247:315 | *call to getArrayInt8 | semmle.label | *call to getArrayInt8 | -| bslx.cpp:247:329:247:340 | *call to getArrayUint8 | semmle.label | *call to getArrayUint8 | -| bslx.cpp:247:354:247:364 | *call to getArrayInt16 | semmle.label | *call to getArrayInt16 | -| bslx.cpp:247:379:247:390 | *call to getArrayUint16 | semmle.label | *call to getArrayUint16 | -| bslx.cpp:247:404:247:414 | *call to getArrayInt24 | semmle.label | *call to getArrayInt24 | -| bslx.cpp:247:429:247:440 | *call to getArrayUint24 | semmle.label | *call to getArrayUint24 | -| bslx.cpp:247:454:247:464 | *call to getArrayInt32 | semmle.label | *call to getArrayInt32 | -| bslx.cpp:247:479:247:490 | *call to getArrayUint32 | semmle.label | *call to getArrayUint32 | -| bslx.cpp:247:504:247:515 | *call to getArrayInt40 | semmle.label | *call to getArrayInt40 | -| bslx.cpp:247:530:247:542 | *call to getArrayUint40 | semmle.label | *call to getArrayUint40 | -| bslx.cpp:247:556:247:567 | *call to getArrayInt48 | semmle.label | *call to getArrayInt48 | -| bslx.cpp:247:582:247:594 | *call to getArrayUint48 | semmle.label | *call to getArrayUint48 | -| bslx.cpp:247:608:247:619 | *call to getArrayInt56 | semmle.label | *call to getArrayInt56 | -| bslx.cpp:247:634:247:646 | *call to getArrayUint56 | semmle.label | *call to getArrayUint56 | -| bslx.cpp:247:660:247:671 | *call to getArrayInt64 | semmle.label | *call to getArrayInt64 | -| bslx.cpp:247:686:247:698 | *call to getArrayUint64 | semmle.label | *call to getArrayUint64 | -| bslx.cpp:247:714:247:724 | *call to getArrayFloat32 | semmle.label | *call to getArrayFloat32 | -| bslx.cpp:247:740:247:750 | *call to getArrayFloat64 | semmle.label | *call to getArrayFloat64 | -| bslx.cpp:247:761:247:763 | getString output argument | semmle.label | getString output argument | -| bslx.cpp:248:7:248:17 | * ... | semmle.label | * ... | -| bslx.cpp:252:33:252:40 | call to source | semmle.label | call to source | -| bslx.cpp:253:20:253:45 | *call to data | semmle.label | *call to data | -| bslx.cpp:254:50:254:55 | call to GenericInStream | semmle.label | call to GenericInStream | -| bslx.cpp:254:57:254:58 | *sb | semmle.label | *sb | -| bslx.cpp:277:2:277:7 | *stream | semmle.label | *stream | -| bslx.cpp:277:18:277:21 | *call to getLength | semmle.label | *call to getLength | -| bslx.cpp:277:32:277:35 | *call to getVersion | semmle.label | *call to getVersion | -| bslx.cpp:277:43:277:46 | *call to getInt8 | semmle.label | *call to getInt8 | -| bslx.cpp:277:55:277:59 | *call to getUint8 | semmle.label | *call to getUint8 | -| bslx.cpp:277:68:277:71 | *call to getInt16 | semmle.label | *call to getInt16 | -| bslx.cpp:277:81:277:85 | *call to getUint16 | semmle.label | *call to getUint16 | -| bslx.cpp:277:94:277:97 | *call to getInt24 | semmle.label | *call to getInt24 | -| bslx.cpp:277:107:277:111 | *call to getUint24 | semmle.label | *call to getUint24 | -| bslx.cpp:277:120:277:123 | *call to getInt32 | semmle.label | *call to getInt32 | -| bslx.cpp:277:133:277:137 | *call to getUint32 | semmle.label | *call to getUint32 | -| bslx.cpp:277:146:277:150 | *call to getInt40 | semmle.label | *call to getInt40 | -| bslx.cpp:277:160:277:165 | *call to getUint40 | semmle.label | *call to getUint40 | -| bslx.cpp:277:174:277:178 | *call to getInt48 | semmle.label | *call to getInt48 | -| bslx.cpp:277:188:277:193 | *call to getUint48 | semmle.label | *call to getUint48 | -| bslx.cpp:277:202:277:206 | *call to getInt56 | semmle.label | *call to getInt56 | -| bslx.cpp:277:216:277:221 | *call to getUint56 | semmle.label | *call to getUint56 | -| bslx.cpp:277:230:277:234 | *call to getInt64 | semmle.label | *call to getInt64 | -| bslx.cpp:277:244:277:249 | *call to getUint64 | semmle.label | *call to getUint64 | -| bslx.cpp:277:260:277:263 | *call to getFloat32 | semmle.label | *call to getFloat32 | -| bslx.cpp:277:274:277:277 | *call to getFloat64 | semmle.label | *call to getFloat64 | -| bslx.cpp:277:287:277:292 | *call to getString | semmle.label | *call to getString | -| bslx.cpp:277:305:277:315 | *call to getArrayInt8 | semmle.label | *call to getArrayInt8 | -| bslx.cpp:277:329:277:340 | *call to getArrayUint8 | semmle.label | *call to getArrayUint8 | -| bslx.cpp:277:354:277:364 | *call to getArrayInt16 | semmle.label | *call to getArrayInt16 | -| bslx.cpp:277:379:277:390 | *call to getArrayUint16 | semmle.label | *call to getArrayUint16 | -| bslx.cpp:277:404:277:414 | *call to getArrayInt24 | semmle.label | *call to getArrayInt24 | -| bslx.cpp:277:429:277:440 | *call to getArrayUint24 | semmle.label | *call to getArrayUint24 | -| bslx.cpp:277:454:277:464 | *call to getArrayInt32 | semmle.label | *call to getArrayInt32 | -| bslx.cpp:277:479:277:490 | *call to getArrayUint32 | semmle.label | *call to getArrayUint32 | -| bslx.cpp:277:504:277:515 | *call to getArrayInt40 | semmle.label | *call to getArrayInt40 | -| bslx.cpp:277:530:277:542 | *call to getArrayUint40 | semmle.label | *call to getArrayUint40 | -| bslx.cpp:277:556:277:567 | *call to getArrayInt48 | semmle.label | *call to getArrayInt48 | -| bslx.cpp:277:582:277:594 | *call to getArrayUint48 | semmle.label | *call to getArrayUint48 | -| bslx.cpp:277:608:277:619 | *call to getArrayInt56 | semmle.label | *call to getArrayInt56 | -| bslx.cpp:277:634:277:646 | *call to getArrayUint56 | semmle.label | *call to getArrayUint56 | -| bslx.cpp:277:660:277:671 | *call to getArrayInt64 | semmle.label | *call to getArrayInt64 | -| bslx.cpp:277:686:277:698 | *call to getArrayUint64 | semmle.label | *call to getArrayUint64 | -| bslx.cpp:277:714:277:724 | *call to getArrayFloat32 | semmle.label | *call to getArrayFloat32 | -| bslx.cpp:277:740:277:750 | *call to getArrayFloat64 | semmle.label | *call to getArrayFloat64 | -| bslx.cpp:277:761:277:763 | getString output argument | semmle.label | getString output argument | -| bslx.cpp:278:7:278:17 | * ... | semmle.label | * ... | -| bslx.cpp:282:33:282:40 | call to source | semmle.label | call to source | -| bslx.cpp:283:34:283:39 | call to ByteInStream | semmle.label | call to ByteInStream | -| bslx.cpp:283:46:283:49 | *call to data | semmle.label | *call to data | -| bslx.cpp:285:53:285:58 | *stream | semmle.label | *stream | -| bslx.cpp:285:61:285:61 | bdexStreamIn output argument | semmle.label | bdexStreamIn output argument | -| bslx.cpp:286:7:286:7 | x | semmle.label | x | -| bslx.cpp:287:53:287:58 | *stream | semmle.label | *stream | -| bslx.cpp:287:61:287:61 | bdexStreamIn output argument | semmle.label | bdexStreamIn output argument | -| bslx.cpp:288:7:288:7 | x | semmle.label | x | -| bslx.cpp:290:52:290:66 | *call to bdexStreamIn | semmle.label | *call to bdexStreamIn | -| bslx.cpp:290:53:290:58 | *stream | semmle.label | *stream | -| bslx.cpp:290:77:290:79 | getString output argument | semmle.label | getString output argument | -| bslx.cpp:291:7:291:17 | * ... | semmle.label | * ... | -| bslx.cpp:295:33:295:40 | call to source | semmle.label | call to source | -| bslx.cpp:296:34:296:39 | call to ByteInStream | semmle.label | call to ByteInStream | -| bslx.cpp:296:46:296:49 | *call to data | semmle.label | *call to data | -| bslx.cpp:298:53:298:58 | *stream | semmle.label | *stream | -| bslx.cpp:298:61:298:63 | bdexStreamIn output argument | semmle.label | bdexStreamIn output argument | -| bslx.cpp:299:7:299:17 | * ... | semmle.label | * ... | -| bslx.cpp:309:33:309:40 | call to source | semmle.label | call to source | -| bslx.cpp:310:34:310:39 | call to ByteInStream | semmle.label | call to ByteInStream | -| bslx.cpp:310:46:310:49 | *call to data | semmle.label | *call to data | -| bslx.cpp:312:53:312:58 | *stream | semmle.label | *stream | -| bslx.cpp:312:61:312:63 | bdexStreamIn output argument | semmle.label | bdexStreamIn output argument | -| bslx.cpp:313:7:313:9 | out | semmle.label | out | -| bslx.cpp:322:40:322:60 | call to source | semmle.label | call to source | -| bslx.cpp:322:40:322:60 | call to source | semmle.label | call to source | -| bslx.cpp:323:2:323:7 | reset output argument | semmle.label | reset output argument | -| bslx.cpp:323:15:323:18 | *data | semmle.label | *data | -| bslx.cpp:325:2:325:7 | *stream | semmle.label | *stream | -| bslx.cpp:325:19:325:21 | getString output argument | semmle.label | getString output argument | -| bslx.cpp:326:7:326:17 | * ... | semmle.label | * ... | -| bslx.cpp:330:33:330:40 | call to source | semmle.label | call to source | -| bslx.cpp:331:34:331:39 | call to ByteInStream | semmle.label | call to ByteInStream | -| bslx.cpp:331:46:331:49 | *call to data | semmle.label | *call to data | -| bslx.cpp:334:2:334:7 | *stream | semmle.label | *stream | -| bslx.cpp:334:19:334:21 | getString output argument | semmle.label | getString output argument | -| bslx.cpp:335:7:335:17 | * ... | semmle.label | * ... | -| bslx.cpp:349:33:349:40 | call to source | semmle.label | call to source | -| bslx.cpp:350:34:350:39 | call to ByteInStream | semmle.label | call to ByteInStream | -| bslx.cpp:350:46:350:49 | *call to data | semmle.label | *call to data | -| bslx.cpp:354:2:354:7 | *stream | semmle.label | *stream | -| bslx.cpp:354:19:354:21 | getString output argument | semmle.label | getString output argument | -| bslx.cpp:356:7:356:17 | * ... | semmle.label | * ... | -| protobuf.cpp:117:27:117:51 | call to source | semmle.label | call to source | -| protobuf.cpp:117:27:117:51 | call to source | semmle.label | call to source | -| protobuf.cpp:118:2:118:4 | ParseFromString output argument | semmle.label | ParseFromString output argument | -| protobuf.cpp:118:22:118:25 | data | semmle.label | data | -| protobuf.cpp:119:7:119:9 | msg | semmle.label | msg | -| protobuf.cpp:124:20:124:37 | call to source | semmle.label | call to source | -| protobuf.cpp:124:20:124:37 | call to source | semmle.label | call to source | -| protobuf.cpp:125:2:125:4 | ParseFromString output argument | semmle.label | ParseFromString output argument | -| protobuf.cpp:125:22:125:25 | *data | semmle.label | *data | -| protobuf.cpp:126:7:126:9 | msg | semmle.label | msg | -| protobuf.cpp:131:27:131:51 | call to source | semmle.label | call to source | -| protobuf.cpp:131:27:131:51 | call to source | semmle.label | call to source | -| protobuf.cpp:132:2:132:4 | ParsePartialFromString output argument | semmle.label | ParsePartialFromString output argument | -| protobuf.cpp:132:29:132:32 | data | semmle.label | data | -| protobuf.cpp:133:7:133:9 | msg | semmle.label | msg | -| protobuf.cpp:138:20:138:37 | call to source | semmle.label | call to source | -| protobuf.cpp:138:20:138:37 | call to source | semmle.label | call to source | -| protobuf.cpp:139:2:139:4 | ParsePartialFromString output argument | semmle.label | ParsePartialFromString output argument | -| protobuf.cpp:139:29:139:32 | *data | semmle.label | *data | -| protobuf.cpp:140:7:140:9 | msg | semmle.label | msg | -| protobuf.cpp:145:27:145:51 | call to source | semmle.label | call to source | -| protobuf.cpp:145:27:145:51 | call to source | semmle.label | call to source | -| protobuf.cpp:146:2:146:4 | MergeFromString output argument | semmle.label | MergeFromString output argument | -| protobuf.cpp:146:22:146:25 | data | semmle.label | data | -| protobuf.cpp:147:7:147:9 | msg | semmle.label | msg | -| protobuf.cpp:152:20:152:37 | call to source | semmle.label | call to source | -| protobuf.cpp:152:20:152:37 | call to source | semmle.label | call to source | -| protobuf.cpp:153:2:153:4 | MergeFromString output argument | semmle.label | MergeFromString output argument | -| protobuf.cpp:153:22:153:25 | *data | semmle.label | *data | -| protobuf.cpp:154:7:154:9 | msg | semmle.label | msg | -| protobuf.cpp:159:27:159:51 | call to source | semmle.label | call to source | -| protobuf.cpp:159:27:159:51 | call to source | semmle.label | call to source | -| protobuf.cpp:160:2:160:4 | MergePartialFromString output argument | semmle.label | MergePartialFromString output argument | -| protobuf.cpp:160:29:160:32 | data | semmle.label | data | -| protobuf.cpp:161:7:161:9 | msg | semmle.label | msg | -| protobuf.cpp:166:20:166:37 | call to source | semmle.label | call to source | -| protobuf.cpp:166:20:166:37 | call to source | semmle.label | call to source | -| protobuf.cpp:167:2:167:4 | MergePartialFromString output argument | semmle.label | MergePartialFromString output argument | -| protobuf.cpp:167:29:167:32 | *data | semmle.label | *data | -| protobuf.cpp:168:7:168:9 | msg | semmle.label | msg | -| protobuf.cpp:173:19:173:38 | call to source | semmle.label | call to source | -| protobuf.cpp:174:2:174:4 | ParseFromArray output argument | semmle.label | ParseFromArray output argument | -| protobuf.cpp:174:21:174:31 | *call to data | semmle.label | *call to data | -| protobuf.cpp:175:7:175:9 | msg | semmle.label | msg | -| protobuf.cpp:180:19:180:38 | call to source | semmle.label | call to source | -| protobuf.cpp:181:2:181:4 | ParsePartialFromArray output argument | semmle.label | ParsePartialFromArray output argument | -| protobuf.cpp:181:28:181:38 | *call to data | semmle.label | *call to data | -| protobuf.cpp:182:7:182:9 | msg | semmle.label | msg | -| protobuf.cpp:187:20:187:37 | call to source | semmle.label | call to source | -| protobuf.cpp:187:20:187:37 | call to source | semmle.label | call to source | -| protobuf.cpp:188:2:188:4 | ParseFromCord output argument | semmle.label | ParseFromCord output argument | -| protobuf.cpp:188:20:188:23 | *data | semmle.label | *data | -| protobuf.cpp:189:7:189:9 | msg | semmle.label | msg | -| protobuf.cpp:194:20:194:37 | call to source | semmle.label | call to source | -| protobuf.cpp:194:20:194:37 | call to source | semmle.label | call to source | -| protobuf.cpp:195:2:195:4 | ParsePartialFromCord output argument | semmle.label | ParsePartialFromCord output argument | -| protobuf.cpp:195:27:195:30 | *data | semmle.label | *data | -| protobuf.cpp:196:7:196:9 | msg | semmle.label | msg | -| protobuf.cpp:201:20:201:37 | call to source | semmle.label | call to source | -| protobuf.cpp:201:20:201:37 | call to source | semmle.label | call to source | -| protobuf.cpp:202:2:202:4 | MergeFromCord output argument | semmle.label | MergeFromCord output argument | -| protobuf.cpp:202:20:202:23 | *data | semmle.label | *data | -| protobuf.cpp:203:7:203:9 | msg | semmle.label | msg | -| protobuf.cpp:208:20:208:37 | call to source | semmle.label | call to source | -| protobuf.cpp:208:20:208:37 | call to source | semmle.label | call to source | -| protobuf.cpp:209:2:209:4 | MergePartialFromCord output argument | semmle.label | MergePartialFromCord output argument | -| protobuf.cpp:209:27:209:30 | *data | semmle.label | *data | -| protobuf.cpp:210:7:210:9 | msg | semmle.label | msg | -| protobuf.cpp:215:20:215:39 | call to source | semmle.label | call to source | -| protobuf.cpp:215:20:215:39 | call to source | semmle.label | call to source | -| protobuf.cpp:216:2:216:4 | ParseFromIstream output argument | semmle.label | ParseFromIstream output argument | -| protobuf.cpp:216:23:216:25 | *& ... | semmle.label | *& ... | -| protobuf.cpp:217:7:217:9 | msg | semmle.label | msg | -| protobuf.cpp:222:20:222:39 | call to source | semmle.label | call to source | -| protobuf.cpp:222:20:222:39 | call to source | semmle.label | call to source | -| protobuf.cpp:223:2:223:4 | ParsePartialFromIstream output argument | semmle.label | ParsePartialFromIstream output argument | -| protobuf.cpp:223:30:223:32 | *& ... | semmle.label | *& ... | -| protobuf.cpp:224:7:224:9 | msg | semmle.label | msg | -| protobuf.cpp:229:27:229:53 | call to source | semmle.label | call to source | -| protobuf.cpp:229:27:229:53 | call to source | semmle.label | call to source | -| protobuf.cpp:230:2:230:4 | ParseFromZeroCopyStream output argument | semmle.label | ParseFromZeroCopyStream output argument | -| protobuf.cpp:230:30:230:32 | *& ... | semmle.label | *& ... | -| protobuf.cpp:231:7:231:9 | msg | semmle.label | msg | -| protobuf.cpp:236:27:236:53 | call to source | semmle.label | call to source | -| protobuf.cpp:236:27:236:53 | call to source | semmle.label | call to source | -| protobuf.cpp:237:2:237:4 | ParsePartialFromZeroCopyStream output argument | semmle.label | ParsePartialFromZeroCopyStream output argument | -| protobuf.cpp:237:37:237:39 | *& ... | semmle.label | *& ... | -| protobuf.cpp:238:7:238:9 | msg | semmle.label | msg | -| protobuf.cpp:243:27:243:53 | call to source | semmle.label | call to source | -| protobuf.cpp:243:27:243:53 | call to source | semmle.label | call to source | -| protobuf.cpp:244:2:244:4 | ParseFromBoundedZeroCopyStream output argument | semmle.label | ParseFromBoundedZeroCopyStream output argument | -| protobuf.cpp:244:37:244:39 | *& ... | semmle.label | *& ... | -| protobuf.cpp:245:7:245:9 | msg | semmle.label | msg | -| protobuf.cpp:250:27:250:53 | call to source | semmle.label | call to source | -| protobuf.cpp:250:27:250:53 | call to source | semmle.label | call to source | -| protobuf.cpp:251:2:251:4 | ParsePartialFromBoundedZeroCopyStream output argument | semmle.label | ParsePartialFromBoundedZeroCopyStream output argument | -| protobuf.cpp:251:44:251:46 | *& ... | semmle.label | *& ... | -| protobuf.cpp:252:7:252:9 | msg | semmle.label | msg | -| protobuf.cpp:257:27:257:53 | call to source | semmle.label | call to source | -| protobuf.cpp:257:27:257:53 | call to source | semmle.label | call to source | -| protobuf.cpp:258:2:258:4 | MergeFromBoundedZeroCopyStream output argument | semmle.label | MergeFromBoundedZeroCopyStream output argument | -| protobuf.cpp:258:37:258:39 | *& ... | semmle.label | *& ... | -| protobuf.cpp:259:7:259:9 | msg | semmle.label | msg | -| protobuf.cpp:264:27:264:53 | call to source | semmle.label | call to source | -| protobuf.cpp:264:27:264:53 | call to source | semmle.label | call to source | -| protobuf.cpp:265:2:265:4 | MergePartialFromBoundedZeroCopyStream output argument | semmle.label | MergePartialFromBoundedZeroCopyStream output argument | -| protobuf.cpp:265:44:265:46 | *& ... | semmle.label | *& ... | -| protobuf.cpp:266:7:266:9 | msg | semmle.label | msg | -| protobuf.cpp:271:24:271:47 | call to source | semmle.label | call to source | -| protobuf.cpp:271:24:271:47 | call to source | semmle.label | call to source | -| protobuf.cpp:272:2:272:4 | ParseFromCodedStream output argument | semmle.label | ParseFromCodedStream output argument | -| protobuf.cpp:272:27:272:29 | *& ... | semmle.label | *& ... | -| protobuf.cpp:273:7:273:9 | msg | semmle.label | msg | -| protobuf.cpp:278:24:278:47 | call to source | semmle.label | call to source | -| protobuf.cpp:278:24:278:47 | call to source | semmle.label | call to source | -| protobuf.cpp:279:2:279:4 | ParsePartialFromCodedStream output argument | semmle.label | ParsePartialFromCodedStream output argument | -| protobuf.cpp:279:34:279:36 | *& ... | semmle.label | *& ... | -| protobuf.cpp:280:7:280:9 | msg | semmle.label | msg | -| protobuf.cpp:285:24:285:47 | call to source | semmle.label | call to source | -| protobuf.cpp:285:24:285:47 | call to source | semmle.label | call to source | -| protobuf.cpp:286:2:286:4 | MergeFromCodedStream output argument | semmle.label | MergeFromCodedStream output argument | -| protobuf.cpp:286:27:286:29 | *& ... | semmle.label | *& ... | -| protobuf.cpp:287:7:287:9 | msg | semmle.label | msg | -| protobuf.cpp:292:24:292:47 | call to source | semmle.label | call to source | -| protobuf.cpp:292:24:292:47 | call to source | semmle.label | call to source | -| protobuf.cpp:293:2:293:4 | MergePartialFromCodedStream output argument | semmle.label | MergePartialFromCodedStream output argument | -| protobuf.cpp:293:34:293:36 | *& ... | semmle.label | *& ... | -| protobuf.cpp:294:7:294:9 | msg | semmle.label | msg | -| protobuf.cpp:307:15:307:28 | call to source | semmle.label | call to source | -| protobuf.cpp:307:15:307:28 | call to source | semmle.label | call to source | -| protobuf.cpp:309:2:309:4 | *msg | semmle.label | *msg | -| protobuf.cpp:309:24:309:27 | SerializeToString output argument | semmle.label | SerializeToString output argument | -| protobuf.cpp:310:7:310:9 | out | semmle.label | out | -| protobuf.cpp:314:15:314:28 | call to source | semmle.label | call to source | -| protobuf.cpp:314:15:314:28 | call to source | semmle.label | call to source | -| protobuf.cpp:316:2:316:4 | *msg | semmle.label | *msg | -| protobuf.cpp:316:31:316:34 | SerializePartialToString output argument | semmle.label | SerializePartialToString output argument | -| protobuf.cpp:317:7:317:9 | out | semmle.label | out | -| protobuf.cpp:321:15:321:28 | call to source | semmle.label | call to source | -| protobuf.cpp:321:15:321:28 | call to source | semmle.label | call to source | -| protobuf.cpp:323:2:323:4 | *msg | semmle.label | *msg | -| protobuf.cpp:323:21:323:24 | AppendToString output argument | semmle.label | AppendToString output argument | -| protobuf.cpp:324:7:324:9 | out | semmle.label | out | -| protobuf.cpp:328:15:328:28 | call to source | semmle.label | call to source | -| protobuf.cpp:328:15:328:28 | call to source | semmle.label | call to source | -| protobuf.cpp:330:2:330:4 | *msg | semmle.label | *msg | -| protobuf.cpp:330:28:330:31 | AppendPartialToString output argument | semmle.label | AppendPartialToString output argument | -| protobuf.cpp:331:7:331:9 | out | semmle.label | out | -| protobuf.cpp:335:15:335:28 | call to source | semmle.label | call to source | -| protobuf.cpp:335:15:335:28 | call to source | semmle.label | call to source | -| protobuf.cpp:337:2:337:4 | *msg | semmle.label | *msg | -| protobuf.cpp:337:24:337:27 | SerializeToString output argument | semmle.label | SerializeToString output argument | -| protobuf.cpp:338:7:338:9 | out | semmle.label | out | -| protobuf.cpp:342:15:342:28 | call to source | semmle.label | call to source | -| protobuf.cpp:342:15:342:28 | call to source | semmle.label | call to source | -| protobuf.cpp:344:2:344:4 | *msg | semmle.label | *msg | -| protobuf.cpp:344:31:344:34 | SerializePartialToString output argument | semmle.label | SerializePartialToString output argument | -| protobuf.cpp:345:7:345:9 | out | semmle.label | out | -| protobuf.cpp:349:15:349:28 | call to source | semmle.label | call to source | -| protobuf.cpp:349:15:349:28 | call to source | semmle.label | call to source | -| protobuf.cpp:351:2:351:4 | *msg | semmle.label | *msg | -| protobuf.cpp:351:21:351:24 | AppendToString output argument | semmle.label | AppendToString output argument | -| protobuf.cpp:352:7:352:9 | out | semmle.label | out | -| protobuf.cpp:356:15:356:28 | call to source | semmle.label | call to source | -| protobuf.cpp:356:15:356:28 | call to source | semmle.label | call to source | -| protobuf.cpp:358:2:358:4 | *msg | semmle.label | *msg | -| protobuf.cpp:358:28:358:31 | AppendPartialToString output argument | semmle.label | AppendPartialToString output argument | -| protobuf.cpp:359:7:359:9 | out | semmle.label | out | -| protobuf.cpp:363:15:363:28 | call to source | semmle.label | call to source | -| protobuf.cpp:363:15:363:28 | call to source | semmle.label | call to source | -| protobuf.cpp:365:2:365:4 | *msg | semmle.label | *msg | -| protobuf.cpp:365:23:365:25 | SerializeToArray output argument | semmle.label | SerializeToArray output argument | -| protobuf.cpp:366:7:366:10 | * ... | semmle.label | * ... | -| protobuf.cpp:370:15:370:28 | call to source | semmle.label | call to source | -| protobuf.cpp:370:15:370:28 | call to source | semmle.label | call to source | -| protobuf.cpp:372:2:372:4 | *msg | semmle.label | *msg | -| protobuf.cpp:372:30:372:32 | SerializePartialToArray output argument | semmle.label | SerializePartialToArray output argument | -| protobuf.cpp:373:7:373:10 | * ... | semmle.label | * ... | -| protobuf.cpp:377:15:377:28 | call to source | semmle.label | call to source | -| protobuf.cpp:377:15:377:28 | call to source | semmle.label | call to source | -| protobuf.cpp:379:2:379:4 | *msg | semmle.label | *msg | -| protobuf.cpp:379:22:379:25 | SerializeToCord output argument | semmle.label | SerializeToCord output argument | -| protobuf.cpp:380:7:380:9 | out | semmle.label | out | -| protobuf.cpp:384:15:384:28 | call to source | semmle.label | call to source | -| protobuf.cpp:384:15:384:28 | call to source | semmle.label | call to source | -| protobuf.cpp:386:2:386:4 | *msg | semmle.label | *msg | -| protobuf.cpp:386:29:386:32 | SerializePartialToCord output argument | semmle.label | SerializePartialToCord output argument | -| protobuf.cpp:387:7:387:9 | out | semmle.label | out | -| protobuf.cpp:391:15:391:28 | call to source | semmle.label | call to source | -| protobuf.cpp:391:15:391:28 | call to source | semmle.label | call to source | -| protobuf.cpp:393:2:393:4 | *msg | semmle.label | *msg | -| protobuf.cpp:393:19:393:22 | AppendToCord output argument | semmle.label | AppendToCord output argument | -| protobuf.cpp:394:7:394:9 | out | semmle.label | out | -| protobuf.cpp:398:15:398:28 | call to source | semmle.label | call to source | -| protobuf.cpp:398:15:398:28 | call to source | semmle.label | call to source | -| protobuf.cpp:400:2:400:4 | *msg | semmle.label | *msg | -| protobuf.cpp:400:26:400:29 | AppendPartialToCord output argument | semmle.label | AppendPartialToCord output argument | -| protobuf.cpp:401:7:401:9 | out | semmle.label | out | -| protobuf.cpp:405:15:405:28 | call to source | semmle.label | call to source | -| protobuf.cpp:405:15:405:28 | call to source | semmle.label | call to source | -| protobuf.cpp:407:2:407:4 | *msg | semmle.label | *msg | -| protobuf.cpp:407:25:407:28 | SerializeToOstream output argument | semmle.label | SerializeToOstream output argument | -| protobuf.cpp:408:7:408:9 | out | semmle.label | out | -| protobuf.cpp:412:15:412:28 | call to source | semmle.label | call to source | -| protobuf.cpp:412:15:412:28 | call to source | semmle.label | call to source | -| protobuf.cpp:414:2:414:4 | *msg | semmle.label | *msg | -| protobuf.cpp:414:32:414:35 | SerializePartialToOstream output argument | semmle.label | SerializePartialToOstream output argument | -| protobuf.cpp:415:7:415:9 | out | semmle.label | out | -| protobuf.cpp:419:15:419:28 | call to source | semmle.label | call to source | -| protobuf.cpp:419:15:419:28 | call to source | semmle.label | call to source | -| protobuf.cpp:421:2:421:4 | *msg | semmle.label | *msg | -| protobuf.cpp:421:32:421:35 | SerializeToZeroCopyStream output argument | semmle.label | SerializeToZeroCopyStream output argument | -| protobuf.cpp:422:7:422:9 | out | semmle.label | out | -| protobuf.cpp:426:15:426:28 | call to source | semmle.label | call to source | -| protobuf.cpp:426:15:426:28 | call to source | semmle.label | call to source | -| protobuf.cpp:428:2:428:4 | *msg | semmle.label | *msg | -| protobuf.cpp:428:39:428:42 | SerializePartialToZeroCopyStream output argument | semmle.label | SerializePartialToZeroCopyStream output argument | -| protobuf.cpp:429:7:429:9 | out | semmle.label | out | -| protobuf.cpp:433:15:433:28 | call to source | semmle.label | call to source | -| protobuf.cpp:433:15:433:28 | call to source | semmle.label | call to source | -| protobuf.cpp:435:2:435:4 | *msg | semmle.label | *msg | -| protobuf.cpp:435:29:435:32 | SerializeToCodedStream output argument | semmle.label | SerializeToCodedStream output argument | -| protobuf.cpp:436:7:436:9 | out | semmle.label | out | -| protobuf.cpp:440:15:440:28 | call to source | semmle.label | call to source | -| protobuf.cpp:440:15:440:28 | call to source | semmle.label | call to source | -| protobuf.cpp:442:2:442:4 | *msg | semmle.label | *msg | -| protobuf.cpp:442:36:442:39 | SerializePartialToCodedStream output argument | semmle.label | SerializePartialToCodedStream output argument | -| protobuf.cpp:443:7:443:9 | out | semmle.label | out | -| protobuf.cpp:449:15:449:28 | call to source | semmle.label | call to source | -| protobuf.cpp:449:15:449:28 | call to source | semmle.label | call to source | -| protobuf.cpp:450:7:450:9 | *msg | semmle.label | *msg | -| protobuf.cpp:450:11:450:27 | call to SerializeAsString | semmle.label | call to SerializeAsString | -| protobuf.cpp:454:15:454:28 | call to source | semmle.label | call to source | -| protobuf.cpp:454:15:454:28 | call to source | semmle.label | call to source | -| protobuf.cpp:455:7:455:9 | *msg | semmle.label | *msg | -| protobuf.cpp:455:11:455:34 | call to SerializePartialAsString | semmle.label | call to SerializePartialAsString | -| protobuf.cpp:459:15:459:28 | call to source | semmle.label | call to source | -| protobuf.cpp:459:15:459:28 | call to source | semmle.label | call to source | -| protobuf.cpp:460:7:460:9 | *msg | semmle.label | *msg | -| protobuf.cpp:460:11:460:25 | call to SerializeAsCord | semmle.label | call to SerializeAsCord | -| protobuf.cpp:464:15:464:28 | call to source | semmle.label | call to source | -| protobuf.cpp:464:15:464:28 | call to source | semmle.label | call to source | -| protobuf.cpp:465:7:465:9 | *msg | semmle.label | *msg | -| protobuf.cpp:465:11:465:32 | call to SerializePartialAsCord | semmle.label | call to SerializePartialAsCord | +| bslx.cpp:162:41:162:44 | data | semmle.label | data | +| bslx.cpp:162:41:162:51 | *call to data | semmle.label | *call to data | +| bslx.cpp:165:2:165:7 | stream | semmle.label | stream | +| bslx.cpp:165:17:165:20 | call to getInt32 | semmle.label | call to getInt32 | +| bslx.cpp:165:31:165:33 | getString output argument | semmle.label | getString output argument | +| bslx.cpp:166:7:166:17 | * ... | semmle.label | * ... | +| bslx.cpp:166:7:166:17 | * ... | semmle.label | * ... | +| bslx.cpp:166:8:166:10 | out | semmle.label | out | +| bslx.cpp:171:33:171:40 | call to source | semmle.label | call to source | +| bslx.cpp:172:2:172:7 | reset output argument | semmle.label | reset output argument | +| bslx.cpp:172:15:172:18 | data | semmle.label | data | +| bslx.cpp:172:15:172:25 | *call to data | semmle.label | *call to data | +| bslx.cpp:174:2:174:7 | stream | semmle.label | stream | +| bslx.cpp:174:19:174:21 | getString output argument | semmle.label | getString output argument | +| bslx.cpp:175:7:175:17 | * ... | semmle.label | * ... | +| bslx.cpp:175:7:175:17 | * ... | semmle.label | * ... | +| bslx.cpp:175:8:175:10 | out | semmle.label | out | +| bslx.cpp:179:33:179:40 | call to source | semmle.label | call to source | +| bslx.cpp:180:20:180:45 | *call to data | semmle.label | *call to data | +| bslx.cpp:180:20:180:45 | *call to data | semmle.label | *call to data | +| bslx.cpp:180:35:180:38 | data | semmle.label | data | +| bslx.cpp:181:50:181:55 | call to GenericInStream | semmle.label | call to GenericInStream | +| bslx.cpp:181:57:181:58 | *sb | semmle.label | *sb | +| bslx.cpp:183:2:183:7 | stream | semmle.label | stream | +| bslx.cpp:183:19:183:21 | getString output argument | semmle.label | getString output argument | +| bslx.cpp:184:7:184:17 | * ... | semmle.label | * ... | +| bslx.cpp:184:7:184:17 | * ... | semmle.label | * ... | +| bslx.cpp:184:8:184:10 | out | semmle.label | out | +| bslx.cpp:197:33:197:40 | call to source | semmle.label | call to source | +| bslx.cpp:198:34:198:39 | call to ByteInStream | semmle.label | call to ByteInStream | +| bslx.cpp:198:41:198:44 | data | semmle.label | data | +| bslx.cpp:198:41:198:51 | *call to data | semmle.label | *call to data | +| bslx.cpp:200:53:200:58 | *stream | semmle.label | *stream | +| bslx.cpp:200:61:200:63 | bdexStreamIn output argument | semmle.label | bdexStreamIn output argument | +| bslx.cpp:201:7:201:17 | * ... | semmle.label | * ... | +| bslx.cpp:201:7:201:17 | * ... | semmle.label | * ... | +| bslx.cpp:201:8:201:10 | obj | semmle.label | obj | +| bslx.cpp:207:33:207:40 | call to source | semmle.label | call to source | +| bslx.cpp:208:34:208:39 | call to ByteInStream | semmle.label | call to ByteInStream | +| bslx.cpp:208:41:208:44 | data | semmle.label | data | +| bslx.cpp:208:41:208:51 | *call to data | semmle.label | *call to data | +| bslx.cpp:231:2:231:7 | stream | semmle.label | stream | +| bslx.cpp:231:18:231:21 | call to getLength | semmle.label | call to getLength | +| bslx.cpp:231:32:231:35 | call to getVersion | semmle.label | call to getVersion | +| bslx.cpp:231:43:231:46 | call to getInt8 | semmle.label | call to getInt8 | +| bslx.cpp:231:55:231:59 | call to getUint8 | semmle.label | call to getUint8 | +| bslx.cpp:231:68:231:71 | call to getInt16 | semmle.label | call to getInt16 | +| bslx.cpp:231:81:231:85 | call to getUint16 | semmle.label | call to getUint16 | +| bslx.cpp:231:94:231:97 | call to getInt24 | semmle.label | call to getInt24 | +| bslx.cpp:231:107:231:111 | call to getUint24 | semmle.label | call to getUint24 | +| bslx.cpp:231:120:231:123 | call to getInt32 | semmle.label | call to getInt32 | +| bslx.cpp:231:133:231:137 | call to getUint32 | semmle.label | call to getUint32 | +| bslx.cpp:231:146:231:150 | call to getInt40 | semmle.label | call to getInt40 | +| bslx.cpp:231:160:231:165 | call to getUint40 | semmle.label | call to getUint40 | +| bslx.cpp:231:174:231:178 | call to getInt48 | semmle.label | call to getInt48 | +| bslx.cpp:231:188:231:193 | call to getUint48 | semmle.label | call to getUint48 | +| bslx.cpp:231:202:231:206 | call to getInt56 | semmle.label | call to getInt56 | +| bslx.cpp:231:216:231:221 | call to getUint56 | semmle.label | call to getUint56 | +| bslx.cpp:231:230:231:234 | call to getInt64 | semmle.label | call to getInt64 | +| bslx.cpp:231:244:231:249 | call to getUint64 | semmle.label | call to getUint64 | +| bslx.cpp:231:260:231:263 | call to getFloat32 | semmle.label | call to getFloat32 | +| bslx.cpp:231:274:231:277 | call to getFloat64 | semmle.label | call to getFloat64 | +| bslx.cpp:231:287:231:292 | call to getString | semmle.label | call to getString | +| bslx.cpp:231:305:231:315 | call to getArrayInt8 | semmle.label | call to getArrayInt8 | +| bslx.cpp:231:329:231:340 | call to getArrayUint8 | semmle.label | call to getArrayUint8 | +| bslx.cpp:231:354:231:364 | call to getArrayInt16 | semmle.label | call to getArrayInt16 | +| bslx.cpp:231:379:231:390 | call to getArrayUint16 | semmle.label | call to getArrayUint16 | +| bslx.cpp:231:404:231:414 | call to getArrayInt24 | semmle.label | call to getArrayInt24 | +| bslx.cpp:231:429:231:440 | call to getArrayUint24 | semmle.label | call to getArrayUint24 | +| bslx.cpp:231:454:231:464 | call to getArrayInt32 | semmle.label | call to getArrayInt32 | +| bslx.cpp:231:479:231:490 | call to getArrayUint32 | semmle.label | call to getArrayUint32 | +| bslx.cpp:231:504:231:515 | call to getArrayInt40 | semmle.label | call to getArrayInt40 | +| bslx.cpp:231:530:231:542 | call to getArrayUint40 | semmle.label | call to getArrayUint40 | +| bslx.cpp:231:556:231:567 | call to getArrayInt48 | semmle.label | call to getArrayInt48 | +| bslx.cpp:231:582:231:594 | call to getArrayUint48 | semmle.label | call to getArrayUint48 | +| bslx.cpp:231:608:231:619 | call to getArrayInt56 | semmle.label | call to getArrayInt56 | +| bslx.cpp:231:634:231:646 | call to getArrayUint56 | semmle.label | call to getArrayUint56 | +| bslx.cpp:231:660:231:671 | call to getArrayInt64 | semmle.label | call to getArrayInt64 | +| bslx.cpp:231:686:231:698 | call to getArrayUint64 | semmle.label | call to getArrayUint64 | +| bslx.cpp:231:714:231:724 | call to getArrayFloat32 | semmle.label | call to getArrayFloat32 | +| bslx.cpp:231:740:231:750 | call to getArrayFloat64 | semmle.label | call to getArrayFloat64 | +| bslx.cpp:231:761:231:763 | getString output argument | semmle.label | getString output argument | +| bslx.cpp:232:7:232:17 | * ... | semmle.label | * ... | +| bslx.cpp:232:7:232:17 | * ... | semmle.label | * ... | +| bslx.cpp:232:8:232:10 | out | semmle.label | out | +| bslx.cpp:236:33:236:40 | call to source | semmle.label | call to source | +| bslx.cpp:237:20:237:45 | *call to data | semmle.label | *call to data | +| bslx.cpp:237:20:237:45 | *call to data | semmle.label | *call to data | +| bslx.cpp:237:35:237:38 | data | semmle.label | data | +| bslx.cpp:238:50:238:55 | call to GenericInStream | semmle.label | call to GenericInStream | +| bslx.cpp:238:57:238:58 | *sb | semmle.label | *sb | +| bslx.cpp:261:2:261:7 | stream | semmle.label | stream | +| bslx.cpp:261:18:261:21 | call to getLength | semmle.label | call to getLength | +| bslx.cpp:261:32:261:35 | call to getVersion | semmle.label | call to getVersion | +| bslx.cpp:261:43:261:46 | call to getInt8 | semmle.label | call to getInt8 | +| bslx.cpp:261:55:261:59 | call to getUint8 | semmle.label | call to getUint8 | +| bslx.cpp:261:68:261:71 | call to getInt16 | semmle.label | call to getInt16 | +| bslx.cpp:261:81:261:85 | call to getUint16 | semmle.label | call to getUint16 | +| bslx.cpp:261:94:261:97 | call to getInt24 | semmle.label | call to getInt24 | +| bslx.cpp:261:107:261:111 | call to getUint24 | semmle.label | call to getUint24 | +| bslx.cpp:261:120:261:123 | call to getInt32 | semmle.label | call to getInt32 | +| bslx.cpp:261:133:261:137 | call to getUint32 | semmle.label | call to getUint32 | +| bslx.cpp:261:146:261:150 | call to getInt40 | semmle.label | call to getInt40 | +| bslx.cpp:261:160:261:165 | call to getUint40 | semmle.label | call to getUint40 | +| bslx.cpp:261:174:261:178 | call to getInt48 | semmle.label | call to getInt48 | +| bslx.cpp:261:188:261:193 | call to getUint48 | semmle.label | call to getUint48 | +| bslx.cpp:261:202:261:206 | call to getInt56 | semmle.label | call to getInt56 | +| bslx.cpp:261:216:261:221 | call to getUint56 | semmle.label | call to getUint56 | +| bslx.cpp:261:230:261:234 | call to getInt64 | semmle.label | call to getInt64 | +| bslx.cpp:261:244:261:249 | call to getUint64 | semmle.label | call to getUint64 | +| bslx.cpp:261:260:261:263 | call to getFloat32 | semmle.label | call to getFloat32 | +| bslx.cpp:261:274:261:277 | call to getFloat64 | semmle.label | call to getFloat64 | +| bslx.cpp:261:287:261:292 | call to getString | semmle.label | call to getString | +| bslx.cpp:261:305:261:315 | call to getArrayInt8 | semmle.label | call to getArrayInt8 | +| bslx.cpp:261:329:261:340 | call to getArrayUint8 | semmle.label | call to getArrayUint8 | +| bslx.cpp:261:354:261:364 | call to getArrayInt16 | semmle.label | call to getArrayInt16 | +| bslx.cpp:261:379:261:390 | call to getArrayUint16 | semmle.label | call to getArrayUint16 | +| bslx.cpp:261:404:261:414 | call to getArrayInt24 | semmle.label | call to getArrayInt24 | +| bslx.cpp:261:429:261:440 | call to getArrayUint24 | semmle.label | call to getArrayUint24 | +| bslx.cpp:261:454:261:464 | call to getArrayInt32 | semmle.label | call to getArrayInt32 | +| bslx.cpp:261:479:261:490 | call to getArrayUint32 | semmle.label | call to getArrayUint32 | +| bslx.cpp:261:504:261:515 | call to getArrayInt40 | semmle.label | call to getArrayInt40 | +| bslx.cpp:261:530:261:542 | call to getArrayUint40 | semmle.label | call to getArrayUint40 | +| bslx.cpp:261:556:261:567 | call to getArrayInt48 | semmle.label | call to getArrayInt48 | +| bslx.cpp:261:582:261:594 | call to getArrayUint48 | semmle.label | call to getArrayUint48 | +| bslx.cpp:261:608:261:619 | call to getArrayInt56 | semmle.label | call to getArrayInt56 | +| bslx.cpp:261:634:261:646 | call to getArrayUint56 | semmle.label | call to getArrayUint56 | +| bslx.cpp:261:660:261:671 | call to getArrayInt64 | semmle.label | call to getArrayInt64 | +| bslx.cpp:261:686:261:698 | call to getArrayUint64 | semmle.label | call to getArrayUint64 | +| bslx.cpp:261:714:261:724 | call to getArrayFloat32 | semmle.label | call to getArrayFloat32 | +| bslx.cpp:261:740:261:750 | call to getArrayFloat64 | semmle.label | call to getArrayFloat64 | +| bslx.cpp:261:761:261:763 | getString output argument | semmle.label | getString output argument | +| bslx.cpp:262:7:262:17 | * ... | semmle.label | * ... | +| bslx.cpp:262:7:262:17 | * ... | semmle.label | * ... | +| bslx.cpp:262:8:262:10 | out | semmle.label | out | +| bslx.cpp:266:33:266:40 | call to source | semmle.label | call to source | +| bslx.cpp:267:34:267:39 | call to ByteInStream | semmle.label | call to ByteInStream | +| bslx.cpp:267:41:267:44 | data | semmle.label | data | +| bslx.cpp:267:41:267:51 | *call to data | semmle.label | *call to data | +| bslx.cpp:269:53:269:58 | *stream | semmle.label | *stream | +| bslx.cpp:269:61:269:61 | bdexStreamIn output argument | semmle.label | bdexStreamIn output argument | +| bslx.cpp:270:7:270:7 | x | semmle.label | x | +| bslx.cpp:271:53:271:58 | *stream | semmle.label | *stream | +| bslx.cpp:271:61:271:61 | bdexStreamIn output argument | semmle.label | bdexStreamIn output argument | +| bslx.cpp:272:7:272:7 | x | semmle.label | x | +| bslx.cpp:274:52:274:66 | call to bdexStreamIn | semmle.label | call to bdexStreamIn | +| bslx.cpp:274:53:274:58 | *stream | semmle.label | *stream | +| bslx.cpp:274:77:274:79 | getString output argument | semmle.label | getString output argument | +| bslx.cpp:275:7:275:17 | * ... | semmle.label | * ... | +| bslx.cpp:275:7:275:17 | * ... | semmle.label | * ... | +| bslx.cpp:275:8:275:10 | out | semmle.label | out | +| bslx.cpp:279:33:279:40 | call to source | semmle.label | call to source | +| bslx.cpp:280:34:280:39 | call to ByteInStream | semmle.label | call to ByteInStream | +| bslx.cpp:280:41:280:44 | data | semmle.label | data | +| bslx.cpp:280:41:280:51 | *call to data | semmle.label | *call to data | +| bslx.cpp:282:53:282:58 | *stream | semmle.label | *stream | +| bslx.cpp:282:61:282:63 | bdexStreamIn output argument | semmle.label | bdexStreamIn output argument | +| bslx.cpp:283:7:283:17 | * ... | semmle.label | * ... | +| bslx.cpp:283:7:283:17 | * ... | semmle.label | * ... | +| bslx.cpp:283:8:283:10 | out | semmle.label | out | +| bslx.cpp:293:33:293:40 | call to source | semmle.label | call to source | +| bslx.cpp:294:34:294:39 | call to ByteInStream | semmle.label | call to ByteInStream | +| bslx.cpp:294:41:294:44 | data | semmle.label | data | +| bslx.cpp:294:41:294:51 | *call to data | semmle.label | *call to data | +| bslx.cpp:296:53:296:58 | *stream | semmle.label | *stream | +| bslx.cpp:296:61:296:63 | bdexStreamIn output argument | semmle.label | bdexStreamIn output argument | +| bslx.cpp:297:7:297:9 | out | semmle.label | out | +| bslx.cpp:306:40:306:60 | call to source | semmle.label | call to source | +| bslx.cpp:306:40:306:60 | call to source | semmle.label | call to source | +| bslx.cpp:307:2:307:7 | reset output argument | semmle.label | reset output argument | +| bslx.cpp:307:15:307:18 | *data | semmle.label | *data | +| bslx.cpp:309:2:309:7 | stream | semmle.label | stream | +| bslx.cpp:309:19:309:21 | getString output argument | semmle.label | getString output argument | +| bslx.cpp:310:7:310:17 | * ... | semmle.label | * ... | +| bslx.cpp:310:7:310:17 | * ... | semmle.label | * ... | +| bslx.cpp:310:8:310:10 | out | semmle.label | out | +| bslx.cpp:314:33:314:40 | call to source | semmle.label | call to source | +| bslx.cpp:315:34:315:39 | call to ByteInStream | semmle.label | call to ByteInStream | +| bslx.cpp:315:41:315:44 | data | semmle.label | data | +| bslx.cpp:315:41:315:51 | *call to data | semmle.label | *call to data | +| bslx.cpp:318:2:318:7 | stream | semmle.label | stream | +| bslx.cpp:318:19:318:21 | getString output argument | semmle.label | getString output argument | +| bslx.cpp:319:7:319:17 | * ... | semmle.label | * ... | +| bslx.cpp:319:7:319:17 | * ... | semmle.label | * ... | +| bslx.cpp:319:8:319:10 | out | semmle.label | out | +| bslx.cpp:333:33:333:40 | call to source | semmle.label | call to source | +| bslx.cpp:334:34:334:39 | call to ByteInStream | semmle.label | call to ByteInStream | +| bslx.cpp:334:41:334:44 | data | semmle.label | data | +| bslx.cpp:334:41:334:51 | *call to data | semmle.label | *call to data | +| bslx.cpp:338:2:338:7 | stream | semmle.label | stream | +| bslx.cpp:338:19:338:21 | getString output argument | semmle.label | getString output argument | +| bslx.cpp:340:7:340:17 | * ... | semmle.label | * ... | +| bslx.cpp:340:7:340:17 | * ... | semmle.label | * ... | +| bslx.cpp:340:8:340:10 | out | semmle.label | out | +| protobuf.cpp:105:27:105:51 | call to source | semmle.label | call to source | +| protobuf.cpp:105:27:105:51 | call to source | semmle.label | call to source | +| protobuf.cpp:106:2:106:4 | ParseFromString output argument | semmle.label | ParseFromString output argument | +| protobuf.cpp:106:22:106:25 | data | semmle.label | data | +| protobuf.cpp:107:7:107:9 | msg | semmle.label | msg | +| protobuf.cpp:112:20:112:37 | call to source | semmle.label | call to source | +| protobuf.cpp:112:20:112:37 | call to source | semmle.label | call to source | +| protobuf.cpp:113:2:113:4 | ParseFromString output argument | semmle.label | ParseFromString output argument | +| protobuf.cpp:113:22:113:25 | *data | semmle.label | *data | +| protobuf.cpp:114:7:114:9 | msg | semmle.label | msg | +| protobuf.cpp:119:27:119:51 | call to source | semmle.label | call to source | +| protobuf.cpp:119:27:119:51 | call to source | semmle.label | call to source | +| protobuf.cpp:120:2:120:4 | ParsePartialFromString output argument | semmle.label | ParsePartialFromString output argument | +| protobuf.cpp:120:29:120:32 | data | semmle.label | data | +| protobuf.cpp:121:7:121:9 | msg | semmle.label | msg | +| protobuf.cpp:126:20:126:37 | call to source | semmle.label | call to source | +| protobuf.cpp:126:20:126:37 | call to source | semmle.label | call to source | +| protobuf.cpp:127:2:127:4 | ParsePartialFromString output argument | semmle.label | ParsePartialFromString output argument | +| protobuf.cpp:127:29:127:32 | *data | semmle.label | *data | +| protobuf.cpp:128:7:128:9 | msg | semmle.label | msg | +| protobuf.cpp:133:27:133:51 | call to source | semmle.label | call to source | +| protobuf.cpp:133:27:133:51 | call to source | semmle.label | call to source | +| protobuf.cpp:134:2:134:4 | MergeFromString output argument | semmle.label | MergeFromString output argument | +| protobuf.cpp:134:22:134:25 | data | semmle.label | data | +| protobuf.cpp:135:7:135:9 | msg | semmle.label | msg | +| protobuf.cpp:140:20:140:37 | call to source | semmle.label | call to source | +| protobuf.cpp:140:20:140:37 | call to source | semmle.label | call to source | +| protobuf.cpp:141:2:141:4 | MergeFromString output argument | semmle.label | MergeFromString output argument | +| protobuf.cpp:141:22:141:25 | *data | semmle.label | *data | +| protobuf.cpp:142:7:142:9 | msg | semmle.label | msg | +| protobuf.cpp:147:27:147:51 | call to source | semmle.label | call to source | +| protobuf.cpp:147:27:147:51 | call to source | semmle.label | call to source | +| protobuf.cpp:148:2:148:4 | MergePartialFromString output argument | semmle.label | MergePartialFromString output argument | +| protobuf.cpp:148:29:148:32 | data | semmle.label | data | +| protobuf.cpp:149:7:149:9 | msg | semmle.label | msg | +| protobuf.cpp:154:20:154:37 | call to source | semmle.label | call to source | +| protobuf.cpp:154:20:154:37 | call to source | semmle.label | call to source | +| protobuf.cpp:155:2:155:4 | MergePartialFromString output argument | semmle.label | MergePartialFromString output argument | +| protobuf.cpp:155:29:155:32 | *data | semmle.label | *data | +| protobuf.cpp:156:7:156:9 | msg | semmle.label | msg | +| protobuf.cpp:161:19:161:38 | call to source | semmle.label | call to source | +| protobuf.cpp:162:2:162:4 | ParseFromArray output argument | semmle.label | ParseFromArray output argument | +| protobuf.cpp:162:21:162:24 | data | semmle.label | data | +| protobuf.cpp:162:21:162:31 | *call to data | semmle.label | *call to data | +| protobuf.cpp:163:7:163:9 | msg | semmle.label | msg | +| protobuf.cpp:168:19:168:38 | call to source | semmle.label | call to source | +| protobuf.cpp:169:2:169:4 | ParsePartialFromArray output argument | semmle.label | ParsePartialFromArray output argument | +| protobuf.cpp:169:28:169:31 | data | semmle.label | data | +| protobuf.cpp:169:28:169:38 | *call to data | semmle.label | *call to data | +| protobuf.cpp:170:7:170:9 | msg | semmle.label | msg | +| protobuf.cpp:175:20:175:37 | call to source | semmle.label | call to source | +| protobuf.cpp:175:20:175:37 | call to source | semmle.label | call to source | +| protobuf.cpp:176:2:176:4 | ParseFromCord output argument | semmle.label | ParseFromCord output argument | +| protobuf.cpp:176:20:176:23 | *data | semmle.label | *data | +| protobuf.cpp:177:7:177:9 | msg | semmle.label | msg | +| protobuf.cpp:182:20:182:37 | call to source | semmle.label | call to source | +| protobuf.cpp:182:20:182:37 | call to source | semmle.label | call to source | +| protobuf.cpp:183:2:183:4 | ParsePartialFromCord output argument | semmle.label | ParsePartialFromCord output argument | +| protobuf.cpp:183:27:183:30 | *data | semmle.label | *data | +| protobuf.cpp:184:7:184:9 | msg | semmle.label | msg | +| protobuf.cpp:189:20:189:37 | call to source | semmle.label | call to source | +| protobuf.cpp:189:20:189:37 | call to source | semmle.label | call to source | +| protobuf.cpp:190:2:190:4 | MergeFromCord output argument | semmle.label | MergeFromCord output argument | +| protobuf.cpp:190:20:190:23 | *data | semmle.label | *data | +| protobuf.cpp:191:7:191:9 | msg | semmle.label | msg | +| protobuf.cpp:196:20:196:37 | call to source | semmle.label | call to source | +| protobuf.cpp:196:20:196:37 | call to source | semmle.label | call to source | +| protobuf.cpp:197:2:197:4 | MergePartialFromCord output argument | semmle.label | MergePartialFromCord output argument | +| protobuf.cpp:197:27:197:30 | *data | semmle.label | *data | +| protobuf.cpp:198:7:198:9 | msg | semmle.label | msg | +| protobuf.cpp:203:20:203:39 | call to source | semmle.label | call to source | +| protobuf.cpp:203:20:203:39 | call to source | semmle.label | call to source | +| protobuf.cpp:204:2:204:4 | ParseFromIstream output argument | semmle.label | ParseFromIstream output argument | +| protobuf.cpp:204:23:204:25 | *& ... | semmle.label | *& ... | +| protobuf.cpp:205:7:205:9 | msg | semmle.label | msg | +| protobuf.cpp:210:20:210:39 | call to source | semmle.label | call to source | +| protobuf.cpp:210:20:210:39 | call to source | semmle.label | call to source | +| protobuf.cpp:211:2:211:4 | ParsePartialFromIstream output argument | semmle.label | ParsePartialFromIstream output argument | +| protobuf.cpp:211:30:211:32 | *& ... | semmle.label | *& ... | +| protobuf.cpp:212:7:212:9 | msg | semmle.label | msg | +| protobuf.cpp:217:27:217:53 | call to source | semmle.label | call to source | +| protobuf.cpp:217:27:217:53 | call to source | semmle.label | call to source | +| protobuf.cpp:218:2:218:4 | ParseFromZeroCopyStream output argument | semmle.label | ParseFromZeroCopyStream output argument | +| protobuf.cpp:218:30:218:32 | *& ... | semmle.label | *& ... | +| protobuf.cpp:219:7:219:9 | msg | semmle.label | msg | +| protobuf.cpp:224:27:224:53 | call to source | semmle.label | call to source | +| protobuf.cpp:224:27:224:53 | call to source | semmle.label | call to source | +| protobuf.cpp:225:2:225:4 | ParsePartialFromZeroCopyStream output argument | semmle.label | ParsePartialFromZeroCopyStream output argument | +| protobuf.cpp:225:37:225:39 | *& ... | semmle.label | *& ... | +| protobuf.cpp:226:7:226:9 | msg | semmle.label | msg | +| protobuf.cpp:231:27:231:53 | call to source | semmle.label | call to source | +| protobuf.cpp:231:27:231:53 | call to source | semmle.label | call to source | +| protobuf.cpp:232:2:232:4 | ParseFromBoundedZeroCopyStream output argument | semmle.label | ParseFromBoundedZeroCopyStream output argument | +| protobuf.cpp:232:37:232:39 | *& ... | semmle.label | *& ... | +| protobuf.cpp:233:7:233:9 | msg | semmle.label | msg | +| protobuf.cpp:238:27:238:53 | call to source | semmle.label | call to source | +| protobuf.cpp:238:27:238:53 | call to source | semmle.label | call to source | +| protobuf.cpp:239:2:239:4 | ParsePartialFromBoundedZeroCopyStream output argument | semmle.label | ParsePartialFromBoundedZeroCopyStream output argument | +| protobuf.cpp:239:44:239:46 | *& ... | semmle.label | *& ... | +| protobuf.cpp:240:7:240:9 | msg | semmle.label | msg | +| protobuf.cpp:245:27:245:53 | call to source | semmle.label | call to source | +| protobuf.cpp:245:27:245:53 | call to source | semmle.label | call to source | +| protobuf.cpp:246:2:246:4 | MergeFromBoundedZeroCopyStream output argument | semmle.label | MergeFromBoundedZeroCopyStream output argument | +| protobuf.cpp:246:37:246:39 | *& ... | semmle.label | *& ... | +| protobuf.cpp:247:7:247:9 | msg | semmle.label | msg | +| protobuf.cpp:252:27:252:53 | call to source | semmle.label | call to source | +| protobuf.cpp:252:27:252:53 | call to source | semmle.label | call to source | +| protobuf.cpp:253:2:253:4 | MergePartialFromBoundedZeroCopyStream output argument | semmle.label | MergePartialFromBoundedZeroCopyStream output argument | +| protobuf.cpp:253:44:253:46 | *& ... | semmle.label | *& ... | +| protobuf.cpp:254:7:254:9 | msg | semmle.label | msg | +| protobuf.cpp:259:24:259:47 | call to source | semmle.label | call to source | +| protobuf.cpp:259:24:259:47 | call to source | semmle.label | call to source | +| protobuf.cpp:260:2:260:4 | ParseFromCodedStream output argument | semmle.label | ParseFromCodedStream output argument | +| protobuf.cpp:260:27:260:29 | *& ... | semmle.label | *& ... | +| protobuf.cpp:261:7:261:9 | msg | semmle.label | msg | +| protobuf.cpp:266:24:266:47 | call to source | semmle.label | call to source | +| protobuf.cpp:266:24:266:47 | call to source | semmle.label | call to source | +| protobuf.cpp:267:2:267:4 | ParsePartialFromCodedStream output argument | semmle.label | ParsePartialFromCodedStream output argument | +| protobuf.cpp:267:34:267:36 | *& ... | semmle.label | *& ... | +| protobuf.cpp:268:7:268:9 | msg | semmle.label | msg | +| protobuf.cpp:273:24:273:47 | call to source | semmle.label | call to source | +| protobuf.cpp:273:24:273:47 | call to source | semmle.label | call to source | +| protobuf.cpp:274:2:274:4 | MergeFromCodedStream output argument | semmle.label | MergeFromCodedStream output argument | +| protobuf.cpp:274:27:274:29 | *& ... | semmle.label | *& ... | +| protobuf.cpp:275:7:275:9 | msg | semmle.label | msg | +| protobuf.cpp:280:24:280:47 | call to source | semmle.label | call to source | +| protobuf.cpp:280:24:280:47 | call to source | semmle.label | call to source | +| protobuf.cpp:281:2:281:4 | MergePartialFromCodedStream output argument | semmle.label | MergePartialFromCodedStream output argument | +| protobuf.cpp:281:34:281:36 | *& ... | semmle.label | *& ... | +| protobuf.cpp:282:7:282:9 | msg | semmle.label | msg | +| protobuf.cpp:295:15:295:28 | call to source | semmle.label | call to source | +| protobuf.cpp:295:15:295:28 | call to source | semmle.label | call to source | +| protobuf.cpp:297:2:297:4 | msg | semmle.label | msg | +| protobuf.cpp:297:24:297:27 | SerializeToString output argument | semmle.label | SerializeToString output argument | +| protobuf.cpp:298:7:298:9 | out | semmle.label | out | +| protobuf.cpp:302:15:302:28 | call to source | semmle.label | call to source | +| protobuf.cpp:302:15:302:28 | call to source | semmle.label | call to source | +| protobuf.cpp:304:2:304:4 | msg | semmle.label | msg | +| protobuf.cpp:304:31:304:34 | SerializePartialToString output argument | semmle.label | SerializePartialToString output argument | +| protobuf.cpp:305:7:305:9 | out | semmle.label | out | +| protobuf.cpp:309:15:309:28 | call to source | semmle.label | call to source | +| protobuf.cpp:309:15:309:28 | call to source | semmle.label | call to source | +| protobuf.cpp:311:2:311:4 | msg | semmle.label | msg | +| protobuf.cpp:311:21:311:24 | AppendToString output argument | semmle.label | AppendToString output argument | +| protobuf.cpp:312:7:312:9 | out | semmle.label | out | +| protobuf.cpp:316:15:316:28 | call to source | semmle.label | call to source | +| protobuf.cpp:316:15:316:28 | call to source | semmle.label | call to source | +| protobuf.cpp:318:2:318:4 | msg | semmle.label | msg | +| protobuf.cpp:318:28:318:31 | AppendPartialToString output argument | semmle.label | AppendPartialToString output argument | +| protobuf.cpp:319:7:319:9 | out | semmle.label | out | +| protobuf.cpp:323:15:323:28 | call to source | semmle.label | call to source | +| protobuf.cpp:323:15:323:28 | call to source | semmle.label | call to source | +| protobuf.cpp:325:2:325:4 | msg | semmle.label | msg | +| protobuf.cpp:325:24:325:27 | SerializeToString output argument | semmle.label | SerializeToString output argument | +| protobuf.cpp:326:7:326:9 | out | semmle.label | out | +| protobuf.cpp:330:15:330:28 | call to source | semmle.label | call to source | +| protobuf.cpp:330:15:330:28 | call to source | semmle.label | call to source | +| protobuf.cpp:332:2:332:4 | msg | semmle.label | msg | +| protobuf.cpp:332:31:332:34 | SerializePartialToString output argument | semmle.label | SerializePartialToString output argument | +| protobuf.cpp:333:7:333:9 | out | semmle.label | out | +| protobuf.cpp:337:15:337:28 | call to source | semmle.label | call to source | +| protobuf.cpp:337:15:337:28 | call to source | semmle.label | call to source | +| protobuf.cpp:339:2:339:4 | msg | semmle.label | msg | +| protobuf.cpp:339:21:339:24 | AppendToString output argument | semmle.label | AppendToString output argument | +| protobuf.cpp:340:7:340:9 | out | semmle.label | out | +| protobuf.cpp:344:15:344:28 | call to source | semmle.label | call to source | +| protobuf.cpp:344:15:344:28 | call to source | semmle.label | call to source | +| protobuf.cpp:346:2:346:4 | msg | semmle.label | msg | +| protobuf.cpp:346:28:346:31 | AppendPartialToString output argument | semmle.label | AppendPartialToString output argument | +| protobuf.cpp:347:7:347:9 | out | semmle.label | out | +| protobuf.cpp:351:15:351:28 | call to source | semmle.label | call to source | +| protobuf.cpp:351:15:351:28 | call to source | semmle.label | call to source | +| protobuf.cpp:353:2:353:4 | msg | semmle.label | msg | +| protobuf.cpp:353:23:353:25 | SerializeToArray output argument | semmle.label | SerializeToArray output argument | +| protobuf.cpp:354:7:354:10 | * ... | semmle.label | * ... | +| protobuf.cpp:358:15:358:28 | call to source | semmle.label | call to source | +| protobuf.cpp:358:15:358:28 | call to source | semmle.label | call to source | +| protobuf.cpp:360:2:360:4 | msg | semmle.label | msg | +| protobuf.cpp:360:30:360:32 | SerializePartialToArray output argument | semmle.label | SerializePartialToArray output argument | +| protobuf.cpp:361:7:361:10 | * ... | semmle.label | * ... | +| protobuf.cpp:365:15:365:28 | call to source | semmle.label | call to source | +| protobuf.cpp:365:15:365:28 | call to source | semmle.label | call to source | +| protobuf.cpp:367:2:367:4 | msg | semmle.label | msg | +| protobuf.cpp:367:22:367:25 | SerializeToCord output argument | semmle.label | SerializeToCord output argument | +| protobuf.cpp:368:7:368:9 | out | semmle.label | out | +| protobuf.cpp:372:15:372:28 | call to source | semmle.label | call to source | +| protobuf.cpp:372:15:372:28 | call to source | semmle.label | call to source | +| protobuf.cpp:374:2:374:4 | msg | semmle.label | msg | +| protobuf.cpp:374:29:374:32 | SerializePartialToCord output argument | semmle.label | SerializePartialToCord output argument | +| protobuf.cpp:375:7:375:9 | out | semmle.label | out | +| protobuf.cpp:379:15:379:28 | call to source | semmle.label | call to source | +| protobuf.cpp:379:15:379:28 | call to source | semmle.label | call to source | +| protobuf.cpp:381:2:381:4 | msg | semmle.label | msg | +| protobuf.cpp:381:19:381:22 | AppendToCord output argument | semmle.label | AppendToCord output argument | +| protobuf.cpp:382:7:382:9 | out | semmle.label | out | +| protobuf.cpp:386:15:386:28 | call to source | semmle.label | call to source | +| protobuf.cpp:386:15:386:28 | call to source | semmle.label | call to source | +| protobuf.cpp:388:2:388:4 | msg | semmle.label | msg | +| protobuf.cpp:388:26:388:29 | AppendPartialToCord output argument | semmle.label | AppendPartialToCord output argument | +| protobuf.cpp:389:7:389:9 | out | semmle.label | out | +| protobuf.cpp:393:15:393:28 | call to source | semmle.label | call to source | +| protobuf.cpp:393:15:393:28 | call to source | semmle.label | call to source | +| protobuf.cpp:395:2:395:4 | msg | semmle.label | msg | +| protobuf.cpp:395:25:395:28 | SerializeToOstream output argument | semmle.label | SerializeToOstream output argument | +| protobuf.cpp:396:7:396:9 | out | semmle.label | out | +| protobuf.cpp:400:15:400:28 | call to source | semmle.label | call to source | +| protobuf.cpp:400:15:400:28 | call to source | semmle.label | call to source | +| protobuf.cpp:402:2:402:4 | msg | semmle.label | msg | +| protobuf.cpp:402:32:402:35 | SerializePartialToOstream output argument | semmle.label | SerializePartialToOstream output argument | +| protobuf.cpp:403:7:403:9 | out | semmle.label | out | +| protobuf.cpp:407:15:407:28 | call to source | semmle.label | call to source | +| protobuf.cpp:407:15:407:28 | call to source | semmle.label | call to source | +| protobuf.cpp:409:2:409:4 | msg | semmle.label | msg | +| protobuf.cpp:409:32:409:35 | SerializeToZeroCopyStream output argument | semmle.label | SerializeToZeroCopyStream output argument | +| protobuf.cpp:410:7:410:9 | out | semmle.label | out | +| protobuf.cpp:414:15:414:28 | call to source | semmle.label | call to source | +| protobuf.cpp:414:15:414:28 | call to source | semmle.label | call to source | +| protobuf.cpp:416:2:416:4 | msg | semmle.label | msg | +| protobuf.cpp:416:39:416:42 | SerializePartialToZeroCopyStream output argument | semmle.label | SerializePartialToZeroCopyStream output argument | +| protobuf.cpp:417:7:417:9 | out | semmle.label | out | +| protobuf.cpp:421:15:421:28 | call to source | semmle.label | call to source | +| protobuf.cpp:421:15:421:28 | call to source | semmle.label | call to source | +| protobuf.cpp:423:2:423:4 | msg | semmle.label | msg | +| protobuf.cpp:423:29:423:32 | SerializeToCodedStream output argument | semmle.label | SerializeToCodedStream output argument | +| protobuf.cpp:424:7:424:9 | out | semmle.label | out | +| protobuf.cpp:428:15:428:28 | call to source | semmle.label | call to source | +| protobuf.cpp:428:15:428:28 | call to source | semmle.label | call to source | +| protobuf.cpp:430:2:430:4 | msg | semmle.label | msg | +| protobuf.cpp:430:36:430:39 | SerializePartialToCodedStream output argument | semmle.label | SerializePartialToCodedStream output argument | +| protobuf.cpp:431:7:431:9 | out | semmle.label | out | +| protobuf.cpp:437:15:437:28 | call to source | semmle.label | call to source | +| protobuf.cpp:437:15:437:28 | call to source | semmle.label | call to source | +| protobuf.cpp:438:7:438:9 | msg | semmle.label | msg | +| protobuf.cpp:438:11:438:27 | call to SerializeAsString | semmle.label | call to SerializeAsString | +| protobuf.cpp:442:15:442:28 | call to source | semmle.label | call to source | +| protobuf.cpp:442:15:442:28 | call to source | semmle.label | call to source | +| protobuf.cpp:443:7:443:9 | msg | semmle.label | msg | +| protobuf.cpp:443:11:443:34 | call to SerializePartialAsString | semmle.label | call to SerializePartialAsString | +| protobuf.cpp:447:15:447:28 | call to source | semmle.label | call to source | +| protobuf.cpp:447:15:447:28 | call to source | semmle.label | call to source | +| protobuf.cpp:448:7:448:9 | msg | semmle.label | msg | +| protobuf.cpp:448:11:448:25 | call to SerializeAsCord | semmle.label | call to SerializeAsCord | +| protobuf.cpp:452:15:452:28 | call to source | semmle.label | call to source | +| protobuf.cpp:452:15:452:28 | call to source | semmle.label | call to source | +| protobuf.cpp:453:7:453:9 | msg | semmle.label | msg | +| protobuf.cpp:453:11:453:32 | call to SerializePartialAsCord | semmle.label | call to SerializePartialAsCord | | test.cpp:7:5:7:30 | *ymlStepGenerated_with_body | semmle.label | *ymlStepGenerated_with_body | | test.cpp:7:47:7:52 | value2 | semmle.label | value2 | | test.cpp:7:64:7:69 | value2 | semmle.label | value2 | @@ -2793,7 +3644,7 @@ nodes | test.cpp:222:3:222:3 | operator[] output argument | semmle.label | operator[] output argument | | test.cpp:222:3:222:20 | ... = ... | semmle.label | ... = ... | | test.cpp:222:10:222:18 | call to ymlSource | semmle.label | call to ymlSource | -| test.cpp:223:12:223:12 | *s | semmle.label | *s | +| test.cpp:223:12:223:12 | s | semmle.label | s | | test.cpp:223:13:223:15 | call to operator[] | semmle.label | call to operator[] | | test.cpp:223:13:223:15 | call to operator[] | semmle.label | call to operator[] | | test.cpp:224:11:224:11 | c | semmle.label | c | @@ -2896,8 +3747,8 @@ nodes | test.cpp:363:5:363:5 | forward output argument [s] | semmle.label | forward output argument [s] | | test.cpp:363:5:363:5 | forward output argument [ul] | semmle.label | forward output argument [ul] | | test.cpp:363:15:363:15 | *x | semmle.label | *x | -| test.cpp:365:30:365:30 | *f [s] | semmle.label | *f [s] | -| test.cpp:365:30:365:30 | *f [ul] | semmle.label | *f [ul] | +| test.cpp:365:30:365:30 | f [s] | semmle.label | f [s] | +| test.cpp:365:30:365:30 | f [ul] | semmle.label | f [ul] | | test.cpp:365:32:365:34 | call to get [s] | semmle.label | call to get [s] | | test.cpp:365:32:365:34 | call to get [s] | semmle.label | call to get [s] | | test.cpp:365:32:365:34 | call to get [ul] | semmle.label | call to get [ul] | @@ -2913,8 +3764,8 @@ nodes | test.cpp:372:5:372:5 | forward output argument [s] | semmle.label | forward output argument [s] | | test.cpp:372:5:372:5 | forward output argument [ul] | semmle.label | forward output argument [ul] | | test.cpp:372:15:372:16 | *ul | semmle.label | *ul | -| test.cpp:374:30:374:30 | *f [s] | semmle.label | *f [s] | -| test.cpp:374:30:374:30 | *f [ul] | semmle.label | *f [ul] | +| test.cpp:374:30:374:30 | f [s] | semmle.label | f [s] | +| test.cpp:374:30:374:30 | f [ul] | semmle.label | f [ul] | | test.cpp:374:32:374:34 | call to get [s] | semmle.label | call to get [s] | | test.cpp:374:32:374:34 | call to get [s] | semmle.label | call to get [s] | | test.cpp:374:32:374:34 | call to get [ul] | semmle.label | call to get [ul] | @@ -2925,79 +3776,92 @@ nodes | test.cpp:376:13:376:13 | *c [ul] | semmle.label | *c [ul] | | test.cpp:376:13:376:16 | ul | semmle.label | ul | | test.cpp:376:15:376:16 | ul | semmle.label | ul | -| test.cpp:397:11:397:19 | call to ymlSource | semmle.label | call to ymlSource | -| test.cpp:397:11:397:19 | call to ymlSource | semmle.label | call to ymlSource | -| test.cpp:398:15:398:36 | call to makeForwarded [x] | semmle.label | call to makeForwarded [x] | -| test.cpp:398:15:398:36 | call to makeForwarded [x] | semmle.label | call to makeForwarded [x] | -| test.cpp:398:38:398:38 | x | semmle.label | x | -| test.cpp:399:11:399:11 | *e [x] | semmle.label | *e [x] | -| test.cpp:399:13:399:13 | x | semmle.label | x | -| test.cpp:399:13:399:13 | x | semmle.label | x | -| test.cpp:404:11:404:19 | call to ymlSource | semmle.label | call to ymlSource | -| test.cpp:404:11:404:19 | call to ymlSource | semmle.label | call to ymlSource | -| test.cpp:405:3:405:3 | forwardToElement output argument [x] | semmle.label | forwardToElement output argument [x] | -| test.cpp:405:22:405:22 | x | semmle.label | x | -| test.cpp:406:15:406:15 | *f [x] | semmle.label | *f [x] | -| test.cpp:406:17:406:19 | call to get [x] | semmle.label | call to get [x] | -| test.cpp:406:17:406:19 | call to get [x] | semmle.label | call to get [x] | -| test.cpp:407:11:407:11 | *e [x] | semmle.label | *e [x] | -| test.cpp:407:13:407:13 | x | semmle.label | x | -| test.cpp:407:13:407:13 | x | semmle.label | x | -| test.cpp:412:11:412:19 | call to ymlSource | semmle.label | call to ymlSource | -| test.cpp:412:11:412:19 | call to ymlSource | semmle.label | call to ymlSource | -| test.cpp:413:3:413:3 | emplace output argument [element, x] | semmle.label | emplace output argument [element, x] | -| test.cpp:413:16:413:16 | *x | semmle.label | *x | -| test.cpp:415:15:415:15 | *c [element, x] | semmle.label | *c [element, x] | -| test.cpp:415:20:415:22 | call to get [x] | semmle.label | call to get [x] | -| test.cpp:415:20:415:22 | call to get [x] | semmle.label | call to get [x] | -| test.cpp:416:11:416:11 | *e [x] | semmle.label | *e [x] | -| test.cpp:416:13:416:13 | x | semmle.label | x | -| test.cpp:416:13:416:13 | x | semmle.label | x | -| test.cpp:426:11:426:19 | call to ymlSource | semmle.label | call to ymlSource | -| test.cpp:426:11:426:19 | call to ymlSource | semmle.label | call to ymlSource | -| test.cpp:427:3:427:3 | emplace output argument [element, x] | semmle.label | emplace output argument [element, x] | -| test.cpp:427:16:427:16 | *x | semmle.label | *x | -| test.cpp:429:34:429:34 | *c [element, x] | semmle.label | *c [element, x] | -| test.cpp:429:39:429:41 | call to get [x] | semmle.label | call to get [x] | -| test.cpp:429:39:429:41 | call to get [x] | semmle.label | call to get [x] | -| test.cpp:430:11:430:11 | *e [x] | semmle.label | *e [x] | -| test.cpp:430:13:430:13 | x | semmle.label | x | -| test.cpp:430:13:430:13 | x | semmle.label | x | -| test.cpp:435:3:435:28 | *ElementWithOverloadedArity [post update] [x] | semmle.label | *ElementWithOverloadedArity [post update] [x] | -| test.cpp:435:3:435:28 | *this [Return] [x] | semmle.label | *this [Return] [x] | -| test.cpp:435:34:435:38 | first | semmle.label | first | -| test.cpp:435:45:435:49 | first | semmle.label | first | -| test.cpp:436:3:436:28 | *ElementWithOverloadedArity [post update] [x] | semmle.label | *ElementWithOverloadedArity [post update] [x] | -| test.cpp:436:3:436:28 | *this [Return] [x] | semmle.label | *this [Return] [x] | -| test.cpp:436:39:436:44 | second | semmle.label | second | -| test.cpp:436:51:436:56 | second | semmle.label | second | -| test.cpp:440:11:440:19 | call to ymlSource | semmle.label | call to ymlSource | -| test.cpp:440:11:440:19 | call to ymlSource | semmle.label | call to ymlSource | -| test.cpp:443:5:443:5 | emplace output argument [element, x] | semmle.label | emplace output argument [element, x] | -| test.cpp:443:18:443:18 | *x | semmle.label | *x | -| test.cpp:444:13:444:13 | *c [element, x] | semmle.label | *c [element, x] | -| test.cpp:444:18:444:20 | *call to get [x] | semmle.label | *call to get [x] | -| test.cpp:444:21:444:21 | x | semmle.label | x | -| test.cpp:444:21:444:21 | x | semmle.label | x | -| test.cpp:453:5:453:5 | emplace output argument [element, x] | semmle.label | emplace output argument [element, x] | -| test.cpp:453:21:453:21 | *x | semmle.label | *x | -| test.cpp:454:13:454:13 | *c [element, x] | semmle.label | *c [element, x] | -| test.cpp:454:18:454:20 | *call to get [x] | semmle.label | *call to get [x] | -| test.cpp:454:21:454:21 | x | semmle.label | x | -| test.cpp:454:21:454:21 | x | semmle.label | x | -| test.cpp:461:5:461:5 | forward output argument | semmle.label | forward output argument | -| test.cpp:461:15:461:23 | call to ymlSource | semmle.label | call to ymlSource | -| test.cpp:461:15:461:23 | call to ymlSource | semmle.label | call to ymlSource | -| test.cpp:461:15:461:25 | call to ymlSource | semmle.label | call to ymlSource | -| test.cpp:462:13:462:13 | *f | semmle.label | *f | -| test.cpp:462:15:462:17 | call to get | semmle.label | call to get | -| test.cpp:462:15:462:17 | call to get | semmle.label | call to get | -| test.cpp:466:5:466:5 | forward output argument | semmle.label | forward output argument | -| test.cpp:466:15:466:26 | *call to ymlSourcePtr | semmle.label | *call to ymlSourcePtr | -| test.cpp:466:15:466:26 | call to ymlSourcePtr | semmle.label | call to ymlSourcePtr | -| test.cpp:466:15:466:28 | **call to ymlSourcePtr | semmle.label | **call to ymlSourcePtr | -| test.cpp:467:13:467:20 | * ... | semmle.label | * ... | -| test.cpp:467:14:467:14 | *f | semmle.label | *f | +| test.cpp:398:11:398:19 | call to ymlSource | semmle.label | call to ymlSource | +| test.cpp:398:11:398:19 | call to ymlSource | semmle.label | call to ymlSource | +| test.cpp:399:15:399:36 | call to makeForwarded [x] | semmle.label | call to makeForwarded [x] | +| test.cpp:399:15:399:36 | call to makeForwarded [x] | semmle.label | call to makeForwarded [x] | +| test.cpp:399:38:399:38 | x | semmle.label | x | +| test.cpp:400:11:400:11 | *e [x] | semmle.label | *e [x] | +| test.cpp:400:13:400:13 | x | semmle.label | x | +| test.cpp:400:13:400:13 | x | semmle.label | x | +| test.cpp:405:11:405:19 | call to ymlSource | semmle.label | call to ymlSource | +| test.cpp:405:11:405:19 | call to ymlSource | semmle.label | call to ymlSource | +| test.cpp:406:3:406:3 | forwardToElement output argument [x] | semmle.label | forwardToElement output argument [x] | +| test.cpp:406:22:406:22 | x | semmle.label | x | +| test.cpp:407:15:407:15 | f [x] | semmle.label | f [x] | +| test.cpp:407:17:407:19 | call to get [x] | semmle.label | call to get [x] | +| test.cpp:407:17:407:19 | call to get [x] | semmle.label | call to get [x] | +| test.cpp:408:11:408:11 | *e [x] | semmle.label | *e [x] | +| test.cpp:408:13:408:13 | x | semmle.label | x | +| test.cpp:408:13:408:13 | x | semmle.label | x | +| test.cpp:413:11:413:19 | call to ymlSource | semmle.label | call to ymlSource | +| test.cpp:413:11:413:19 | call to ymlSource | semmle.label | call to ymlSource | +| test.cpp:414:3:414:3 | emplace output argument [element, x] | semmle.label | emplace output argument [element, x] | +| test.cpp:414:16:414:16 | *x | semmle.label | *x | +| test.cpp:416:15:416:15 | c [element, x] | semmle.label | c [element, x] | +| test.cpp:416:20:416:22 | call to get [x] | semmle.label | call to get [x] | +| test.cpp:416:20:416:22 | call to get [x] | semmle.label | call to get [x] | +| test.cpp:417:11:417:11 | *e [x] | semmle.label | *e [x] | +| test.cpp:417:13:417:13 | x | semmle.label | x | +| test.cpp:417:13:417:13 | x | semmle.label | x | +| test.cpp:422:3:422:8 | emplace output argument [element] | semmle.label | emplace output argument [element] | +| test.cpp:422:21:422:29 | call to ymlSource | semmle.label | call to ymlSource | +| test.cpp:422:21:422:29 | call to ymlSource | semmle.label | call to ymlSource | +| test.cpp:422:21:422:31 | call to ymlSource | semmle.label | call to ymlSource | +| test.cpp:423:11:423:16 | scalar [element] | semmle.label | scalar [element] | +| test.cpp:423:18:423:20 | call to get | semmle.label | call to get | +| test.cpp:423:21:423:23 | call to get | semmle.label | call to get | +| test.cpp:426:3:426:9 | emplace output argument [element] | semmle.label | emplace output argument [element] | +| test.cpp:426:22:426:33 | *call to ymlSourcePtr | semmle.label | *call to ymlSourcePtr | +| test.cpp:426:22:426:33 | call to ymlSourcePtr | semmle.label | call to ymlSourcePtr | +| test.cpp:426:22:426:35 | **call to ymlSourcePtr | semmle.label | **call to ymlSourcePtr | +| test.cpp:427:11:427:24 | * ... | semmle.label | * ... | +| test.cpp:427:12:427:18 | pointer [element] | semmle.label | pointer [element] | +| test.cpp:437:11:437:19 | call to ymlSource | semmle.label | call to ymlSource | +| test.cpp:437:11:437:19 | call to ymlSource | semmle.label | call to ymlSource | +| test.cpp:438:3:438:3 | emplace output argument [element, x] | semmle.label | emplace output argument [element, x] | +| test.cpp:438:16:438:16 | *x | semmle.label | *x | +| test.cpp:440:34:440:34 | c [element, x] | semmle.label | c [element, x] | +| test.cpp:440:39:440:41 | call to get [x] | semmle.label | call to get [x] | +| test.cpp:440:39:440:41 | call to get [x] | semmle.label | call to get [x] | +| test.cpp:441:11:441:11 | *e [x] | semmle.label | *e [x] | +| test.cpp:441:13:441:13 | x | semmle.label | x | +| test.cpp:441:13:441:13 | x | semmle.label | x | +| test.cpp:446:3:446:28 | *ElementWithOverloadedArity [post update] [x] | semmle.label | *ElementWithOverloadedArity [post update] [x] | +| test.cpp:446:3:446:28 | *this [Return] [x] | semmle.label | *this [Return] [x] | +| test.cpp:446:34:446:38 | first | semmle.label | first | +| test.cpp:446:45:446:49 | first | semmle.label | first | +| test.cpp:447:3:447:28 | *ElementWithOverloadedArity [post update] [x] | semmle.label | *ElementWithOverloadedArity [post update] [x] | +| test.cpp:447:3:447:28 | *this [Return] [x] | semmle.label | *this [Return] [x] | +| test.cpp:447:39:447:44 | second | semmle.label | second | +| test.cpp:447:51:447:56 | second | semmle.label | second | +| test.cpp:451:11:451:19 | call to ymlSource | semmle.label | call to ymlSource | +| test.cpp:451:11:451:19 | call to ymlSource | semmle.label | call to ymlSource | +| test.cpp:454:5:454:5 | emplace output argument [element, x] | semmle.label | emplace output argument [element, x] | +| test.cpp:454:18:454:18 | *x | semmle.label | *x | +| test.cpp:455:13:455:13 | c [element, x] | semmle.label | c [element, x] | +| test.cpp:455:18:455:20 | *call to get [x] | semmle.label | *call to get [x] | +| test.cpp:455:21:455:21 | x | semmle.label | x | +| test.cpp:455:21:455:21 | x | semmle.label | x | +| test.cpp:464:5:464:5 | emplace output argument [element, x] | semmle.label | emplace output argument [element, x] | +| test.cpp:464:21:464:21 | *x | semmle.label | *x | +| test.cpp:465:13:465:13 | c [element, x] | semmle.label | c [element, x] | +| test.cpp:465:18:465:20 | *call to get [x] | semmle.label | *call to get [x] | +| test.cpp:465:21:465:21 | x | semmle.label | x | +| test.cpp:465:21:465:21 | x | semmle.label | x | +| test.cpp:472:5:472:5 | forward output argument | semmle.label | forward output argument | +| test.cpp:472:15:472:23 | call to ymlSource | semmle.label | call to ymlSource | +| test.cpp:472:15:472:23 | call to ymlSource | semmle.label | call to ymlSource | +| test.cpp:472:15:472:25 | call to ymlSource | semmle.label | call to ymlSource | +| test.cpp:473:13:473:13 | f | semmle.label | f | +| test.cpp:473:15:473:17 | call to get | semmle.label | call to get | +| test.cpp:473:15:473:17 | call to get | semmle.label | call to get | +| test.cpp:477:5:477:5 | forward output argument | semmle.label | forward output argument | +| test.cpp:477:15:477:26 | *call to ymlSourcePtr | semmle.label | *call to ymlSourcePtr | +| test.cpp:477:15:477:26 | call to ymlSourcePtr | semmle.label | call to ymlSourcePtr | +| test.cpp:477:15:477:28 | **call to ymlSourcePtr | semmle.label | **call to ymlSourcePtr | +| test.cpp:478:13:478:20 | * ... | semmle.label | * ... | +| test.cpp:478:14:478:14 | f | semmle.label | f | | windows.cpp:22:15:22:29 | *call to GetCommandLineA | semmle.label | *call to GetCommandLineA | | windows.cpp:22:15:22:29 | call to GetCommandLineA | semmle.label | call to GetCommandLineA | | windows.cpp:24:8:24:11 | * ... | semmle.label | * ... | @@ -3223,6 +4087,6 @@ subpaths | test.cpp:363:15:363:15 | *x | test.cpp:345:38:345:40 | arg | test.cpp:345:3:345:22 | *this [Return] [ul] | test.cpp:363:5:363:5 | forward output argument [ul] | | test.cpp:372:15:372:16 | *ul | test.cpp:341:30:341:32 | arg | test.cpp:341:3:341:22 | *this [Return] [s] | test.cpp:372:5:372:5 | forward output argument [s] | | test.cpp:372:15:372:16 | *ul | test.cpp:345:38:345:40 | arg | test.cpp:345:3:345:22 | *this [Return] [ul] | test.cpp:372:5:372:5 | forward output argument [ul] | -| test.cpp:443:18:443:18 | *x | test.cpp:435:34:435:38 | first | test.cpp:435:3:435:28 | *this [Return] [x] | test.cpp:443:5:443:5 | emplace output argument [element, x] | -| test.cpp:453:21:453:21 | *x | test.cpp:436:39:436:44 | second | test.cpp:436:3:436:28 | *this [Return] [x] | test.cpp:453:5:453:5 | emplace output argument [element, x] | +| test.cpp:454:18:454:18 | *x | test.cpp:446:34:446:38 | first | test.cpp:446:3:446:28 | *this [Return] [x] | test.cpp:454:5:454:5 | emplace output argument [element, x] | +| test.cpp:464:21:464:21 | *x | test.cpp:447:39:447:44 | second | test.cpp:447:3:447:28 | *this [Return] [x] | test.cpp:464:5:464:5 | emplace output argument [element, x] | testFailures diff --git a/cpp/ql/test/library-tests/dataflow/external-models/flow.ext.yml b/cpp/ql/test/library-tests/dataflow/external-models/flow.ext.yml index 105d0a050311..77f168112bb5 100644 --- a/cpp/ql/test/library-tests/dataflow/external-models/flow.ext.yml +++ b/cpp/ql/test/library-tests/dataflow/external-models/flow.ext.yml @@ -53,4 +53,4 @@ extensions: - ["", "Forwarder", True, "forward", "(Args &&)", "", "0", "T", "Argument[-1]", "manual"] - ["", "", False, "makeForwarded", "(int)", "", "0", "T", "ReturnValue", "manual"] - ["", "Forwarder", True, "forwardToElement", "(int)", "", "0", "Element", "Argument[-1]", "manual"] - - ["", "Container", True, "emplace", "(int,Args &&)", "", "1", "T", "Argument[-1].Element", "manual"] + - ["", "Container", True, "emplace", "(int,Args &&)", "", "1", "value_type", "Argument[-1].Element", "manual"] diff --git a/cpp/ql/test/library-tests/dataflow/external-models/protobuf.cpp b/cpp/ql/test/library-tests/dataflow/external-models/protobuf.cpp index 0ee013b4b72c..ec8043218255 100644 --- a/cpp/ql/test/library-tests/dataflow/external-models/protobuf.cpp +++ b/cpp/ql/test/library-tests/dataflow/external-models/protobuf.cpp @@ -1,19 +1,7 @@ // --- stub library headers --- -#include "std_string.h" - -namespace std { - class istream { - public: - istream(); - }; - - class ostream { - public: - ostream(); - }; -} +#include "../taint-tests/stl.h" namespace absl { class string_view { diff --git a/cpp/ql/test/library-tests/dataflow/external-models/sinks.expected b/cpp/ql/test/library-tests/dataflow/external-models/sinks.expected index 3a484db7a28c..7c498739e150 100644 --- a/cpp/ql/test/library-tests/dataflow/external-models/sinks.expected +++ b/cpp/ql/test/library-tests/dataflow/external-models/sinks.expected @@ -1,5 +1,5 @@ -| asio_streams.cpp:122:29:122:39 | recv_buffer | remote-sink | -| asio_streams.cpp:132:29:132:39 | send_buffer | remote-sink | +| asio_streams.cpp:115:29:115:39 | recv_buffer | remote-sink | +| asio_streams.cpp:125:29:125:39 | send_buffer | remote-sink | | test.cpp:12:10:12:10 | 0 | test-sink | | test.cpp:14:10:14:10 | x | test-sink | | test.cpp:18:10:18:10 | y | test-sink | @@ -47,12 +47,14 @@ | test.cpp:367:15:367:16 | ul | test-sink | | test.cpp:375:15:375:15 | s | test-sink | | test.cpp:376:15:376:16 | ul | test-sink | -| test.cpp:399:13:399:13 | x | test-sink | -| test.cpp:407:13:407:13 | x | test-sink | -| test.cpp:416:13:416:13 | x | test-sink | -| test.cpp:430:13:430:13 | x | test-sink | -| test.cpp:444:21:444:21 | x | test-sink | -| test.cpp:449:21:449:21 | x | test-sink | -| test.cpp:454:21:454:21 | x | test-sink | -| test.cpp:462:15:462:17 | call to get | test-sink | -| test.cpp:467:13:467:20 | * ... | test-sink | +| test.cpp:400:13:400:13 | x | test-sink | +| test.cpp:408:13:408:13 | x | test-sink | +| test.cpp:417:13:417:13 | x | test-sink | +| test.cpp:423:18:423:20 | call to get | test-sink | +| test.cpp:427:11:427:24 | * ... | test-sink | +| test.cpp:441:13:441:13 | x | test-sink | +| test.cpp:455:21:455:21 | x | test-sink | +| test.cpp:460:21:460:21 | x | test-sink | +| test.cpp:465:21:465:21 | x | test-sink | +| test.cpp:473:15:473:17 | call to get | test-sink | +| test.cpp:478:13:478:20 | * ... | test-sink | diff --git a/cpp/ql/test/library-tests/dataflow/external-models/sources.expected b/cpp/ql/test/library-tests/dataflow/external-models/sources.expected index 82b5c09d02f6..8abcc00ecc1b 100644 --- a/cpp/ql/test/library-tests/dataflow/external-models/sources.expected +++ b/cpp/ql/test/library-tests/dataflow/external-models/sources.expected @@ -1,10 +1,11 @@ -| asio_streams.cpp:116:34:116:44 | read_until output argument | remote | -| azure.cpp:253:48:253:60 | call to GetBodyStream | remote | -| azure.cpp:273:52:273:61 | call to GetHeaders | remote | -| azure.cpp:277:38:277:44 | call to GetBody | remote | -| azure.cpp:281:68:281:84 | call to ExtractBodyStream | remote | -| azure.cpp:289:32:289:40 | call to GetHeader | remote | -| azure.cpp:293:58:293:67 | call to GetHeaders | remote | +| asio_streams.cpp:109:34:109:44 | read_until output argument | remote | +| azure.cpp:216:48:216:60 | call to GetBodyStream | remote | +| azure.cpp:236:52:236:61 | call to GetHeaders | remote | +| azure.cpp:240:38:240:44 | call to GetBody | remote | +| azure.cpp:244:68:244:84 | call to ExtractBodyStream | remote | +| azure.cpp:253:32:253:40 | call to GetHeader | remote | +| azure.cpp:257:58:257:67 | call to GetHeaders | remote | +| azure.cpp:266:34:266:43 | call to GetHeaders | remote | | test.cpp:10:10:10:18 | call to ymlSource | local | | test.cpp:56:8:56:16 | call to ymlSource | local | | test.cpp:94:10:94:18 | call to ymlSource | local | @@ -21,12 +22,13 @@ | test.cpp:317:51:317:59 | call to ymlSource | local | | test.cpp:362:15:362:23 | call to ymlSource | local | | test.cpp:371:24:371:32 | call to ymlSource | local | -| test.cpp:397:11:397:19 | call to ymlSource | local | -| test.cpp:404:11:404:19 | call to ymlSource | local | -| test.cpp:412:11:412:19 | call to ymlSource | local | -| test.cpp:426:11:426:19 | call to ymlSource | local | -| test.cpp:440:11:440:19 | call to ymlSource | local | -| test.cpp:461:15:461:23 | call to ymlSource | local | +| test.cpp:398:11:398:19 | call to ymlSource | local | +| test.cpp:405:11:405:19 | call to ymlSource | local | +| test.cpp:413:11:413:19 | call to ymlSource | local | +| test.cpp:422:21:422:29 | call to ymlSource | local | +| test.cpp:437:11:437:19 | call to ymlSource | local | +| test.cpp:451:11:451:19 | call to ymlSource | local | +| test.cpp:472:15:472:23 | call to ymlSource | local | | windows.cpp:22:15:22:29 | call to GetCommandLineA | local | | windows.cpp:34:17:34:38 | call to GetEnvironmentStringsA | local | | windows.cpp:39:36:39:38 | GetEnvironmentVariableA output argument | local | diff --git a/cpp/ql/test/library-tests/dataflow/external-models/std_string.h b/cpp/ql/test/library-tests/dataflow/external-models/std_string.h deleted file mode 100644 index abafc37f816e..000000000000 --- a/cpp/ql/test/library-tests/dataflow/external-models/std_string.h +++ /dev/null @@ -1,25 +0,0 @@ -#ifndef CODEQL_TEST_STD_STRING_H -#define CODEQL_TEST_STD_STRING_H - -namespace std { - typedef unsigned long size_t; - - template class allocator { - }; - - template struct char_traits { - }; - - template, class Allocator = allocator > - class basic_string { - public: - basic_string(); - basic_string(const charT* s, const Allocator& a = Allocator()); - const charT* data() const; - size_t size() const; - }; - - typedef basic_string string; -} - -#endif diff --git a/cpp/ql/test/library-tests/dataflow/external-models/steps.expected b/cpp/ql/test/library-tests/dataflow/external-models/steps.expected index 2f9c6d74208d..fbe08ec2b308 100644 --- a/cpp/ql/test/library-tests/dataflow/external-models/steps.expected +++ b/cpp/ql/test/library-tests/dataflow/external-models/steps.expected @@ -1,73 +1,75 @@ -| asio_streams.cpp:129:64:129:71 | *send_str | asio_streams.cpp:129:44:129:62 | call to buffer | -| asio_streams.cpp:148:24:148:27 | *host | asio_streams.cpp:148:16:148:22 | call to resolve | -| asio_streams.cpp:148:30:148:36 | *service | asio_streams.cpp:148:16:148:22 | call to resolve | -| asio_streams.cpp:149:24:149:27 | *host | asio_streams.cpp:149:16:149:22 | call to resolve | -| asio_streams.cpp:149:30:149:36 | *service | asio_streams.cpp:149:16:149:22 | call to resolve | -| asio_streams.cpp:150:24:150:27 | *host | asio_streams.cpp:150:16:150:22 | call to resolve | -| asio_streams.cpp:150:30:150:36 | *service | asio_streams.cpp:150:16:150:22 | call to resolve | -| asio_streams.cpp:151:24:151:27 | *host | asio_streams.cpp:151:16:151:22 | call to resolve | -| asio_streams.cpp:151:30:151:36 | *service | asio_streams.cpp:151:16:151:22 | call to resolve | -| asio_streams.cpp:153:24:153:32 | host_view | asio_streams.cpp:153:16:153:22 | call to resolve | -| asio_streams.cpp:153:35:153:46 | service_view | asio_streams.cpp:153:16:153:22 | call to resolve | -| asio_streams.cpp:154:24:154:32 | host_view | asio_streams.cpp:154:16:154:22 | call to resolve | -| asio_streams.cpp:154:35:154:46 | service_view | asio_streams.cpp:154:16:154:22 | call to resolve | -| asio_streams.cpp:155:24:155:32 | host_view | asio_streams.cpp:155:16:155:22 | call to resolve | -| asio_streams.cpp:155:35:155:46 | service_view | asio_streams.cpp:155:16:155:22 | call to resolve | -| asio_streams.cpp:156:24:156:32 | host_view | asio_streams.cpp:156:16:156:22 | call to resolve | -| asio_streams.cpp:156:35:156:46 | service_view | asio_streams.cpp:156:16:156:22 | call to resolve | -| asio_streams.cpp:158:34:158:37 | *host | asio_streams.cpp:158:16:158:22 | call to resolve | -| asio_streams.cpp:158:40:158:46 | *service | asio_streams.cpp:158:16:158:22 | call to resolve | -| asio_streams.cpp:159:34:159:37 | *host | asio_streams.cpp:159:16:159:22 | call to resolve | -| asio_streams.cpp:159:40:159:46 | *service | asio_streams.cpp:159:16:159:22 | call to resolve | -| asio_streams.cpp:160:34:160:37 | *host | asio_streams.cpp:160:16:160:22 | call to resolve | -| asio_streams.cpp:160:40:160:46 | *service | asio_streams.cpp:160:16:160:22 | call to resolve | -| asio_streams.cpp:161:34:161:37 | *host | asio_streams.cpp:161:16:161:22 | call to resolve | -| asio_streams.cpp:161:40:161:46 | *service | asio_streams.cpp:161:16:161:22 | call to resolve | -| asio_streams.cpp:163:34:163:42 | host_view | asio_streams.cpp:163:16:163:22 | call to resolve | -| asio_streams.cpp:163:45:163:56 | service_view | asio_streams.cpp:163:16:163:22 | call to resolve | -| asio_streams.cpp:164:34:164:42 | host_view | asio_streams.cpp:164:16:164:22 | call to resolve | -| asio_streams.cpp:164:45:164:56 | service_view | asio_streams.cpp:164:16:164:22 | call to resolve | -| asio_streams.cpp:165:34:165:42 | host_view | asio_streams.cpp:165:16:165:22 | call to resolve | -| asio_streams.cpp:165:45:165:56 | service_view | asio_streams.cpp:165:16:165:22 | call to resolve | -| asio_streams.cpp:166:34:166:42 | host_view | asio_streams.cpp:166:16:166:22 | call to resolve | -| asio_streams.cpp:166:45:166:56 | service_view | asio_streams.cpp:166:16:166:22 | call to resolve | -| asio_streams.cpp:179:24:179:27 | *host | asio_streams.cpp:179:16:179:22 | call to resolve | -| asio_streams.cpp:179:30:179:36 | *service | asio_streams.cpp:179:16:179:22 | call to resolve | -| asio_streams.cpp:180:24:180:27 | *host | asio_streams.cpp:180:16:180:22 | call to resolve | -| asio_streams.cpp:180:30:180:36 | *service | asio_streams.cpp:180:16:180:22 | call to resolve | -| asio_streams.cpp:181:24:181:27 | *host | asio_streams.cpp:181:16:181:22 | call to resolve | -| asio_streams.cpp:181:30:181:36 | *service | asio_streams.cpp:181:16:181:22 | call to resolve | -| asio_streams.cpp:182:24:182:27 | *host | asio_streams.cpp:182:16:182:22 | call to resolve | -| asio_streams.cpp:182:30:182:36 | *service | asio_streams.cpp:182:16:182:22 | call to resolve | -| asio_streams.cpp:184:24:184:32 | host_view | asio_streams.cpp:184:16:184:22 | call to resolve | -| asio_streams.cpp:184:35:184:46 | service_view | asio_streams.cpp:184:16:184:22 | call to resolve | -| asio_streams.cpp:185:24:185:32 | host_view | asio_streams.cpp:185:16:185:22 | call to resolve | -| asio_streams.cpp:185:35:185:46 | service_view | asio_streams.cpp:185:16:185:22 | call to resolve | -| asio_streams.cpp:186:24:186:32 | host_view | asio_streams.cpp:186:16:186:22 | call to resolve | -| asio_streams.cpp:186:35:186:46 | service_view | asio_streams.cpp:186:16:186:22 | call to resolve | -| asio_streams.cpp:187:24:187:32 | host_view | asio_streams.cpp:187:16:187:22 | call to resolve | -| asio_streams.cpp:187:35:187:46 | service_view | asio_streams.cpp:187:16:187:22 | call to resolve | -| asio_streams.cpp:189:34:189:37 | *host | asio_streams.cpp:189:16:189:22 | call to resolve | -| asio_streams.cpp:189:40:189:46 | *service | asio_streams.cpp:189:16:189:22 | call to resolve | -| asio_streams.cpp:190:34:190:37 | *host | asio_streams.cpp:190:16:190:22 | call to resolve | -| asio_streams.cpp:190:40:190:46 | *service | asio_streams.cpp:190:16:190:22 | call to resolve | -| asio_streams.cpp:191:34:191:37 | *host | asio_streams.cpp:191:16:191:22 | call to resolve | -| asio_streams.cpp:191:40:191:46 | *service | asio_streams.cpp:191:16:191:22 | call to resolve | -| asio_streams.cpp:192:34:192:37 | *host | asio_streams.cpp:192:16:192:22 | call to resolve | -| asio_streams.cpp:192:40:192:46 | *service | asio_streams.cpp:192:16:192:22 | call to resolve | -| asio_streams.cpp:194:34:194:42 | host_view | asio_streams.cpp:194:16:194:22 | call to resolve | -| asio_streams.cpp:194:45:194:56 | service_view | asio_streams.cpp:194:16:194:22 | call to resolve | -| asio_streams.cpp:195:34:195:42 | host_view | asio_streams.cpp:195:16:195:22 | call to resolve | -| asio_streams.cpp:195:45:195:56 | service_view | asio_streams.cpp:195:16:195:22 | call to resolve | -| asio_streams.cpp:196:34:196:42 | host_view | asio_streams.cpp:196:16:196:22 | call to resolve | -| asio_streams.cpp:196:45:196:56 | service_view | asio_streams.cpp:196:16:196:22 | call to resolve | -| asio_streams.cpp:197:34:197:42 | host_view | asio_streams.cpp:197:16:197:22 | call to resolve | -| asio_streams.cpp:197:45:197:56 | service_view | asio_streams.cpp:197:16:197:22 | call to resolve | -| azure.cpp:252:79:252:98 | call to string | azure.cpp:252:62:252:99 | call to Url | -| azure.cpp:257:5:257:8 | *resp | azure.cpp:257:16:257:21 | Read output argument | -| azure.cpp:262:5:262:8 | *resp | azure.cpp:262:23:262:28 | ReadToCount output argument | -| azure.cpp:287:79:287:98 | call to string | azure.cpp:287:62:287:99 | call to Url | -| azure.cpp:289:24:289:56 | call to GetHeader | azure.cpp:289:63:289:65 | call to Value | +| asio_streams.cpp:122:64:122:71 | *send_str | asio_streams.cpp:122:44:122:62 | call to buffer | +| asio_streams.cpp:138:29:138:36 | call to source | asio_streams.cpp:138:19:138:27 | call to basic_string_view | +| asio_streams.cpp:141:24:141:27 | *host | asio_streams.cpp:141:16:141:22 | call to resolve | +| asio_streams.cpp:141:30:141:36 | *service | asio_streams.cpp:141:16:141:22 | call to resolve | +| asio_streams.cpp:142:24:142:27 | *host | asio_streams.cpp:142:16:142:22 | call to resolve | +| asio_streams.cpp:142:30:142:36 | *service | asio_streams.cpp:142:16:142:22 | call to resolve | +| asio_streams.cpp:143:24:143:27 | *host | asio_streams.cpp:143:16:143:22 | call to resolve | +| asio_streams.cpp:143:30:143:36 | *service | asio_streams.cpp:143:16:143:22 | call to resolve | +| asio_streams.cpp:144:24:144:27 | *host | asio_streams.cpp:144:16:144:22 | call to resolve | +| asio_streams.cpp:144:30:144:36 | *service | asio_streams.cpp:144:16:144:22 | call to resolve | +| asio_streams.cpp:146:24:146:32 | call to basic_string_view | asio_streams.cpp:146:16:146:22 | call to resolve | +| asio_streams.cpp:146:35:146:46 | call to basic_string_view | asio_streams.cpp:146:16:146:22 | call to resolve | +| asio_streams.cpp:147:24:147:32 | call to basic_string_view | asio_streams.cpp:147:16:147:22 | call to resolve | +| asio_streams.cpp:147:35:147:46 | call to basic_string_view | asio_streams.cpp:147:16:147:22 | call to resolve | +| asio_streams.cpp:148:24:148:32 | call to basic_string_view | asio_streams.cpp:148:16:148:22 | call to resolve | +| asio_streams.cpp:148:35:148:46 | call to basic_string_view | asio_streams.cpp:148:16:148:22 | call to resolve | +| asio_streams.cpp:149:24:149:32 | call to basic_string_view | asio_streams.cpp:149:16:149:22 | call to resolve | +| asio_streams.cpp:149:35:149:46 | call to basic_string_view | asio_streams.cpp:149:16:149:22 | call to resolve | +| asio_streams.cpp:151:34:151:37 | *host | asio_streams.cpp:151:16:151:22 | call to resolve | +| asio_streams.cpp:151:40:151:46 | *service | asio_streams.cpp:151:16:151:22 | call to resolve | +| asio_streams.cpp:152:34:152:37 | *host | asio_streams.cpp:152:16:152:22 | call to resolve | +| asio_streams.cpp:152:40:152:46 | *service | asio_streams.cpp:152:16:152:22 | call to resolve | +| asio_streams.cpp:153:34:153:37 | *host | asio_streams.cpp:153:16:153:22 | call to resolve | +| asio_streams.cpp:153:40:153:46 | *service | asio_streams.cpp:153:16:153:22 | call to resolve | +| asio_streams.cpp:154:34:154:37 | *host | asio_streams.cpp:154:16:154:22 | call to resolve | +| asio_streams.cpp:154:40:154:46 | *service | asio_streams.cpp:154:16:154:22 | call to resolve | +| asio_streams.cpp:156:34:156:42 | call to basic_string_view | asio_streams.cpp:156:16:156:22 | call to resolve | +| asio_streams.cpp:156:45:156:56 | call to basic_string_view | asio_streams.cpp:156:16:156:22 | call to resolve | +| asio_streams.cpp:157:34:157:42 | call to basic_string_view | asio_streams.cpp:157:16:157:22 | call to resolve | +| asio_streams.cpp:157:45:157:56 | call to basic_string_view | asio_streams.cpp:157:16:157:22 | call to resolve | +| asio_streams.cpp:158:34:158:42 | call to basic_string_view | asio_streams.cpp:158:16:158:22 | call to resolve | +| asio_streams.cpp:158:45:158:56 | call to basic_string_view | asio_streams.cpp:158:16:158:22 | call to resolve | +| asio_streams.cpp:159:34:159:42 | call to basic_string_view | asio_streams.cpp:159:16:159:22 | call to resolve | +| asio_streams.cpp:159:45:159:56 | call to basic_string_view | asio_streams.cpp:159:16:159:22 | call to resolve | +| asio_streams.cpp:170:32:170:39 | call to source | asio_streams.cpp:170:19:170:30 | call to basic_string_view | +| asio_streams.cpp:172:24:172:27 | *host | asio_streams.cpp:172:16:172:22 | call to resolve | +| asio_streams.cpp:172:30:172:36 | *service | asio_streams.cpp:172:16:172:22 | call to resolve | +| asio_streams.cpp:173:24:173:27 | *host | asio_streams.cpp:173:16:173:22 | call to resolve | +| asio_streams.cpp:173:30:173:36 | *service | asio_streams.cpp:173:16:173:22 | call to resolve | +| asio_streams.cpp:174:24:174:27 | *host | asio_streams.cpp:174:16:174:22 | call to resolve | +| asio_streams.cpp:174:30:174:36 | *service | asio_streams.cpp:174:16:174:22 | call to resolve | +| asio_streams.cpp:175:24:175:27 | *host | asio_streams.cpp:175:16:175:22 | call to resolve | +| asio_streams.cpp:175:30:175:36 | *service | asio_streams.cpp:175:16:175:22 | call to resolve | +| asio_streams.cpp:177:24:177:32 | call to basic_string_view | asio_streams.cpp:177:16:177:22 | call to resolve | +| asio_streams.cpp:177:35:177:46 | call to basic_string_view | asio_streams.cpp:177:16:177:22 | call to resolve | +| asio_streams.cpp:178:24:178:32 | call to basic_string_view | asio_streams.cpp:178:16:178:22 | call to resolve | +| asio_streams.cpp:178:35:178:46 | call to basic_string_view | asio_streams.cpp:178:16:178:22 | call to resolve | +| asio_streams.cpp:179:24:179:32 | call to basic_string_view | asio_streams.cpp:179:16:179:22 | call to resolve | +| asio_streams.cpp:179:35:179:46 | call to basic_string_view | asio_streams.cpp:179:16:179:22 | call to resolve | +| asio_streams.cpp:180:24:180:32 | call to basic_string_view | asio_streams.cpp:180:16:180:22 | call to resolve | +| asio_streams.cpp:180:35:180:46 | call to basic_string_view | asio_streams.cpp:180:16:180:22 | call to resolve | +| asio_streams.cpp:182:34:182:37 | *host | asio_streams.cpp:182:16:182:22 | call to resolve | +| asio_streams.cpp:182:40:182:46 | *service | asio_streams.cpp:182:16:182:22 | call to resolve | +| asio_streams.cpp:183:34:183:37 | *host | asio_streams.cpp:183:16:183:22 | call to resolve | +| asio_streams.cpp:183:40:183:46 | *service | asio_streams.cpp:183:16:183:22 | call to resolve | +| asio_streams.cpp:184:34:184:37 | *host | asio_streams.cpp:184:16:184:22 | call to resolve | +| asio_streams.cpp:184:40:184:46 | *service | asio_streams.cpp:184:16:184:22 | call to resolve | +| asio_streams.cpp:185:34:185:37 | *host | asio_streams.cpp:185:16:185:22 | call to resolve | +| asio_streams.cpp:185:40:185:46 | *service | asio_streams.cpp:185:16:185:22 | call to resolve | +| asio_streams.cpp:187:34:187:42 | call to basic_string_view | asio_streams.cpp:187:16:187:22 | call to resolve | +| asio_streams.cpp:187:45:187:56 | call to basic_string_view | asio_streams.cpp:187:16:187:22 | call to resolve | +| asio_streams.cpp:188:34:188:42 | call to basic_string_view | asio_streams.cpp:188:16:188:22 | call to resolve | +| asio_streams.cpp:188:45:188:56 | call to basic_string_view | asio_streams.cpp:188:16:188:22 | call to resolve | +| asio_streams.cpp:189:34:189:42 | call to basic_string_view | asio_streams.cpp:189:16:189:22 | call to resolve | +| asio_streams.cpp:189:45:189:56 | call to basic_string_view | asio_streams.cpp:189:16:189:22 | call to resolve | +| asio_streams.cpp:190:34:190:42 | call to basic_string_view | asio_streams.cpp:190:16:190:22 | call to resolve | +| asio_streams.cpp:190:45:190:56 | call to basic_string_view | asio_streams.cpp:190:16:190:22 | call to resolve | +| azure.cpp:215:79:215:98 | call to basic_string | azure.cpp:215:62:215:99 | call to Url | +| azure.cpp:220:5:220:8 | *resp | azure.cpp:220:16:220:21 | Read output argument | +| azure.cpp:225:5:225:8 | *resp | azure.cpp:225:23:225:28 | ReadToCount output argument | +| azure.cpp:251:79:251:98 | call to basic_string | azure.cpp:251:62:251:99 | call to Url | +| azure.cpp:264:79:264:98 | call to basic_string | azure.cpp:264:62:264:99 | call to Url | | bal.cpp:132:17:132:18 | *sb | bal.cpp:132:21:132:24 | decode output argument | | bal.cpp:141:17:141:19 | ** ... | bal.cpp:141:22:141:25 | decode output argument | | bal.cpp:150:20:150:21 | *sb | bal.cpp:150:24:150:27 | decodeAny output argument | @@ -126,11 +128,11 @@ | bdlbb.cpp:39:49:39:52 | *call to data | bdlbb.cpp:39:37:39:41 | copy output argument | | bdlbb.cpp:41:42:41:45 | *blob | bdlbb.cpp:41:37:41:39 | copy output argument | | bdlbb.cpp:48:49:48:52 | *call to data | bdlbb.cpp:48:37:48:41 | copy output argument | -| bdlbb.cpp:49:18:49:21 | *blob | bdlbb.cpp:49:29:49:32 | *call to buffer | -| bdlbb.cpp:49:29:49:32 | *call to buffer | bdlbb.cpp:49:18:49:38 | *call to data | +| bdlbb.cpp:49:18:49:21 | blob | bdlbb.cpp:49:29:49:32 | call to buffer | +| bdlbb.cpp:49:29:49:32 | call to buffer | bdlbb.cpp:49:18:49:38 | *call to data | | bdlbb.cpp:57:49:57:52 | *call to data | bdlbb.cpp:57:37:57:41 | copy output argument | -| bdlbb.cpp:58:18:58:21 | *blob | bdlbb.cpp:58:29:58:32 | *call to buffer | -| bdlbb.cpp:58:29:58:32 | *call to buffer | bdlbb.cpp:58:39:58:41 | *call to buffer | +| bdlbb.cpp:58:18:58:21 | blob | bdlbb.cpp:58:29:58:32 | call to buffer | +| bdlbb.cpp:58:29:58:32 | call to buffer | bdlbb.cpp:58:39:58:41 | call to buffer | | bdlbb.cpp:65:49:65:52 | *call to data | bdlbb.cpp:65:37:65:41 | copy output argument | | bdlbb.cpp:67:72:67:75 | *blob | bdlbb.cpp:67:12:67:65 | *call to getContiguousRangeOrCopy | | bdlbb.cpp:67:72:67:75 | *blob | bdlbb.cpp:67:67:67:69 | getContiguousRangeOrCopy output argument | @@ -140,321 +142,321 @@ | bmqa.cpp:90:2:90:4 | *msg | bmqa.cpp:90:15:90:19 | getData output argument | | bmqa.cpp:92:42:92:45 | *blob | bmqa.cpp:92:37:92:39 | copy output argument | | bmqa.cpp:99:42:99:46 | *event | bmqa.cpp:99:49:99:63 | call to messageIterator | -| bmqa.cpp:101:43:101:44 | *it | bmqa.cpp:101:53:101:55 | *call to message | -| bmqa.cpp:103:3:103:5 | *msg | bmqa.cpp:103:15:103:19 | getData output argument | +| bmqa.cpp:101:43:101:44 | it | bmqa.cpp:101:53:101:55 | *call to message | +| bmqa.cpp:103:3:103:5 | msg | bmqa.cpp:103:15:103:19 | getData output argument | | bmqa.cpp:105:43:105:46 | *blob | bmqa.cpp:105:38:105:40 | copy output argument | | bmqa.cpp:113:47:113:50 | *call to data | bmqa.cpp:113:37:113:39 | copy output argument | -| bmqa.cpp:115:2:115:4 | *msg | bmqa.cpp:115:16:115:21 | *call to setDataRef | +| bmqa.cpp:115:2:115:4 | msg | bmqa.cpp:115:16:115:21 | *call to setDataRef | | bmqa.cpp:115:17:115:19 | *& ... | bmqa.cpp:115:2:115:4 | setDataRef output argument | | bmqa.cpp:115:17:115:19 | *& ... | bmqa.cpp:115:16:115:21 | *call to setDataRef | -| bmqa.cpp:117:2:117:4 | *msg | bmqa.cpp:117:14:117:17 | getData output argument | +| bmqa.cpp:117:2:117:4 | msg | bmqa.cpp:117:14:117:17 | getData output argument | | bmqa.cpp:119:42:119:44 | *out | bmqa.cpp:119:37:119:39 | copy output argument | -| bmqa.cpp:126:2:126:4 | *msg | bmqa.cpp:126:16:126:36 | *call to setDataRef | +| bmqa.cpp:126:2:126:4 | msg | bmqa.cpp:126:16:126:36 | *call to setDataRef | | bmqa.cpp:126:19:126:22 | *call to data | bmqa.cpp:126:2:126:4 | setDataRef output argument | | bmqa.cpp:126:19:126:22 | *call to data | bmqa.cpp:126:16:126:36 | *call to setDataRef | -| bmqa.cpp:128:2:128:4 | *msg | bmqa.cpp:128:14:128:17 | getData output argument | +| bmqa.cpp:128:2:128:4 | msg | bmqa.cpp:128:14:128:17 | getData output argument | | bmqa.cpp:130:42:130:44 | *out | bmqa.cpp:130:37:130:39 | copy output argument | -| bmqa.cpp:137:2:137:4 | *msg | bmqa.cpp:137:13:137:33 | *call to setData | +| bmqa.cpp:137:2:137:4 | msg | bmqa.cpp:137:13:137:33 | *call to setData | | bmqa.cpp:137:16:137:19 | *call to data | bmqa.cpp:137:2:137:4 | setData output argument | | bmqa.cpp:137:16:137:19 | *call to data | bmqa.cpp:137:13:137:33 | *call to setData | -| bmqa.cpp:139:2:139:4 | *msg | bmqa.cpp:139:14:139:17 | getData output argument | +| bmqa.cpp:139:2:139:4 | msg | bmqa.cpp:139:14:139:17 | getData output argument | | bmqa.cpp:141:42:141:44 | *out | bmqa.cpp:141:37:141:39 | copy output argument | | bmqa.cpp:148:36:148:38 | *msg | bmqa.cpp:148:41:148:45 | call to clone | -| bmqa.cpp:150:2:150:5 | *copy | bmqa.cpp:150:15:150:19 | getData output argument | +| bmqa.cpp:150:2:150:5 | copy | bmqa.cpp:150:15:150:19 | getData output argument | | bmqa.cpp:152:42:152:45 | *blob | bmqa.cpp:152:37:152:39 | copy output argument | | bmqa.cpp:160:2:160:4 | *msg | bmqa.cpp:160:22:160:27 | loadProperties output argument | -| bmqa.cpp:161:29:161:33 | *props | bmqa.cpp:161:54:161:61 | *call to getPropertyAsString | +| bmqa.cpp:161:29:161:33 | props | bmqa.cpp:161:54:161:61 | *call to getPropertyAsString | | bmqa.cpp:169:2:169:4 | *msg | bmqa.cpp:169:22:169:27 | loadProperties output argument | | bmqa.cpp:178:2:178:4 | *msg | bmqa.cpp:178:22:178:27 | loadProperties output argument | | bmqa.cpp:187:2:187:4 | *msg | bmqa.cpp:187:22:187:27 | loadProperties output argument | -| bmqa.cpp:189:29:189:33 | *props | bmqa.cpp:189:56:189:69 | *call to getPropertyAsStringOr | -| bmqa.cpp:197:29:197:33 | *props | bmqa.cpp:197:56:197:69 | *call to getPropertyAsStringOr | +| bmqa.cpp:189:29:189:33 | props | bmqa.cpp:189:56:189:69 | *call to getPropertyAsStringOr | +| bmqa.cpp:197:29:197:33 | props | bmqa.cpp:197:56:197:69 | *call to getPropertyAsStringOr | | bmqa.cpp:205:2:205:4 | *msg | bmqa.cpp:205:22:205:27 | loadProperties output argument | | bmqa.cpp:224:2:224:4 | *msg | bmqa.cpp:224:22:224:27 | loadProperties output argument | | bmqa.cpp:231:49:231:52 | *call to data | bmqa.cpp:231:37:231:41 | copy output argument | | bmqa.cpp:233:17:233:20 | *blob | bmqa.cpp:233:2:233:6 | streamIn output argument | -| bmqa.cpp:234:8:234:12 | *props | bmqa.cpp:234:33:234:40 | *call to getPropertyAsString | +| bmqa.cpp:234:8:234:12 | props | bmqa.cpp:234:33:234:40 | call to getPropertyAsString | | bmqa.cpp:240:49:240:52 | *call to data | bmqa.cpp:240:37:240:41 | copy output argument | | bmqa.cpp:242:14:242:17 | *blob | bmqa.cpp:242:2:242:3 | streamIn output argument | -| bmqa.cpp:244:2:244:4 | *msg | bmqa.cpp:244:22:244:27 | *call to setPropertiesRef | +| bmqa.cpp:244:2:244:4 | msg | bmqa.cpp:244:22:244:27 | *call to setPropertiesRef | | bmqa.cpp:244:23:244:25 | *& ... | bmqa.cpp:244:2:244:4 | setPropertiesRef output argument | | bmqa.cpp:244:23:244:25 | *& ... | bmqa.cpp:244:22:244:27 | *call to setPropertiesRef | -| bmqa.cpp:246:2:246:4 | *msg | bmqa.cpp:246:21:246:24 | loadProperties output argument | -| bmqa.cpp:247:8:247:10 | *out | bmqa.cpp:247:31:247:38 | *call to getPropertyAsString | +| bmqa.cpp:246:2:246:4 | msg | bmqa.cpp:246:21:246:24 | loadProperties output argument | +| bmqa.cpp:247:8:247:10 | out | bmqa.cpp:247:31:247:38 | call to getPropertyAsString | | bmqa.cpp:254:2:254:4 | *msg | bmqa.cpp:254:22:254:27 | loadProperties output argument | -| bmqa.cpp:256:41:256:45 | *props | bmqa.cpp:256:56:256:66 | *call to streamOut | +| bmqa.cpp:256:41:256:45 | props | bmqa.cpp:256:56:256:66 | *call to streamOut | | bmqa.cpp:258:42:258:45 | *blob | bmqa.cpp:258:37:258:39 | copy output argument | | bmqa.cpp:266:2:266:4 | *msg | bmqa.cpp:266:22:266:27 | loadProperties output argument | -| bmqa.cpp:268:8:268:11 | *copy | bmqa.cpp:268:32:268:39 | *call to getPropertyAsString | +| bmqa.cpp:268:8:268:11 | copy | bmqa.cpp:268:32:268:39 | call to getPropertyAsString | | bmqa.cpp:275:2:275:4 | *msg | bmqa.cpp:275:22:275:27 | loadProperties output argument | -| bmqa.cpp:278:8:278:11 | *copy | bmqa.cpp:278:32:278:39 | *call to getPropertyAsString | +| bmqa.cpp:278:8:278:11 | copy | bmqa.cpp:278:32:278:39 | call to getPropertyAsString | | bmqa.cpp:285:2:285:4 | *msg | bmqa.cpp:285:22:285:27 | loadProperties output argument | -| bmqa.cpp:287:8:287:21 | *call to operator= | bmqa.cpp:287:42:287:49 | *call to getPropertyAsString | +| bmqa.cpp:287:8:287:21 | call to operator= | bmqa.cpp:287:42:287:49 | call to getPropertyAsString | | bmqa.cpp:294:28:294:32 | call to basic_string_view | bmqa.cpp:294:2:294:6 | setPropertyAsString output argument | | bmqa.cpp:294:35:294:40 | * ... | bmqa.cpp:294:2:294:6 | setPropertyAsString output argument | -| bmqa.cpp:295:8:295:12 | *props | bmqa.cpp:295:33:295:40 | *call to getPropertyAsString | +| bmqa.cpp:295:8:295:12 | props | bmqa.cpp:295:33:295:40 | call to getPropertyAsString | | bmqa.cpp:301:28:301:32 | call to basic_string_view | bmqa.cpp:301:2:301:6 | setPropertyAsString output argument | | bmqa.cpp:301:35:301:39 | value | bmqa.cpp:301:2:301:6 | setPropertyAsString output argument | -| bmqa.cpp:302:8:302:12 | *props | bmqa.cpp:302:33:302:40 | *call to getPropertyAsString | +| bmqa.cpp:302:8:302:12 | props | bmqa.cpp:302:33:302:40 | call to getPropertyAsString | | bmqa.cpp:309:28:309:32 | call to basic_string_view | bmqa.cpp:309:2:309:6 | setPropertyAsBinary output argument | | bmqa.cpp:309:35:309:40 | * ... | bmqa.cpp:309:2:309:6 | setPropertyAsBinary output argument | | bmqa.cpp:317:26:317:29 | name | bmqa.cpp:317:2:317:6 | setPropertyAsBool output argument | | bmqa.cpp:318:50:318:55 | *& ... | bmqa.cpp:318:47:318:48 | call to MessagePropertiesIterator | -| bmqa.cpp:319:8:319:9 | *it | bmqa.cpp:319:15:319:17 | *call to name | +| bmqa.cpp:319:8:319:9 | it | bmqa.cpp:319:15:319:17 | call to name | | bmqa.cpp:325:26:325:29 | name | bmqa.cpp:325:2:325:6 | setPropertyAsChar output argument | | bmqa.cpp:326:50:326:55 | *& ... | bmqa.cpp:326:47:326:48 | call to MessagePropertiesIterator | -| bmqa.cpp:327:8:327:9 | *it | bmqa.cpp:327:15:327:17 | *call to name | +| bmqa.cpp:327:8:327:9 | it | bmqa.cpp:327:15:327:17 | call to name | | bmqa.cpp:333:27:333:30 | name | bmqa.cpp:333:2:333:6 | setPropertyAsShort output argument | | bmqa.cpp:334:50:334:55 | *& ... | bmqa.cpp:334:47:334:48 | call to MessagePropertiesIterator | -| bmqa.cpp:335:8:335:9 | *it | bmqa.cpp:335:15:335:17 | *call to name | +| bmqa.cpp:335:8:335:9 | it | bmqa.cpp:335:15:335:17 | call to name | | bmqa.cpp:341:27:341:30 | name | bmqa.cpp:341:2:341:6 | setPropertyAsInt32 output argument | | bmqa.cpp:342:50:342:55 | *& ... | bmqa.cpp:342:47:342:48 | call to MessagePropertiesIterator | -| bmqa.cpp:343:8:343:9 | *it | bmqa.cpp:343:15:343:17 | *call to name | +| bmqa.cpp:343:8:343:9 | it | bmqa.cpp:343:15:343:17 | call to name | | bmqa.cpp:349:27:349:30 | name | bmqa.cpp:349:2:349:6 | setPropertyAsInt64 output argument | | bmqa.cpp:350:50:350:55 | *& ... | bmqa.cpp:350:47:350:48 | call to MessagePropertiesIterator | -| bmqa.cpp:351:8:351:9 | *it | bmqa.cpp:351:15:351:17 | *call to name | +| bmqa.cpp:351:8:351:9 | it | bmqa.cpp:351:15:351:17 | call to name | | bmqa.cpp:357:28:357:31 | name | bmqa.cpp:357:2:357:6 | setPropertyAsString output argument | | bmqa.cpp:357:34:357:40 | call to basic_string_view | bmqa.cpp:357:2:357:6 | setPropertyAsString output argument | | bmqa.cpp:358:50:358:55 | *& ... | bmqa.cpp:358:47:358:48 | call to MessagePropertiesIterator | -| bmqa.cpp:359:8:359:9 | *it | bmqa.cpp:359:15:359:17 | *call to name | +| bmqa.cpp:359:8:359:9 | it | bmqa.cpp:359:15:359:17 | call to name | | bmqa.cpp:365:28:365:31 | name | bmqa.cpp:365:2:365:6 | setPropertyAsBinary output argument | | bmqa.cpp:365:34:365:56 | call to span | bmqa.cpp:365:2:365:6 | setPropertyAsBinary output argument | | bmqa.cpp:366:50:366:55 | *& ... | bmqa.cpp:366:47:366:48 | call to MessagePropertiesIterator | -| bmqa.cpp:367:8:367:9 | *it | bmqa.cpp:367:15:367:17 | *call to name | +| bmqa.cpp:367:8:367:9 | it | bmqa.cpp:367:15:367:17 | call to name | | bmqa.cpp:374:2:374:4 | *msg | bmqa.cpp:374:22:374:27 | loadProperties output argument | | bmqa.cpp:375:50:375:55 | *& ... | bmqa.cpp:375:47:375:48 | call to MessagePropertiesIterator | -| bmqa.cpp:377:9:377:10 | *it | bmqa.cpp:377:16:377:18 | *call to name | -| bmqa.cpp:378:9:378:10 | *it | bmqa.cpp:378:23:378:25 | *call to getAsString | +| bmqa.cpp:377:9:377:10 | it | bmqa.cpp:377:16:377:18 | call to name | +| bmqa.cpp:378:9:378:10 | it | bmqa.cpp:378:23:378:25 | call to getAsString | | bmqa.cpp:388:2:388:4 | *msg | bmqa.cpp:388:22:388:27 | loadProperties output argument | | bmqa.cpp:389:50:389:55 | *& ... | bmqa.cpp:389:47:389:48 | call to MessagePropertiesIterator | -| bmqa.cpp:392:8:392:11 | *copy | bmqa.cpp:392:24:392:26 | *call to getAsString | -| bmqa.cpp:393:8:393:18 | *call to operator= | bmqa.cpp:393:24:393:26 | *call to name | -| bslx.cpp:138:11:138:16 | *stream | bslx.cpp:138:26:138:36 | *call to getInt32 | -| bslx.cpp:154:46:154:49 | *call to data | bslx.cpp:154:34:154:39 | call to ByteInStream | -| bslx.cpp:156:2:156:7 | *stream | bslx.cpp:156:17:156:20 | *call to getInt32 | -| bslx.cpp:162:46:162:49 | *call to data | bslx.cpp:162:34:162:39 | call to ByteInStream | -| bslx.cpp:164:2:164:7 | *stream | bslx.cpp:164:21:164:30 | *call to getArrayInt8 | -| bslx.cpp:164:2:164:7 | *stream | bslx.cpp:164:22:164:24 | getArrayInt8 output argument | -| bslx.cpp:170:46:170:49 | *call to data | bslx.cpp:170:34:170:39 | call to ByteInStream | -| bslx.cpp:172:2:172:7 | *stream | bslx.cpp:172:18:172:23 | *call to getString | -| bslx.cpp:172:2:172:7 | *stream | bslx.cpp:172:19:172:21 | getString output argument | -| bslx.cpp:178:46:178:49 | *call to data | bslx.cpp:178:34:178:39 | call to ByteInStream | -| bslx.cpp:181:2:181:7 | *stream | bslx.cpp:181:17:181:20 | *call to getInt32 | -| bslx.cpp:181:17:181:20 | *call to getInt32 | bslx.cpp:181:30:181:35 | *call to getString | -| bslx.cpp:181:17:181:20 | *call to getInt32 | bslx.cpp:181:31:181:33 | getString output argument | -| bslx.cpp:188:20:188:23 | *call to data | bslx.cpp:188:2:188:7 | reset output argument | -| bslx.cpp:190:2:190:7 | *stream | bslx.cpp:190:18:190:23 | *call to getString | -| bslx.cpp:190:2:190:7 | *stream | bslx.cpp:190:19:190:21 | getString output argument | -| bslx.cpp:197:57:197:58 | *sb | bslx.cpp:197:50:197:55 | call to GenericInStream | -| bslx.cpp:199:2:199:7 | *stream | bslx.cpp:199:18:199:23 | *call to getString | -| bslx.cpp:199:2:199:7 | *stream | bslx.cpp:199:19:199:21 | getString output argument | -| bslx.cpp:206:57:206:58 | *sb | bslx.cpp:206:50:206:55 | call to GenericInStream | -| bslx.cpp:208:2:208:7 | *stream | bslx.cpp:208:17:208:20 | *call to getInt32 | -| bslx.cpp:214:46:214:49 | *call to data | bslx.cpp:214:34:214:39 | call to ByteInStream | -| bslx.cpp:216:53:216:58 | *stream | bslx.cpp:216:52:216:65 | *call to bdexStreamIn | -| bslx.cpp:216:53:216:58 | *stream | bslx.cpp:216:61:216:63 | bdexStreamIn output argument | -| bslx.cpp:224:46:224:49 | *call to data | bslx.cpp:224:34:224:39 | call to ByteInStream | -| bslx.cpp:247:2:247:7 | *stream | bslx.cpp:247:18:247:21 | *call to getLength | -| bslx.cpp:247:18:247:21 | *call to getLength | bslx.cpp:247:32:247:35 | *call to getVersion | -| bslx.cpp:247:32:247:35 | *call to getVersion | bslx.cpp:247:43:247:46 | *call to getInt8 | -| bslx.cpp:247:43:247:46 | *call to getInt8 | bslx.cpp:247:55:247:59 | *call to getUint8 | -| bslx.cpp:247:55:247:59 | *call to getUint8 | bslx.cpp:247:68:247:71 | *call to getInt16 | -| bslx.cpp:247:68:247:71 | *call to getInt16 | bslx.cpp:247:81:247:85 | *call to getUint16 | -| bslx.cpp:247:81:247:85 | *call to getUint16 | bslx.cpp:247:94:247:97 | *call to getInt24 | -| bslx.cpp:247:94:247:97 | *call to getInt24 | bslx.cpp:247:107:247:111 | *call to getUint24 | -| bslx.cpp:247:107:247:111 | *call to getUint24 | bslx.cpp:247:120:247:123 | *call to getInt32 | -| bslx.cpp:247:120:247:123 | *call to getInt32 | bslx.cpp:247:133:247:137 | *call to getUint32 | -| bslx.cpp:247:133:247:137 | *call to getUint32 | bslx.cpp:247:146:247:150 | *call to getInt40 | -| bslx.cpp:247:146:247:150 | *call to getInt40 | bslx.cpp:247:160:247:165 | *call to getUint40 | -| bslx.cpp:247:160:247:165 | *call to getUint40 | bslx.cpp:247:174:247:178 | *call to getInt48 | -| bslx.cpp:247:174:247:178 | *call to getInt48 | bslx.cpp:247:188:247:193 | *call to getUint48 | -| bslx.cpp:247:188:247:193 | *call to getUint48 | bslx.cpp:247:202:247:206 | *call to getInt56 | -| bslx.cpp:247:202:247:206 | *call to getInt56 | bslx.cpp:247:216:247:221 | *call to getUint56 | -| bslx.cpp:247:216:247:221 | *call to getUint56 | bslx.cpp:247:230:247:234 | *call to getInt64 | -| bslx.cpp:247:230:247:234 | *call to getInt64 | bslx.cpp:247:244:247:249 | *call to getUint64 | -| bslx.cpp:247:244:247:249 | *call to getUint64 | bslx.cpp:247:260:247:263 | *call to getFloat32 | -| bslx.cpp:247:260:247:263 | *call to getFloat32 | bslx.cpp:247:274:247:277 | *call to getFloat64 | -| bslx.cpp:247:274:247:277 | *call to getFloat64 | bslx.cpp:247:287:247:292 | *call to getString | -| bslx.cpp:247:274:247:277 | *call to getFloat64 | bslx.cpp:247:288:247:290 | getString output argument | -| bslx.cpp:247:287:247:292 | *call to getString | bslx.cpp:247:305:247:315 | *call to getArrayInt8 | -| bslx.cpp:247:287:247:292 | *call to getString | bslx.cpp:247:306:247:309 | getArrayInt8 output argument | -| bslx.cpp:247:305:247:315 | *call to getArrayInt8 | bslx.cpp:247:329:247:340 | *call to getArrayUint8 | -| bslx.cpp:247:305:247:315 | *call to getArrayInt8 | bslx.cpp:247:330:247:334 | getArrayUint8 output argument | -| bslx.cpp:247:329:247:340 | *call to getArrayUint8 | bslx.cpp:247:354:247:364 | *call to getArrayInt16 | -| bslx.cpp:247:329:247:340 | *call to getArrayUint8 | bslx.cpp:247:355:247:358 | getArrayInt16 output argument | -| bslx.cpp:247:354:247:364 | *call to getArrayInt16 | bslx.cpp:247:379:247:390 | *call to getArrayUint16 | -| bslx.cpp:247:354:247:364 | *call to getArrayInt16 | bslx.cpp:247:380:247:384 | getArrayUint16 output argument | -| bslx.cpp:247:379:247:390 | *call to getArrayUint16 | bslx.cpp:247:404:247:414 | *call to getArrayInt24 | -| bslx.cpp:247:379:247:390 | *call to getArrayUint16 | bslx.cpp:247:405:247:408 | getArrayInt24 output argument | -| bslx.cpp:247:404:247:414 | *call to getArrayInt24 | bslx.cpp:247:429:247:440 | *call to getArrayUint24 | -| bslx.cpp:247:404:247:414 | *call to getArrayInt24 | bslx.cpp:247:430:247:434 | getArrayUint24 output argument | -| bslx.cpp:247:429:247:440 | *call to getArrayUint24 | bslx.cpp:247:454:247:464 | *call to getArrayInt32 | -| bslx.cpp:247:429:247:440 | *call to getArrayUint24 | bslx.cpp:247:455:247:458 | getArrayInt32 output argument | -| bslx.cpp:247:454:247:464 | *call to getArrayInt32 | bslx.cpp:247:479:247:490 | *call to getArrayUint32 | -| bslx.cpp:247:454:247:464 | *call to getArrayInt32 | bslx.cpp:247:480:247:484 | getArrayUint32 output argument | -| bslx.cpp:247:479:247:490 | *call to getArrayUint32 | bslx.cpp:247:504:247:515 | *call to getArrayInt40 | -| bslx.cpp:247:479:247:490 | *call to getArrayUint32 | bslx.cpp:247:505:247:509 | getArrayInt40 output argument | -| bslx.cpp:247:504:247:515 | *call to getArrayInt40 | bslx.cpp:247:530:247:542 | *call to getArrayUint40 | -| bslx.cpp:247:504:247:515 | *call to getArrayInt40 | bslx.cpp:247:531:247:536 | getArrayUint40 output argument | -| bslx.cpp:247:530:247:542 | *call to getArrayUint40 | bslx.cpp:247:556:247:567 | *call to getArrayInt48 | -| bslx.cpp:247:530:247:542 | *call to getArrayUint40 | bslx.cpp:247:557:247:561 | getArrayInt48 output argument | -| bslx.cpp:247:556:247:567 | *call to getArrayInt48 | bslx.cpp:247:582:247:594 | *call to getArrayUint48 | -| bslx.cpp:247:556:247:567 | *call to getArrayInt48 | bslx.cpp:247:583:247:588 | getArrayUint48 output argument | -| bslx.cpp:247:582:247:594 | *call to getArrayUint48 | bslx.cpp:247:608:247:619 | *call to getArrayInt56 | -| bslx.cpp:247:582:247:594 | *call to getArrayUint48 | bslx.cpp:247:609:247:613 | getArrayInt56 output argument | -| bslx.cpp:247:608:247:619 | *call to getArrayInt56 | bslx.cpp:247:634:247:646 | *call to getArrayUint56 | -| bslx.cpp:247:608:247:619 | *call to getArrayInt56 | bslx.cpp:247:635:247:640 | getArrayUint56 output argument | -| bslx.cpp:247:634:247:646 | *call to getArrayUint56 | bslx.cpp:247:660:247:671 | *call to getArrayInt64 | -| bslx.cpp:247:634:247:646 | *call to getArrayUint56 | bslx.cpp:247:661:247:665 | getArrayInt64 output argument | -| bslx.cpp:247:660:247:671 | *call to getArrayInt64 | bslx.cpp:247:686:247:698 | *call to getArrayUint64 | -| bslx.cpp:247:660:247:671 | *call to getArrayInt64 | bslx.cpp:247:687:247:692 | getArrayUint64 output argument | -| bslx.cpp:247:686:247:698 | *call to getArrayUint64 | bslx.cpp:247:714:247:724 | *call to getArrayFloat32 | -| bslx.cpp:247:686:247:698 | *call to getArrayUint64 | bslx.cpp:247:715:247:718 | getArrayFloat32 output argument | -| bslx.cpp:247:714:247:724 | *call to getArrayFloat32 | bslx.cpp:247:740:247:750 | *call to getArrayFloat64 | -| bslx.cpp:247:714:247:724 | *call to getArrayFloat32 | bslx.cpp:247:741:247:744 | getArrayFloat64 output argument | -| bslx.cpp:247:740:247:750 | *call to getArrayFloat64 | bslx.cpp:247:760:247:765 | *call to getString | -| bslx.cpp:247:740:247:750 | *call to getArrayFloat64 | bslx.cpp:247:761:247:763 | getString output argument | -| bslx.cpp:254:57:254:58 | *sb | bslx.cpp:254:50:254:55 | call to GenericInStream | -| bslx.cpp:277:2:277:7 | *stream | bslx.cpp:277:18:277:21 | *call to getLength | -| bslx.cpp:277:18:277:21 | *call to getLength | bslx.cpp:277:32:277:35 | *call to getVersion | -| bslx.cpp:277:32:277:35 | *call to getVersion | bslx.cpp:277:43:277:46 | *call to getInt8 | -| bslx.cpp:277:43:277:46 | *call to getInt8 | bslx.cpp:277:55:277:59 | *call to getUint8 | -| bslx.cpp:277:55:277:59 | *call to getUint8 | bslx.cpp:277:68:277:71 | *call to getInt16 | -| bslx.cpp:277:68:277:71 | *call to getInt16 | bslx.cpp:277:81:277:85 | *call to getUint16 | -| bslx.cpp:277:81:277:85 | *call to getUint16 | bslx.cpp:277:94:277:97 | *call to getInt24 | -| bslx.cpp:277:94:277:97 | *call to getInt24 | bslx.cpp:277:107:277:111 | *call to getUint24 | -| bslx.cpp:277:107:277:111 | *call to getUint24 | bslx.cpp:277:120:277:123 | *call to getInt32 | -| bslx.cpp:277:120:277:123 | *call to getInt32 | bslx.cpp:277:133:277:137 | *call to getUint32 | -| bslx.cpp:277:133:277:137 | *call to getUint32 | bslx.cpp:277:146:277:150 | *call to getInt40 | -| bslx.cpp:277:146:277:150 | *call to getInt40 | bslx.cpp:277:160:277:165 | *call to getUint40 | -| bslx.cpp:277:160:277:165 | *call to getUint40 | bslx.cpp:277:174:277:178 | *call to getInt48 | -| bslx.cpp:277:174:277:178 | *call to getInt48 | bslx.cpp:277:188:277:193 | *call to getUint48 | -| bslx.cpp:277:188:277:193 | *call to getUint48 | bslx.cpp:277:202:277:206 | *call to getInt56 | -| bslx.cpp:277:202:277:206 | *call to getInt56 | bslx.cpp:277:216:277:221 | *call to getUint56 | -| bslx.cpp:277:216:277:221 | *call to getUint56 | bslx.cpp:277:230:277:234 | *call to getInt64 | -| bslx.cpp:277:230:277:234 | *call to getInt64 | bslx.cpp:277:244:277:249 | *call to getUint64 | -| bslx.cpp:277:244:277:249 | *call to getUint64 | bslx.cpp:277:260:277:263 | *call to getFloat32 | -| bslx.cpp:277:260:277:263 | *call to getFloat32 | bslx.cpp:277:274:277:277 | *call to getFloat64 | -| bslx.cpp:277:274:277:277 | *call to getFloat64 | bslx.cpp:277:287:277:292 | *call to getString | -| bslx.cpp:277:274:277:277 | *call to getFloat64 | bslx.cpp:277:288:277:290 | getString output argument | -| bslx.cpp:277:287:277:292 | *call to getString | bslx.cpp:277:305:277:315 | *call to getArrayInt8 | -| bslx.cpp:277:287:277:292 | *call to getString | bslx.cpp:277:306:277:309 | getArrayInt8 output argument | -| bslx.cpp:277:305:277:315 | *call to getArrayInt8 | bslx.cpp:277:329:277:340 | *call to getArrayUint8 | -| bslx.cpp:277:305:277:315 | *call to getArrayInt8 | bslx.cpp:277:330:277:334 | getArrayUint8 output argument | -| bslx.cpp:277:329:277:340 | *call to getArrayUint8 | bslx.cpp:277:354:277:364 | *call to getArrayInt16 | -| bslx.cpp:277:329:277:340 | *call to getArrayUint8 | bslx.cpp:277:355:277:358 | getArrayInt16 output argument | -| bslx.cpp:277:354:277:364 | *call to getArrayInt16 | bslx.cpp:277:379:277:390 | *call to getArrayUint16 | -| bslx.cpp:277:354:277:364 | *call to getArrayInt16 | bslx.cpp:277:380:277:384 | getArrayUint16 output argument | -| bslx.cpp:277:379:277:390 | *call to getArrayUint16 | bslx.cpp:277:404:277:414 | *call to getArrayInt24 | -| bslx.cpp:277:379:277:390 | *call to getArrayUint16 | bslx.cpp:277:405:277:408 | getArrayInt24 output argument | -| bslx.cpp:277:404:277:414 | *call to getArrayInt24 | bslx.cpp:277:429:277:440 | *call to getArrayUint24 | -| bslx.cpp:277:404:277:414 | *call to getArrayInt24 | bslx.cpp:277:430:277:434 | getArrayUint24 output argument | -| bslx.cpp:277:429:277:440 | *call to getArrayUint24 | bslx.cpp:277:454:277:464 | *call to getArrayInt32 | -| bslx.cpp:277:429:277:440 | *call to getArrayUint24 | bslx.cpp:277:455:277:458 | getArrayInt32 output argument | -| bslx.cpp:277:454:277:464 | *call to getArrayInt32 | bslx.cpp:277:479:277:490 | *call to getArrayUint32 | -| bslx.cpp:277:454:277:464 | *call to getArrayInt32 | bslx.cpp:277:480:277:484 | getArrayUint32 output argument | -| bslx.cpp:277:479:277:490 | *call to getArrayUint32 | bslx.cpp:277:504:277:515 | *call to getArrayInt40 | -| bslx.cpp:277:479:277:490 | *call to getArrayUint32 | bslx.cpp:277:505:277:509 | getArrayInt40 output argument | -| bslx.cpp:277:504:277:515 | *call to getArrayInt40 | bslx.cpp:277:530:277:542 | *call to getArrayUint40 | -| bslx.cpp:277:504:277:515 | *call to getArrayInt40 | bslx.cpp:277:531:277:536 | getArrayUint40 output argument | -| bslx.cpp:277:530:277:542 | *call to getArrayUint40 | bslx.cpp:277:556:277:567 | *call to getArrayInt48 | -| bslx.cpp:277:530:277:542 | *call to getArrayUint40 | bslx.cpp:277:557:277:561 | getArrayInt48 output argument | -| bslx.cpp:277:556:277:567 | *call to getArrayInt48 | bslx.cpp:277:582:277:594 | *call to getArrayUint48 | -| bslx.cpp:277:556:277:567 | *call to getArrayInt48 | bslx.cpp:277:583:277:588 | getArrayUint48 output argument | -| bslx.cpp:277:582:277:594 | *call to getArrayUint48 | bslx.cpp:277:608:277:619 | *call to getArrayInt56 | -| bslx.cpp:277:582:277:594 | *call to getArrayUint48 | bslx.cpp:277:609:277:613 | getArrayInt56 output argument | -| bslx.cpp:277:608:277:619 | *call to getArrayInt56 | bslx.cpp:277:634:277:646 | *call to getArrayUint56 | -| bslx.cpp:277:608:277:619 | *call to getArrayInt56 | bslx.cpp:277:635:277:640 | getArrayUint56 output argument | -| bslx.cpp:277:634:277:646 | *call to getArrayUint56 | bslx.cpp:277:660:277:671 | *call to getArrayInt64 | -| bslx.cpp:277:634:277:646 | *call to getArrayUint56 | bslx.cpp:277:661:277:665 | getArrayInt64 output argument | -| bslx.cpp:277:660:277:671 | *call to getArrayInt64 | bslx.cpp:277:686:277:698 | *call to getArrayUint64 | -| bslx.cpp:277:660:277:671 | *call to getArrayInt64 | bslx.cpp:277:687:277:692 | getArrayUint64 output argument | -| bslx.cpp:277:686:277:698 | *call to getArrayUint64 | bslx.cpp:277:714:277:724 | *call to getArrayFloat32 | -| bslx.cpp:277:686:277:698 | *call to getArrayUint64 | bslx.cpp:277:715:277:718 | getArrayFloat32 output argument | -| bslx.cpp:277:714:277:724 | *call to getArrayFloat32 | bslx.cpp:277:740:277:750 | *call to getArrayFloat64 | -| bslx.cpp:277:714:277:724 | *call to getArrayFloat32 | bslx.cpp:277:741:277:744 | getArrayFloat64 output argument | -| bslx.cpp:277:740:277:750 | *call to getArrayFloat64 | bslx.cpp:277:760:277:765 | *call to getString | -| bslx.cpp:277:740:277:750 | *call to getArrayFloat64 | bslx.cpp:277:761:277:763 | getString output argument | -| bslx.cpp:283:46:283:49 | *call to data | bslx.cpp:283:34:283:39 | call to ByteInStream | -| bslx.cpp:285:53:285:58 | *stream | bslx.cpp:285:52:285:63 | *call to bdexStreamIn | -| bslx.cpp:285:53:285:58 | *stream | bslx.cpp:285:61:285:61 | bdexStreamIn output argument | -| bslx.cpp:287:53:287:58 | *stream | bslx.cpp:287:52:287:66 | *call to bdexStreamIn | -| bslx.cpp:287:53:287:58 | *stream | bslx.cpp:287:61:287:61 | bdexStreamIn output argument | -| bslx.cpp:290:52:290:66 | *call to bdexStreamIn | bslx.cpp:290:76:290:81 | *call to getString | -| bslx.cpp:290:52:290:66 | *call to bdexStreamIn | bslx.cpp:290:77:290:79 | getString output argument | -| bslx.cpp:290:53:290:58 | *stream | bslx.cpp:290:52:290:66 | *call to bdexStreamIn | -| bslx.cpp:290:53:290:58 | *stream | bslx.cpp:290:61:290:61 | bdexStreamIn output argument | -| bslx.cpp:296:46:296:49 | *call to data | bslx.cpp:296:34:296:39 | call to ByteInStream | -| bslx.cpp:298:53:298:58 | *stream | bslx.cpp:298:52:298:68 | *call to bdexStreamIn | -| bslx.cpp:298:53:298:58 | *stream | bslx.cpp:298:61:298:63 | bdexStreamIn output argument | -| bslx.cpp:310:46:310:49 | *call to data | bslx.cpp:310:34:310:39 | call to ByteInStream | -| bslx.cpp:312:53:312:58 | *stream | bslx.cpp:312:52:312:68 | *call to bdexStreamIn | -| bslx.cpp:312:53:312:58 | *stream | bslx.cpp:312:61:312:63 | bdexStreamIn output argument | -| bslx.cpp:323:15:323:18 | *data | bslx.cpp:323:2:323:7 | reset output argument | -| bslx.cpp:325:2:325:7 | *stream | bslx.cpp:325:18:325:23 | *call to getString | -| bslx.cpp:325:2:325:7 | *stream | bslx.cpp:325:19:325:21 | getString output argument | -| bslx.cpp:331:46:331:49 | *call to data | bslx.cpp:331:34:331:39 | call to ByteInStream | -| bslx.cpp:334:2:334:7 | *stream | bslx.cpp:334:18:334:23 | *call to getString | -| bslx.cpp:334:2:334:7 | *stream | bslx.cpp:334:19:334:21 | getString output argument | -| bslx.cpp:341:15:341:18 | *data | bslx.cpp:341:2:341:7 | reset output argument | -| bslx.cpp:344:2:344:7 | *stream | bslx.cpp:344:18:344:23 | *call to getString | -| bslx.cpp:344:2:344:7 | *stream | bslx.cpp:344:19:344:21 | getString output argument | -| bslx.cpp:350:46:350:49 | *call to data | bslx.cpp:350:34:350:39 | call to ByteInStream | -| bslx.cpp:352:15:352:19 | *clean | bslx.cpp:352:2:352:7 | reset output argument | -| bslx.cpp:354:2:354:7 | *stream | bslx.cpp:354:18:354:23 | *call to getString | -| bslx.cpp:354:2:354:7 | *stream | bslx.cpp:354:19:354:21 | getString output argument | -| protobuf.cpp:118:22:118:25 | data | protobuf.cpp:118:2:118:4 | ParseFromString output argument | -| protobuf.cpp:125:22:125:25 | *data | protobuf.cpp:125:2:125:4 | ParseFromString output argument | -| protobuf.cpp:132:29:132:32 | data | protobuf.cpp:132:2:132:4 | ParsePartialFromString output argument | -| protobuf.cpp:139:29:139:32 | *data | protobuf.cpp:139:2:139:4 | ParsePartialFromString output argument | -| protobuf.cpp:146:22:146:25 | data | protobuf.cpp:146:2:146:4 | MergeFromString output argument | -| protobuf.cpp:153:22:153:25 | *data | protobuf.cpp:153:2:153:4 | MergeFromString output argument | -| protobuf.cpp:160:29:160:32 | data | protobuf.cpp:160:2:160:4 | MergePartialFromString output argument | -| protobuf.cpp:167:29:167:32 | *data | protobuf.cpp:167:2:167:4 | MergePartialFromString output argument | -| protobuf.cpp:174:21:174:31 | *call to data | protobuf.cpp:174:2:174:4 | ParseFromArray output argument | -| protobuf.cpp:181:28:181:38 | *call to data | protobuf.cpp:181:2:181:4 | ParsePartialFromArray output argument | -| protobuf.cpp:188:20:188:23 | *data | protobuf.cpp:188:2:188:4 | ParseFromCord output argument | -| protobuf.cpp:195:27:195:30 | *data | protobuf.cpp:195:2:195:4 | ParsePartialFromCord output argument | -| protobuf.cpp:202:20:202:23 | *data | protobuf.cpp:202:2:202:4 | MergeFromCord output argument | -| protobuf.cpp:209:27:209:30 | *data | protobuf.cpp:209:2:209:4 | MergePartialFromCord output argument | -| protobuf.cpp:216:23:216:25 | *& ... | protobuf.cpp:216:2:216:4 | ParseFromIstream output argument | -| protobuf.cpp:223:30:223:32 | *& ... | protobuf.cpp:223:2:223:4 | ParsePartialFromIstream output argument | -| protobuf.cpp:230:30:230:32 | *& ... | protobuf.cpp:230:2:230:4 | ParseFromZeroCopyStream output argument | -| protobuf.cpp:237:37:237:39 | *& ... | protobuf.cpp:237:2:237:4 | ParsePartialFromZeroCopyStream output argument | -| protobuf.cpp:244:37:244:39 | *& ... | protobuf.cpp:244:2:244:4 | ParseFromBoundedZeroCopyStream output argument | -| protobuf.cpp:251:44:251:46 | *& ... | protobuf.cpp:251:2:251:4 | ParsePartialFromBoundedZeroCopyStream output argument | -| protobuf.cpp:258:37:258:39 | *& ... | protobuf.cpp:258:2:258:4 | MergeFromBoundedZeroCopyStream output argument | -| protobuf.cpp:265:44:265:46 | *& ... | protobuf.cpp:265:2:265:4 | MergePartialFromBoundedZeroCopyStream output argument | -| protobuf.cpp:272:27:272:29 | *& ... | protobuf.cpp:272:2:272:4 | ParseFromCodedStream output argument | -| protobuf.cpp:279:34:279:36 | *& ... | protobuf.cpp:279:2:279:4 | ParsePartialFromCodedStream output argument | -| protobuf.cpp:286:27:286:29 | *& ... | protobuf.cpp:286:2:286:4 | MergeFromCodedStream output argument | -| protobuf.cpp:293:34:293:36 | *& ... | protobuf.cpp:293:2:293:4 | MergePartialFromCodedStream output argument | -| protobuf.cpp:300:22:300:25 | *data | protobuf.cpp:300:2:300:4 | ParseFromString output argument | -| protobuf.cpp:309:2:309:4 | *msg | protobuf.cpp:309:24:309:27 | SerializeToString output argument | -| protobuf.cpp:316:2:316:4 | *msg | protobuf.cpp:316:31:316:34 | SerializePartialToString output argument | -| protobuf.cpp:323:2:323:4 | *msg | protobuf.cpp:323:21:323:24 | AppendToString output argument | -| protobuf.cpp:330:2:330:4 | *msg | protobuf.cpp:330:28:330:31 | AppendPartialToString output argument | -| protobuf.cpp:337:2:337:4 | *msg | protobuf.cpp:337:24:337:27 | SerializeToString output argument | -| protobuf.cpp:344:2:344:4 | *msg | protobuf.cpp:344:31:344:34 | SerializePartialToString output argument | -| protobuf.cpp:351:2:351:4 | *msg | protobuf.cpp:351:21:351:24 | AppendToString output argument | -| protobuf.cpp:358:2:358:4 | *msg | protobuf.cpp:358:28:358:31 | AppendPartialToString output argument | -| protobuf.cpp:365:2:365:4 | *msg | protobuf.cpp:365:23:365:25 | SerializeToArray output argument | -| protobuf.cpp:372:2:372:4 | *msg | protobuf.cpp:372:30:372:32 | SerializePartialToArray output argument | -| protobuf.cpp:379:2:379:4 | *msg | protobuf.cpp:379:22:379:25 | SerializeToCord output argument | -| protobuf.cpp:386:2:386:4 | *msg | protobuf.cpp:386:29:386:32 | SerializePartialToCord output argument | -| protobuf.cpp:393:2:393:4 | *msg | protobuf.cpp:393:19:393:22 | AppendToCord output argument | -| protobuf.cpp:400:2:400:4 | *msg | protobuf.cpp:400:26:400:29 | AppendPartialToCord output argument | -| protobuf.cpp:407:2:407:4 | *msg | protobuf.cpp:407:25:407:28 | SerializeToOstream output argument | -| protobuf.cpp:414:2:414:4 | *msg | protobuf.cpp:414:32:414:35 | SerializePartialToOstream output argument | -| protobuf.cpp:421:2:421:4 | *msg | protobuf.cpp:421:32:421:35 | SerializeToZeroCopyStream output argument | -| protobuf.cpp:428:2:428:4 | *msg | protobuf.cpp:428:39:428:42 | SerializePartialToZeroCopyStream output argument | -| protobuf.cpp:435:2:435:4 | *msg | protobuf.cpp:435:29:435:32 | SerializeToCodedStream output argument | -| protobuf.cpp:442:2:442:4 | *msg | protobuf.cpp:442:36:442:39 | SerializePartialToCodedStream output argument | -| protobuf.cpp:450:7:450:9 | *msg | protobuf.cpp:450:11:450:27 | call to SerializeAsString | -| protobuf.cpp:455:7:455:9 | *msg | protobuf.cpp:455:11:455:34 | call to SerializePartialAsString | -| protobuf.cpp:460:7:460:9 | *msg | protobuf.cpp:460:11:460:25 | call to SerializeAsCord | -| protobuf.cpp:465:7:465:9 | *msg | protobuf.cpp:465:11:465:32 | call to SerializePartialAsCord | -| protobuf.cpp:470:7:470:9 | *msg | protobuf.cpp:470:11:470:27 | call to SerializeAsString | +| bmqa.cpp:392:8:392:11 | copy | bmqa.cpp:392:24:392:26 | call to getAsString | +| bmqa.cpp:393:8:393:18 | call to operator= | bmqa.cpp:393:24:393:26 | call to name | +| bslx.cpp:122:11:122:16 | stream | bslx.cpp:122:26:122:36 | *call to getInt32 | +| bslx.cpp:138:41:138:51 | *call to data | bslx.cpp:138:34:138:39 | call to ByteInStream | +| bslx.cpp:140:2:140:7 | stream | bslx.cpp:140:17:140:20 | *call to getInt32 | +| bslx.cpp:146:41:146:51 | *call to data | bslx.cpp:146:34:146:39 | call to ByteInStream | +| bslx.cpp:148:2:148:7 | stream | bslx.cpp:148:21:148:30 | *call to getArrayInt8 | +| bslx.cpp:148:2:148:7 | stream | bslx.cpp:148:22:148:24 | getArrayInt8 output argument | +| bslx.cpp:154:41:154:51 | *call to data | bslx.cpp:154:34:154:39 | call to ByteInStream | +| bslx.cpp:156:2:156:7 | stream | bslx.cpp:156:18:156:23 | *call to getString | +| bslx.cpp:156:2:156:7 | stream | bslx.cpp:156:19:156:21 | getString output argument | +| bslx.cpp:162:41:162:51 | *call to data | bslx.cpp:162:34:162:39 | call to ByteInStream | +| bslx.cpp:165:2:165:7 | stream | bslx.cpp:165:17:165:20 | call to getInt32 | +| bslx.cpp:165:17:165:20 | call to getInt32 | bslx.cpp:165:30:165:35 | *call to getString | +| bslx.cpp:165:17:165:20 | call to getInt32 | bslx.cpp:165:31:165:33 | getString output argument | +| bslx.cpp:172:15:172:25 | *call to data | bslx.cpp:172:2:172:7 | reset output argument | +| bslx.cpp:174:2:174:7 | stream | bslx.cpp:174:18:174:23 | *call to getString | +| bslx.cpp:174:2:174:7 | stream | bslx.cpp:174:19:174:21 | getString output argument | +| bslx.cpp:181:57:181:58 | *sb | bslx.cpp:181:50:181:55 | call to GenericInStream | +| bslx.cpp:183:2:183:7 | stream | bslx.cpp:183:18:183:23 | *call to getString | +| bslx.cpp:183:2:183:7 | stream | bslx.cpp:183:19:183:21 | getString output argument | +| bslx.cpp:190:57:190:58 | *sb | bslx.cpp:190:50:190:55 | call to GenericInStream | +| bslx.cpp:192:2:192:7 | stream | bslx.cpp:192:17:192:20 | *call to getInt32 | +| bslx.cpp:198:41:198:51 | *call to data | bslx.cpp:198:34:198:39 | call to ByteInStream | +| bslx.cpp:200:53:200:58 | *stream | bslx.cpp:200:52:200:65 | *call to bdexStreamIn | +| bslx.cpp:200:53:200:58 | *stream | bslx.cpp:200:61:200:63 | bdexStreamIn output argument | +| bslx.cpp:208:41:208:51 | *call to data | bslx.cpp:208:34:208:39 | call to ByteInStream | +| bslx.cpp:231:2:231:7 | stream | bslx.cpp:231:18:231:21 | call to getLength | +| bslx.cpp:231:18:231:21 | call to getLength | bslx.cpp:231:32:231:35 | call to getVersion | +| bslx.cpp:231:32:231:35 | call to getVersion | bslx.cpp:231:43:231:46 | call to getInt8 | +| bslx.cpp:231:43:231:46 | call to getInt8 | bslx.cpp:231:55:231:59 | call to getUint8 | +| bslx.cpp:231:55:231:59 | call to getUint8 | bslx.cpp:231:68:231:71 | call to getInt16 | +| bslx.cpp:231:68:231:71 | call to getInt16 | bslx.cpp:231:81:231:85 | call to getUint16 | +| bslx.cpp:231:81:231:85 | call to getUint16 | bslx.cpp:231:94:231:97 | call to getInt24 | +| bslx.cpp:231:94:231:97 | call to getInt24 | bslx.cpp:231:107:231:111 | call to getUint24 | +| bslx.cpp:231:107:231:111 | call to getUint24 | bslx.cpp:231:120:231:123 | call to getInt32 | +| bslx.cpp:231:120:231:123 | call to getInt32 | bslx.cpp:231:133:231:137 | call to getUint32 | +| bslx.cpp:231:133:231:137 | call to getUint32 | bslx.cpp:231:146:231:150 | call to getInt40 | +| bslx.cpp:231:146:231:150 | call to getInt40 | bslx.cpp:231:160:231:165 | call to getUint40 | +| bslx.cpp:231:160:231:165 | call to getUint40 | bslx.cpp:231:174:231:178 | call to getInt48 | +| bslx.cpp:231:174:231:178 | call to getInt48 | bslx.cpp:231:188:231:193 | call to getUint48 | +| bslx.cpp:231:188:231:193 | call to getUint48 | bslx.cpp:231:202:231:206 | call to getInt56 | +| bslx.cpp:231:202:231:206 | call to getInt56 | bslx.cpp:231:216:231:221 | call to getUint56 | +| bslx.cpp:231:216:231:221 | call to getUint56 | bslx.cpp:231:230:231:234 | call to getInt64 | +| bslx.cpp:231:230:231:234 | call to getInt64 | bslx.cpp:231:244:231:249 | call to getUint64 | +| bslx.cpp:231:244:231:249 | call to getUint64 | bslx.cpp:231:260:231:263 | call to getFloat32 | +| bslx.cpp:231:260:231:263 | call to getFloat32 | bslx.cpp:231:274:231:277 | call to getFloat64 | +| bslx.cpp:231:274:231:277 | call to getFloat64 | bslx.cpp:231:287:231:292 | call to getString | +| bslx.cpp:231:274:231:277 | call to getFloat64 | bslx.cpp:231:288:231:290 | getString output argument | +| bslx.cpp:231:287:231:292 | call to getString | bslx.cpp:231:305:231:315 | call to getArrayInt8 | +| bslx.cpp:231:287:231:292 | call to getString | bslx.cpp:231:306:231:309 | getArrayInt8 output argument | +| bslx.cpp:231:305:231:315 | call to getArrayInt8 | bslx.cpp:231:329:231:340 | call to getArrayUint8 | +| bslx.cpp:231:305:231:315 | call to getArrayInt8 | bslx.cpp:231:330:231:334 | getArrayUint8 output argument | +| bslx.cpp:231:329:231:340 | call to getArrayUint8 | bslx.cpp:231:354:231:364 | call to getArrayInt16 | +| bslx.cpp:231:329:231:340 | call to getArrayUint8 | bslx.cpp:231:355:231:358 | getArrayInt16 output argument | +| bslx.cpp:231:354:231:364 | call to getArrayInt16 | bslx.cpp:231:379:231:390 | call to getArrayUint16 | +| bslx.cpp:231:354:231:364 | call to getArrayInt16 | bslx.cpp:231:380:231:384 | getArrayUint16 output argument | +| bslx.cpp:231:379:231:390 | call to getArrayUint16 | bslx.cpp:231:404:231:414 | call to getArrayInt24 | +| bslx.cpp:231:379:231:390 | call to getArrayUint16 | bslx.cpp:231:405:231:408 | getArrayInt24 output argument | +| bslx.cpp:231:404:231:414 | call to getArrayInt24 | bslx.cpp:231:429:231:440 | call to getArrayUint24 | +| bslx.cpp:231:404:231:414 | call to getArrayInt24 | bslx.cpp:231:430:231:434 | getArrayUint24 output argument | +| bslx.cpp:231:429:231:440 | call to getArrayUint24 | bslx.cpp:231:454:231:464 | call to getArrayInt32 | +| bslx.cpp:231:429:231:440 | call to getArrayUint24 | bslx.cpp:231:455:231:458 | getArrayInt32 output argument | +| bslx.cpp:231:454:231:464 | call to getArrayInt32 | bslx.cpp:231:479:231:490 | call to getArrayUint32 | +| bslx.cpp:231:454:231:464 | call to getArrayInt32 | bslx.cpp:231:480:231:484 | getArrayUint32 output argument | +| bslx.cpp:231:479:231:490 | call to getArrayUint32 | bslx.cpp:231:504:231:515 | call to getArrayInt40 | +| bslx.cpp:231:479:231:490 | call to getArrayUint32 | bslx.cpp:231:505:231:509 | getArrayInt40 output argument | +| bslx.cpp:231:504:231:515 | call to getArrayInt40 | bslx.cpp:231:530:231:542 | call to getArrayUint40 | +| bslx.cpp:231:504:231:515 | call to getArrayInt40 | bslx.cpp:231:531:231:536 | getArrayUint40 output argument | +| bslx.cpp:231:530:231:542 | call to getArrayUint40 | bslx.cpp:231:556:231:567 | call to getArrayInt48 | +| bslx.cpp:231:530:231:542 | call to getArrayUint40 | bslx.cpp:231:557:231:561 | getArrayInt48 output argument | +| bslx.cpp:231:556:231:567 | call to getArrayInt48 | bslx.cpp:231:582:231:594 | call to getArrayUint48 | +| bslx.cpp:231:556:231:567 | call to getArrayInt48 | bslx.cpp:231:583:231:588 | getArrayUint48 output argument | +| bslx.cpp:231:582:231:594 | call to getArrayUint48 | bslx.cpp:231:608:231:619 | call to getArrayInt56 | +| bslx.cpp:231:582:231:594 | call to getArrayUint48 | bslx.cpp:231:609:231:613 | getArrayInt56 output argument | +| bslx.cpp:231:608:231:619 | call to getArrayInt56 | bslx.cpp:231:634:231:646 | call to getArrayUint56 | +| bslx.cpp:231:608:231:619 | call to getArrayInt56 | bslx.cpp:231:635:231:640 | getArrayUint56 output argument | +| bslx.cpp:231:634:231:646 | call to getArrayUint56 | bslx.cpp:231:660:231:671 | call to getArrayInt64 | +| bslx.cpp:231:634:231:646 | call to getArrayUint56 | bslx.cpp:231:661:231:665 | getArrayInt64 output argument | +| bslx.cpp:231:660:231:671 | call to getArrayInt64 | bslx.cpp:231:686:231:698 | call to getArrayUint64 | +| bslx.cpp:231:660:231:671 | call to getArrayInt64 | bslx.cpp:231:687:231:692 | getArrayUint64 output argument | +| bslx.cpp:231:686:231:698 | call to getArrayUint64 | bslx.cpp:231:714:231:724 | call to getArrayFloat32 | +| bslx.cpp:231:686:231:698 | call to getArrayUint64 | bslx.cpp:231:715:231:718 | getArrayFloat32 output argument | +| bslx.cpp:231:714:231:724 | call to getArrayFloat32 | bslx.cpp:231:740:231:750 | call to getArrayFloat64 | +| bslx.cpp:231:714:231:724 | call to getArrayFloat32 | bslx.cpp:231:741:231:744 | getArrayFloat64 output argument | +| bslx.cpp:231:740:231:750 | call to getArrayFloat64 | bslx.cpp:231:760:231:765 | *call to getString | +| bslx.cpp:231:740:231:750 | call to getArrayFloat64 | bslx.cpp:231:761:231:763 | getString output argument | +| bslx.cpp:238:57:238:58 | *sb | bslx.cpp:238:50:238:55 | call to GenericInStream | +| bslx.cpp:261:2:261:7 | stream | bslx.cpp:261:18:261:21 | call to getLength | +| bslx.cpp:261:18:261:21 | call to getLength | bslx.cpp:261:32:261:35 | call to getVersion | +| bslx.cpp:261:32:261:35 | call to getVersion | bslx.cpp:261:43:261:46 | call to getInt8 | +| bslx.cpp:261:43:261:46 | call to getInt8 | bslx.cpp:261:55:261:59 | call to getUint8 | +| bslx.cpp:261:55:261:59 | call to getUint8 | bslx.cpp:261:68:261:71 | call to getInt16 | +| bslx.cpp:261:68:261:71 | call to getInt16 | bslx.cpp:261:81:261:85 | call to getUint16 | +| bslx.cpp:261:81:261:85 | call to getUint16 | bslx.cpp:261:94:261:97 | call to getInt24 | +| bslx.cpp:261:94:261:97 | call to getInt24 | bslx.cpp:261:107:261:111 | call to getUint24 | +| bslx.cpp:261:107:261:111 | call to getUint24 | bslx.cpp:261:120:261:123 | call to getInt32 | +| bslx.cpp:261:120:261:123 | call to getInt32 | bslx.cpp:261:133:261:137 | call to getUint32 | +| bslx.cpp:261:133:261:137 | call to getUint32 | bslx.cpp:261:146:261:150 | call to getInt40 | +| bslx.cpp:261:146:261:150 | call to getInt40 | bslx.cpp:261:160:261:165 | call to getUint40 | +| bslx.cpp:261:160:261:165 | call to getUint40 | bslx.cpp:261:174:261:178 | call to getInt48 | +| bslx.cpp:261:174:261:178 | call to getInt48 | bslx.cpp:261:188:261:193 | call to getUint48 | +| bslx.cpp:261:188:261:193 | call to getUint48 | bslx.cpp:261:202:261:206 | call to getInt56 | +| bslx.cpp:261:202:261:206 | call to getInt56 | bslx.cpp:261:216:261:221 | call to getUint56 | +| bslx.cpp:261:216:261:221 | call to getUint56 | bslx.cpp:261:230:261:234 | call to getInt64 | +| bslx.cpp:261:230:261:234 | call to getInt64 | bslx.cpp:261:244:261:249 | call to getUint64 | +| bslx.cpp:261:244:261:249 | call to getUint64 | bslx.cpp:261:260:261:263 | call to getFloat32 | +| bslx.cpp:261:260:261:263 | call to getFloat32 | bslx.cpp:261:274:261:277 | call to getFloat64 | +| bslx.cpp:261:274:261:277 | call to getFloat64 | bslx.cpp:261:287:261:292 | call to getString | +| bslx.cpp:261:274:261:277 | call to getFloat64 | bslx.cpp:261:288:261:290 | getString output argument | +| bslx.cpp:261:287:261:292 | call to getString | bslx.cpp:261:305:261:315 | call to getArrayInt8 | +| bslx.cpp:261:287:261:292 | call to getString | bslx.cpp:261:306:261:309 | getArrayInt8 output argument | +| bslx.cpp:261:305:261:315 | call to getArrayInt8 | bslx.cpp:261:329:261:340 | call to getArrayUint8 | +| bslx.cpp:261:305:261:315 | call to getArrayInt8 | bslx.cpp:261:330:261:334 | getArrayUint8 output argument | +| bslx.cpp:261:329:261:340 | call to getArrayUint8 | bslx.cpp:261:354:261:364 | call to getArrayInt16 | +| bslx.cpp:261:329:261:340 | call to getArrayUint8 | bslx.cpp:261:355:261:358 | getArrayInt16 output argument | +| bslx.cpp:261:354:261:364 | call to getArrayInt16 | bslx.cpp:261:379:261:390 | call to getArrayUint16 | +| bslx.cpp:261:354:261:364 | call to getArrayInt16 | bslx.cpp:261:380:261:384 | getArrayUint16 output argument | +| bslx.cpp:261:379:261:390 | call to getArrayUint16 | bslx.cpp:261:404:261:414 | call to getArrayInt24 | +| bslx.cpp:261:379:261:390 | call to getArrayUint16 | bslx.cpp:261:405:261:408 | getArrayInt24 output argument | +| bslx.cpp:261:404:261:414 | call to getArrayInt24 | bslx.cpp:261:429:261:440 | call to getArrayUint24 | +| bslx.cpp:261:404:261:414 | call to getArrayInt24 | bslx.cpp:261:430:261:434 | getArrayUint24 output argument | +| bslx.cpp:261:429:261:440 | call to getArrayUint24 | bslx.cpp:261:454:261:464 | call to getArrayInt32 | +| bslx.cpp:261:429:261:440 | call to getArrayUint24 | bslx.cpp:261:455:261:458 | getArrayInt32 output argument | +| bslx.cpp:261:454:261:464 | call to getArrayInt32 | bslx.cpp:261:479:261:490 | call to getArrayUint32 | +| bslx.cpp:261:454:261:464 | call to getArrayInt32 | bslx.cpp:261:480:261:484 | getArrayUint32 output argument | +| bslx.cpp:261:479:261:490 | call to getArrayUint32 | bslx.cpp:261:504:261:515 | call to getArrayInt40 | +| bslx.cpp:261:479:261:490 | call to getArrayUint32 | bslx.cpp:261:505:261:509 | getArrayInt40 output argument | +| bslx.cpp:261:504:261:515 | call to getArrayInt40 | bslx.cpp:261:530:261:542 | call to getArrayUint40 | +| bslx.cpp:261:504:261:515 | call to getArrayInt40 | bslx.cpp:261:531:261:536 | getArrayUint40 output argument | +| bslx.cpp:261:530:261:542 | call to getArrayUint40 | bslx.cpp:261:556:261:567 | call to getArrayInt48 | +| bslx.cpp:261:530:261:542 | call to getArrayUint40 | bslx.cpp:261:557:261:561 | getArrayInt48 output argument | +| bslx.cpp:261:556:261:567 | call to getArrayInt48 | bslx.cpp:261:582:261:594 | call to getArrayUint48 | +| bslx.cpp:261:556:261:567 | call to getArrayInt48 | bslx.cpp:261:583:261:588 | getArrayUint48 output argument | +| bslx.cpp:261:582:261:594 | call to getArrayUint48 | bslx.cpp:261:608:261:619 | call to getArrayInt56 | +| bslx.cpp:261:582:261:594 | call to getArrayUint48 | bslx.cpp:261:609:261:613 | getArrayInt56 output argument | +| bslx.cpp:261:608:261:619 | call to getArrayInt56 | bslx.cpp:261:634:261:646 | call to getArrayUint56 | +| bslx.cpp:261:608:261:619 | call to getArrayInt56 | bslx.cpp:261:635:261:640 | getArrayUint56 output argument | +| bslx.cpp:261:634:261:646 | call to getArrayUint56 | bslx.cpp:261:660:261:671 | call to getArrayInt64 | +| bslx.cpp:261:634:261:646 | call to getArrayUint56 | bslx.cpp:261:661:261:665 | getArrayInt64 output argument | +| bslx.cpp:261:660:261:671 | call to getArrayInt64 | bslx.cpp:261:686:261:698 | call to getArrayUint64 | +| bslx.cpp:261:660:261:671 | call to getArrayInt64 | bslx.cpp:261:687:261:692 | getArrayUint64 output argument | +| bslx.cpp:261:686:261:698 | call to getArrayUint64 | bslx.cpp:261:714:261:724 | call to getArrayFloat32 | +| bslx.cpp:261:686:261:698 | call to getArrayUint64 | bslx.cpp:261:715:261:718 | getArrayFloat32 output argument | +| bslx.cpp:261:714:261:724 | call to getArrayFloat32 | bslx.cpp:261:740:261:750 | call to getArrayFloat64 | +| bslx.cpp:261:714:261:724 | call to getArrayFloat32 | bslx.cpp:261:741:261:744 | getArrayFloat64 output argument | +| bslx.cpp:261:740:261:750 | call to getArrayFloat64 | bslx.cpp:261:760:261:765 | *call to getString | +| bslx.cpp:261:740:261:750 | call to getArrayFloat64 | bslx.cpp:261:761:261:763 | getString output argument | +| bslx.cpp:267:41:267:51 | *call to data | bslx.cpp:267:34:267:39 | call to ByteInStream | +| bslx.cpp:269:53:269:58 | *stream | bslx.cpp:269:52:269:63 | *call to bdexStreamIn | +| bslx.cpp:269:53:269:58 | *stream | bslx.cpp:269:61:269:61 | bdexStreamIn output argument | +| bslx.cpp:271:53:271:58 | *stream | bslx.cpp:271:52:271:66 | *call to bdexStreamIn | +| bslx.cpp:271:53:271:58 | *stream | bslx.cpp:271:61:271:61 | bdexStreamIn output argument | +| bslx.cpp:274:52:274:66 | call to bdexStreamIn | bslx.cpp:274:76:274:81 | *call to getString | +| bslx.cpp:274:52:274:66 | call to bdexStreamIn | bslx.cpp:274:77:274:79 | getString output argument | +| bslx.cpp:274:53:274:58 | *stream | bslx.cpp:274:52:274:66 | call to bdexStreamIn | +| bslx.cpp:274:53:274:58 | *stream | bslx.cpp:274:61:274:61 | bdexStreamIn output argument | +| bslx.cpp:280:41:280:51 | *call to data | bslx.cpp:280:34:280:39 | call to ByteInStream | +| bslx.cpp:282:53:282:58 | *stream | bslx.cpp:282:52:282:68 | *call to bdexStreamIn | +| bslx.cpp:282:53:282:58 | *stream | bslx.cpp:282:61:282:63 | bdexStreamIn output argument | +| bslx.cpp:294:41:294:51 | *call to data | bslx.cpp:294:34:294:39 | call to ByteInStream | +| bslx.cpp:296:53:296:58 | *stream | bslx.cpp:296:52:296:68 | *call to bdexStreamIn | +| bslx.cpp:296:53:296:58 | *stream | bslx.cpp:296:61:296:63 | bdexStreamIn output argument | +| bslx.cpp:307:15:307:18 | *data | bslx.cpp:307:2:307:7 | reset output argument | +| bslx.cpp:309:2:309:7 | stream | bslx.cpp:309:18:309:23 | *call to getString | +| bslx.cpp:309:2:309:7 | stream | bslx.cpp:309:19:309:21 | getString output argument | +| bslx.cpp:315:41:315:51 | *call to data | bslx.cpp:315:34:315:39 | call to ByteInStream | +| bslx.cpp:318:2:318:7 | stream | bslx.cpp:318:18:318:23 | *call to getString | +| bslx.cpp:318:2:318:7 | stream | bslx.cpp:318:19:318:21 | getString output argument | +| bslx.cpp:325:15:325:18 | *data | bslx.cpp:325:2:325:7 | reset output argument | +| bslx.cpp:328:2:328:7 | stream | bslx.cpp:328:18:328:23 | *call to getString | +| bslx.cpp:328:2:328:7 | stream | bslx.cpp:328:19:328:21 | getString output argument | +| bslx.cpp:334:41:334:51 | *call to data | bslx.cpp:334:34:334:39 | call to ByteInStream | +| bslx.cpp:336:15:336:19 | *clean | bslx.cpp:336:2:336:7 | reset output argument | +| bslx.cpp:338:2:338:7 | stream | bslx.cpp:338:18:338:23 | *call to getString | +| bslx.cpp:338:2:338:7 | stream | bslx.cpp:338:19:338:21 | getString output argument | +| protobuf.cpp:106:22:106:25 | data | protobuf.cpp:106:2:106:4 | ParseFromString output argument | +| protobuf.cpp:113:22:113:25 | *data | protobuf.cpp:113:2:113:4 | ParseFromString output argument | +| protobuf.cpp:120:29:120:32 | data | protobuf.cpp:120:2:120:4 | ParsePartialFromString output argument | +| protobuf.cpp:127:29:127:32 | *data | protobuf.cpp:127:2:127:4 | ParsePartialFromString output argument | +| protobuf.cpp:134:22:134:25 | data | protobuf.cpp:134:2:134:4 | MergeFromString output argument | +| protobuf.cpp:141:22:141:25 | *data | protobuf.cpp:141:2:141:4 | MergeFromString output argument | +| protobuf.cpp:148:29:148:32 | data | protobuf.cpp:148:2:148:4 | MergePartialFromString output argument | +| protobuf.cpp:155:29:155:32 | *data | protobuf.cpp:155:2:155:4 | MergePartialFromString output argument | +| protobuf.cpp:162:21:162:31 | *call to data | protobuf.cpp:162:2:162:4 | ParseFromArray output argument | +| protobuf.cpp:169:28:169:38 | *call to data | protobuf.cpp:169:2:169:4 | ParsePartialFromArray output argument | +| protobuf.cpp:176:20:176:23 | *data | protobuf.cpp:176:2:176:4 | ParseFromCord output argument | +| protobuf.cpp:183:27:183:30 | *data | protobuf.cpp:183:2:183:4 | ParsePartialFromCord output argument | +| protobuf.cpp:190:20:190:23 | *data | protobuf.cpp:190:2:190:4 | MergeFromCord output argument | +| protobuf.cpp:197:27:197:30 | *data | protobuf.cpp:197:2:197:4 | MergePartialFromCord output argument | +| protobuf.cpp:204:23:204:25 | *& ... | protobuf.cpp:204:2:204:4 | ParseFromIstream output argument | +| protobuf.cpp:211:30:211:32 | *& ... | protobuf.cpp:211:2:211:4 | ParsePartialFromIstream output argument | +| protobuf.cpp:218:30:218:32 | *& ... | protobuf.cpp:218:2:218:4 | ParseFromZeroCopyStream output argument | +| protobuf.cpp:225:37:225:39 | *& ... | protobuf.cpp:225:2:225:4 | ParsePartialFromZeroCopyStream output argument | +| protobuf.cpp:232:37:232:39 | *& ... | protobuf.cpp:232:2:232:4 | ParseFromBoundedZeroCopyStream output argument | +| protobuf.cpp:239:44:239:46 | *& ... | protobuf.cpp:239:2:239:4 | ParsePartialFromBoundedZeroCopyStream output argument | +| protobuf.cpp:246:37:246:39 | *& ... | protobuf.cpp:246:2:246:4 | MergeFromBoundedZeroCopyStream output argument | +| protobuf.cpp:253:44:253:46 | *& ... | protobuf.cpp:253:2:253:4 | MergePartialFromBoundedZeroCopyStream output argument | +| protobuf.cpp:260:27:260:29 | *& ... | protobuf.cpp:260:2:260:4 | ParseFromCodedStream output argument | +| protobuf.cpp:267:34:267:36 | *& ... | protobuf.cpp:267:2:267:4 | ParsePartialFromCodedStream output argument | +| protobuf.cpp:274:27:274:29 | *& ... | protobuf.cpp:274:2:274:4 | MergeFromCodedStream output argument | +| protobuf.cpp:281:34:281:36 | *& ... | protobuf.cpp:281:2:281:4 | MergePartialFromCodedStream output argument | +| protobuf.cpp:288:22:288:25 | *data | protobuf.cpp:288:2:288:4 | ParseFromString output argument | +| protobuf.cpp:297:2:297:4 | msg | protobuf.cpp:297:24:297:27 | SerializeToString output argument | +| protobuf.cpp:304:2:304:4 | msg | protobuf.cpp:304:31:304:34 | SerializePartialToString output argument | +| protobuf.cpp:311:2:311:4 | msg | protobuf.cpp:311:21:311:24 | AppendToString output argument | +| protobuf.cpp:318:2:318:4 | msg | protobuf.cpp:318:28:318:31 | AppendPartialToString output argument | +| protobuf.cpp:325:2:325:4 | msg | protobuf.cpp:325:24:325:27 | SerializeToString output argument | +| protobuf.cpp:332:2:332:4 | msg | protobuf.cpp:332:31:332:34 | SerializePartialToString output argument | +| protobuf.cpp:339:2:339:4 | msg | protobuf.cpp:339:21:339:24 | AppendToString output argument | +| protobuf.cpp:346:2:346:4 | msg | protobuf.cpp:346:28:346:31 | AppendPartialToString output argument | +| protobuf.cpp:353:2:353:4 | msg | protobuf.cpp:353:23:353:25 | SerializeToArray output argument | +| protobuf.cpp:360:2:360:4 | msg | protobuf.cpp:360:30:360:32 | SerializePartialToArray output argument | +| protobuf.cpp:367:2:367:4 | msg | protobuf.cpp:367:22:367:25 | SerializeToCord output argument | +| protobuf.cpp:374:2:374:4 | msg | protobuf.cpp:374:29:374:32 | SerializePartialToCord output argument | +| protobuf.cpp:381:2:381:4 | msg | protobuf.cpp:381:19:381:22 | AppendToCord output argument | +| protobuf.cpp:388:2:388:4 | msg | protobuf.cpp:388:26:388:29 | AppendPartialToCord output argument | +| protobuf.cpp:395:2:395:4 | msg | protobuf.cpp:395:25:395:28 | SerializeToOstream output argument | +| protobuf.cpp:402:2:402:4 | msg | protobuf.cpp:402:32:402:35 | SerializePartialToOstream output argument | +| protobuf.cpp:409:2:409:4 | msg | protobuf.cpp:409:32:409:35 | SerializeToZeroCopyStream output argument | +| protobuf.cpp:416:2:416:4 | msg | protobuf.cpp:416:39:416:42 | SerializePartialToZeroCopyStream output argument | +| protobuf.cpp:423:2:423:4 | msg | protobuf.cpp:423:29:423:32 | SerializeToCodedStream output argument | +| protobuf.cpp:430:2:430:4 | msg | protobuf.cpp:430:36:430:39 | SerializePartialToCodedStream output argument | +| protobuf.cpp:438:7:438:9 | msg | protobuf.cpp:438:11:438:27 | call to SerializeAsString | +| protobuf.cpp:443:7:443:9 | msg | protobuf.cpp:443:11:443:34 | call to SerializePartialAsString | +| protobuf.cpp:448:7:448:9 | msg | protobuf.cpp:448:11:448:25 | call to SerializeAsCord | +| protobuf.cpp:453:7:453:9 | msg | protobuf.cpp:453:11:453:32 | call to SerializePartialAsCord | +| protobuf.cpp:458:7:458:9 | msg | protobuf.cpp:458:11:458:27 | call to SerializeAsString | | test.cpp:17:24:17:24 | x | test.cpp:17:10:17:22 | call to ymlStepManual | | test.cpp:21:27:21:27 | x | test.cpp:21:10:21:25 | call to ymlStepGenerated | | test.cpp:25:35:25:35 | x | test.cpp:25:11:25:33 | call to ymlStepManual_with_body | diff --git a/cpp/ql/test/library-tests/dataflow/external-models/test.cpp b/cpp/ql/test/library-tests/dataflow/external-models/test.cpp index bfc7c9ed1148..b0e5016e4697 100644 --- a/cpp/ql/test/library-tests/dataflow/external-models/test.cpp +++ b/cpp/ql/test/library-tests/dataflow/external-models/test.cpp @@ -379,6 +379,7 @@ void forward_test() { template struct Container { + using value_type = T; template void emplace(int pos, Args&&... args); @@ -416,6 +417,16 @@ void forward_test_model() { ymlSink(e.x); // $ ir } +void forward_test_member_alias_scalar() { + Container scalar; + scalar.emplace(0, ymlSource()); + ymlSink(scalar.get()); // $ ir + + Container pointer; + pointer.emplace(0, ymlSourcePtr()); + ymlSink(*pointer.get()); // $ ir +} + struct ElementWithDefaultArgument { int x; ElementWithDefaultArgument(int x, int = 0); diff --git a/cpp/ql/test/library-tests/dataflow/external-models/validatemodels.expected b/cpp/ql/test/library-tests/dataflow/external-models/validatemodels.expected index 4e26bf1c2c2c..a8bdcbd14b49 100644 --- a/cpp/ql/test/library-tests/dataflow/external-models/validatemodels.expected +++ b/cpp/ql/test/library-tests/dataflow/external-models/validatemodels.expected @@ -10,11 +10,14 @@ | Dubious member name "operator&" in summary model. | | Dubious member name "operator*" in summary model. | | Dubious member name "operator+" in summary model. | +| Dubious member name "operator+" in summary model. | | Dubious member name "operator+=" in summary model. | +| Dubious member name "operator+=" in summary model. | | Dubious member name "operator->" in summary model. | | Dubious member name "operator=" in summary model. | | Dubious member name "operator=" in summary model. | | Dubious member name "operator[]" in summary model. | +| Dubious member name "operator[]" in summary model. | | Dubious signature "(..(*)(..))" in summary model. | | Dubious signature "(..(*)(..),..(*)(..),..(*)(..),..(*)(..))" in summary model. | | Dubious signature "(..(*)(..),..(*)(..),..(*)(..),void *)" in summary model. | @@ -507,6 +510,8 @@ | Dubious signature "(CURLU *,CURLUPart,const char *,unsigned int)" in summary model. | | Dubious signature "(CURLU *,const char *)" in summary model. | | Dubious signature "(CURLU *,const char *,char **,OperationConfig *)" in summary model. | +| Dubious signature "(CharT,basic_string &&)" in summary model. | +| Dubious signature "(CharT,const basic_string &)" in summary model. | | Dubious signature "(ComPtr &&)" in summary model. | | Dubious signature "(CompoundDictionary *,const PreparedDictionary *)" in summary model. | | Dubious signature "(Curl_cfilter *)" in summary model. | @@ -1110,6 +1115,14 @@ | Dubious signature "(ISSUER_SIGN_TOOL **,const unsigned char **,long)" in summary model. | | Dubious signature "(ISSUING_DIST_POINT *)" in summary model. | | Dubious signature "(ISSUING_DIST_POINT **,const unsigned char **,long)" in summary model. | +| Dubious signature "(InputIt,InputIt,const Allocator &)" in summary model. | +| Dubious signature "(InputIt,InputIt,const Compare &)" in summary model. | +| Dubious signature "(InputIt,InputIt,const Compare &,const Allocator &)" in summary model. | +| Dubious signature "(InputIt,InputIt,size_type,const Allocator &)" in summary model. | +| Dubious signature "(InputIt,InputIt,size_type,const Hash &)" in summary model. | +| Dubious signature "(InputIt,InputIt,size_type,const Hash &,const Allocator &)" in summary model. | +| Dubious signature "(InputIt,InputIt,size_type,const Hash &,const Pred &)" in summary model. | +| Dubious signature "(InputIt,InputIt,size_type,const Hash &,const Pred &,const Allocator &)" in summary model. | | Dubious signature "(InputIterator,InputIterator,const Allocator &)" in summary model. | | Dubious signature "(Jim_HashTable *)" in summary model. | | Dubious signature "(Jim_HashTable *,const Jim_HashTableType *,void *)" in summary model. | @@ -1161,6 +1174,7 @@ | Dubious signature "(Jim_Obj *,int *)" in summary model. | | Dubious signature "(Jim_Stack *)" in summary model. | | Dubious signature "(Jim_Stack *,void *)" in summary model. | +| Dubious signature "(K &&)" in summary model. | | Dubious signature "(KECCAK1600_CTX *,const void *,size_t)" in summary model. | | Dubious signature "(KECCAK1600_CTX *,unsigned char *,size_t)" in summary model. | | Dubious signature "(KECCAK1600_CTX *,unsigned char,size_t)" in summary model. | @@ -1877,6 +1891,7 @@ | Dubious signature "(OperationConfig *,HttpReq,HttpReq *)" in summary model. | | Dubious signature "(OperationConfig *,const char *,tool_mime **,tool_mime **,bool)" in summary model. | | Dubious signature "(OperationConfig *,const char *const *,char **,const char *)" in summary model. | +| Dubious signature "(P &&)" in summary model. | | Dubious signature "(PACKET *)" in summary model. | | Dubious signature "(PACKET *,BIGNUM *)" in summary model. | | Dubious signature "(PACKET *,OSSL_QUIC_FRAME_CONN_CLOSE *)" in summary model. | @@ -2127,6 +2142,7 @@ | Dubious signature "(QUIC_TXPIM *,QUIC_TXPIM_PKT *)" in summary model. | | Dubious signature "(QUIC_TXPIM_PKT *,QUIC_CFQ_ITEM *)" in summary model. | | Dubious signature "(QUIC_TXPIM_PKT *,const QUIC_TXPIM_CHUNK *)" in summary model. | +| Dubious signature "(R &&)" in summary model. | | Dubious signature "(RAND_POOL *)" in summary model. | | Dubious signature "(RAND_POOL *,const unsigned char *,size_t)" in summary model. | | Dubious signature "(RAND_POOL *,const unsigned char *,size_t,size_t)" in summary model. | @@ -2437,6 +2453,7 @@ | Dubious signature "(Strent *)" in summary model. | | Dubious signature "(Strtab *,const char *,size_t)" in summary model. | | Dubious signature "(Strtab *,size_t *)" in summary model. | +| Dubious signature "(T1 &&,T2 &&)" in summary model. | | Dubious signature "(T *)" in summary model. | | Dubious signature "(T **)" in summary model. | | Dubious signature "(TLS_FEATURE *)" in summary model. | @@ -2501,6 +2518,7 @@ | Dubious signature "(TS_VERIFY_CTX *,unsigned char *,long)" in summary model. | | Dubious signature "(TXT_DB *,OPENSSL_STRING *)" in summary model. | | Dubious signature "(TXT_DB *,int,..(*)(..),OPENSSL_LH_HASHFUNC,OPENSSL_LH_COMPFUNC)" in summary model. | +| Dubious signature "(U1 &&,U2 &&)" in summary model. | | Dubious signature "(U *)" in summary model. | | Dubious signature "(UI *)" in summary model. | | Dubious signature "(UI *,UI_STRING *,const char *)" in summary model. | @@ -2870,6 +2888,14 @@ | Dubious signature "(argp_fmtstream *,argp_fmtstream_t,size_t)" in summary model. | | Dubious signature "(argp_fmtstream_t,const char *)" in summary model. | | Dubious signature "(argp_fmtstream_t,const char *,size_t)" in summary model. | +| Dubious signature "(basic_string &&)" in summary model. | +| Dubious signature "(basic_string &&,CharT)" in summary model. | +| Dubious signature "(basic_string &&,basic_string &&)" in summary model. | +| Dubious signature "(basic_string &&,const Allocator &)" in summary model. | +| Dubious signature "(basic_string &&,const CharT *)" in summary model. | +| Dubious signature "(basic_string &&,const basic_string &)" in summary model. | +| Dubious signature "(basic_string &&,size_type,const Allocator &)" in summary model. | +| Dubious signature "(basic_string &&,size_type,size_type,const Allocator &)" in summary model. | | Dubious signature "(brotli_alloc_func,brotli_free_func,void *)" in summary model. | | Dubious signature "(bufc_pool *,size_t,size_t)" in summary model. | | Dubious signature "(bufq *,Curl_bufq_reader *,void *,CURLcode *)" in summary model. | @@ -3165,6 +3191,12 @@ | Dubious signature "(const CT_POLICY_EVAL_CTX *)" in summary model. | | Dubious signature "(const CURLU *)" in summary model. | | Dubious signature "(const CURLU *,CURLUPart,char **,unsigned int)" in summary model. | +| Dubious signature "(const CharT *)" in summary model. | +| Dubious signature "(const CharT *,basic_string &&)" in summary model. | +| Dubious signature "(const CharT *,const Allocator &)" in summary model. | +| Dubious signature "(const CharT *,const basic_string &)" in summary model. | +| Dubious signature "(const CharT *,size_type)" in summary model. | +| Dubious signature "(const CharT *,size_type,const Allocator &)" in summary model. | | Dubious signature "(const ComPtr &)" in summary model. | | Dubious signature "(const Command *,const size_t,const BlockSplit *,const BlockSplit *,const BlockSplit *,const uint8_t *,size_t,size_t,uint8_t,uint8_t,const ContextType *,HistogramLiteral *,HistogramCommand *,HistogramDistance *)" in summary model. | | Dubious signature "(const Cord &)" in summary model. | @@ -3693,6 +3725,11 @@ | Dubious signature "(const SXNET *,unsigned char **)" in summary model. | | Dubious signature "(const SXNETID *,unsigned char **)" in summary model. | | Dubious signature "(const StringRef &)" in summary model. | +| Dubious signature "(const StringViewLike &)" in summary model. | +| Dubious signature "(const StringViewLike &,const Allocator &)" in summary model. | +| Dubious signature "(const StringViewLike &,size_type,size_type)" in summary model. | +| Dubious signature "(const StringViewLike &,size_type,size_type,const Allocator &)" in summary model. | +| Dubious signature "(const T1 &,const T2 &)" in summary model. | | Dubious signature "(const T &,BOOL)" in summary model. | | Dubious signature "(const TS_ACCURACY *)" in summary model. | | Dubious signature "(const TS_ACCURACY *,unsigned char **)" in summary model. | @@ -3828,6 +3865,16 @@ | Dubious signature "(const aiocb *const[],int,const timespec *)" in summary model. | | Dubious signature "(const argp_state *,const char *,va_list,unsigned int)" in summary model. | | Dubious signature "(const argp_state *,int,int,const char *,va_list,unsigned int)" in summary model. | +| Dubious signature "(const basic_string &)" in summary model. | +| Dubious signature "(const basic_string &,CharT)" in summary model. | +| Dubious signature "(const basic_string &,basic_string &&)" in summary model. | +| Dubious signature "(const basic_string &,const Allocator &)" in summary model. | +| Dubious signature "(const basic_string &,const CharT *)" in summary model. | +| Dubious signature "(const basic_string &,const basic_string &)" in summary model. | +| Dubious signature "(const basic_string &,size_type,const Allocator &)" in summary model. | +| Dubious signature "(const basic_string &,size_type,size_type)" in summary model. | +| Dubious signature "(const basic_string &,size_type,size_type,const Allocator &)" in summary model. | +| Dubious signature "(const basic_string_view &)" in summary model. | | Dubious signature "(const bufq *)" in summary model. | | Dubious signature "(const bufref *)" in summary model. | | Dubious signature "(const char *)" in summary model. | @@ -4095,9 +4142,14 @@ | Dubious signature "(const int,int,protoent *,char *,size_t,int *)" in summary model. | | Dubious signature "(const int[],BIGNUM *)" in summary model. | | Dubious signature "(const int_dhx942_dh *,unsigned char **)" in summary model. | +| Dubious signature "(const key_type &)" in summary model. | +| Dubious signature "(const key_type &,Args &&)" in summary model. | +| Dubious signature "(const key_type &,M &&)" in summary model. | | Dubious signature "(const list &)" in summary model. | | Dubious signature "(const list &,const Allocator &)" in summary model. | | Dubious signature "(const long double *)" in summary model. | +| Dubious signature "(const map &)" in summary model. | +| Dubious signature "(const map &,const Allocator &)" in summary model. | | Dubious signature "(const md5_ctx *,void *)" in summary model. | | Dubious signature "(const mntent *,const char *)" in summary model. | | Dubious signature "(const nghttp2_extpri *)" in summary model. | @@ -4114,6 +4166,7 @@ | Dubious signature "(const nis_result *,nis_result *)" in summary model. | | Dubious signature "(const ns_msg *,const ns_rr *,const char *,const char *,char *,size_t)" in summary model. | | Dubious signature "(const old_termios_t *)" in summary model. | +| Dubious signature "(const pair &)" in summary model. | | Dubious signature "(const passwd *,const passwd *__restrict__,FILE *,FILE *__restrict__)" in summary model. | | Dubious signature "(const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,int *,int *__restrict__)" in summary model. | | Dubious signature "(const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,pid_t *,pid_t *__restrict__)" in summary model. | @@ -4214,6 +4267,8 @@ | Dubious signature "(const uint32_t *,const size_t,const int,HuffmanTree *,uint8_t *)" in summary model. | | Dubious signature "(const uint32_t *,size_t,char *,size_t *)" in summary model. | | Dubious signature "(const uint32_t *,size_t,uint32_t *,size_t *,int)" in summary model. | +| Dubious signature "(const unordered_map &)" in summary model. | +| Dubious signature "(const unordered_map &,const Allocator &)" in summary model. | | Dubious signature "(const unsigned char *)" in summary model. | | Dubious signature "(const unsigned char **,const unsigned char *)" in summary model. | | Dubious signature "(const unsigned char **,long *,int *,int *,long)" in summary model. | @@ -4326,6 +4381,7 @@ | Dubious signature "(const uv_timer_t *)" in summary model. | | Dubious signature "(const uv_udp_t *)" in summary model. | | Dubious signature "(const uv_udp_t *,sockaddr *,int *)" in summary model. | +| Dubious signature "(const value_type &)" in summary model. | | Dubious signature "(const vector &)" in summary model. | | Dubious signature "(const vector &,const Allocator &)" in summary model. | | Dubious signature "(const void *)" in summary model. | @@ -4383,9 +4439,20 @@ | Dubious signature "(const wchar_t *,wchar_t **,int,locale_t)" in summary model. | | Dubious signature "(const wchar_t *,wchar_t **,wchar_t)" in summary model. | | Dubious signature "(const_DES_cblock *)" in summary model. | +| Dubious signature "(const_iterator,P &&)" in summary model. | | Dubious signature "(const_iterator,T &&)" in summary model. | | Dubious signature "(const_iterator,const T &)" in summary model. | +| Dubious signature "(const_iterator,const key_type &,Args &&)" in summary model. | +| Dubious signature "(const_iterator,const key_type &,M &&)" in summary model. | +| Dubious signature "(const_iterator,const value_type &)" in summary model. | +| Dubious signature "(const_iterator,const_iterator,const CharT *)" in summary model. | +| Dubious signature "(const_iterator,const_iterator,const CharT *,size_type)" in summary model. | +| Dubious signature "(const_iterator,const_iterator,const StringViewLike &)" in summary model. | +| Dubious signature "(const_iterator,const_iterator,const basic_string &)" in summary model. | +| Dubious signature "(const_iterator,key_type &&,Args &&)" in summary model. | +| Dubious signature "(const_iterator,key_type &&,M &&)" in summary model. | | Dubious signature "(const_iterator,size_type,const T &)" in summary model. | +| Dubious signature "(const_iterator,value_type &&)" in summary model. | | Dubious signature "(const_nis_name,char *,size_t)" in summary model. | | Dubious signature "(const_nis_name,const unsigned int,unsigned int)" in summary model. | | Dubious signature "(const_nis_name,directory_obj **,dir_binding *,unsigned int)" in summary model. | @@ -4493,6 +4560,11 @@ | Dubious signature "(format_string,Args &&)" in summary model. | | Dubious signature "(forward_list &&)" in summary model. | | Dubious signature "(forward_list &&,const Allocator &)" in summary model. | +| Dubious signature "(from_range_t,R &&)" in summary model. | +| Dubious signature "(from_range_t,R &&,size_type)" in summary model. | +| Dubious signature "(from_range_t,R &&,size_type,const Hash &)" in summary model. | +| Dubious signature "(from_range_t,R &&,size_type,const Hash &,const Pred &)" in summary model. | +| Dubious signature "(from_range_t,R &&,size_type,const Hash &,const Pred &,const Allocator &)" in summary model. | | Dubious signature "(ftp_parselist_data *)" in summary model. | | Dubious signature "(ftp_parselist_data **)" in summary model. | | Dubious signature "(fuse_in_header *,uint32_t)" in summary model. | @@ -4536,6 +4608,14 @@ | Dubious signature "(i2d_of_void *,d2i_of_void *,const void *)" in summary model. | | Dubious signature "(iconv_t,char **,char **__restrict__,size_t *,size_t *__restrict__,char **,char **__restrict__,size_t *,size_t *__restrict__)" in summary model. | | Dubious signature "(in_addr_t,uint32_t,char *,size_t)" in summary model. | +| Dubious signature "(initializer_list,const Allocator &)" in summary model. | +| Dubious signature "(initializer_list,const Compare &)" in summary model. | +| Dubious signature "(initializer_list,const Compare &,const Allocator &)" in summary model. | +| Dubious signature "(initializer_list,size_type,const Allocator &)" in summary model. | +| Dubious signature "(initializer_list,size_type,const Hash &)" in summary model. | +| Dubious signature "(initializer_list,size_type,const Hash &,const Allocator &)" in summary model. | +| Dubious signature "(initializer_list,size_type,const Hash &,const Pred &)" in summary model. | +| Dubious signature "(initializer_list,size_type,const Hash &,const Pred &,const Allocator &)" in summary model. | | Dubious signature "(int32_t *,int32_t *,int32_t *,int32_t *)" in summary model. | | Dubious signature "(int64_t *,const ASN1_ENUMERATED *)" in summary model. | | Dubious signature "(int64_t *,const ASN1_INTEGER *)" in summary model. | @@ -4683,6 +4763,9 @@ | Dubious signature "(int_dhx942_dh **,const unsigned char **,long)" in summary model. | | Dubious signature "(istream &,AnyRef *,const char *)" in summary model. | | Dubious signature "(istream &,TYPE *,const char *)" in summary model. | +| Dubious signature "(key_type &&)" in summary model. | +| Dubious signature "(key_type &&,Args &&)" in summary model. | +| Dubious signature "(key_type &&,M &&)" in summary model. | | Dubious signature "(lemon *)" in summary model. | | Dubious signature "(lemon *,action *)" in summary model. | | Dubious signature "(lemon *,const char *)" in summary model. | @@ -4751,11 +4834,16 @@ | Dubious signature "(long long)" in summary model. | | Dubious signature "(long long,long long)" in summary model. | | Dubious signature "(long,drand48_data *)" in summary model. | +| Dubious signature "(map &&)" in summary model. | +| Dubious signature "(map &&,const Allocator &)" in summary model. | +| Dubious signature "(map &)" in summary model. | | Dubious signature "(md5_ctx *,void *)" in summary model. | | Dubious signature "(mp_ptr,mp_size_t,int *,int *,_Float128)" in summary model. | | Dubious signature "(mp_ptr,mp_size_t,int *,int *,double)" in summary model. | | Dubious signature "(mp_ptr,mp_size_t,int *,int *,long double)" in summary model. | | Dubious signature "(msghdr *,cmsghdr *)" in summary model. | +| Dubious signature "(multimap &&)" in summary model. | +| Dubious signature "(multimap &)" in summary model. | | Dubious signature "(netent *,char *,size_t,int *,int *)" in summary model. | | Dubious signature "(netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__)" in summary model. | | Dubious signature "(netlink_handle *,int)" in summary model. | @@ -4933,6 +5021,7 @@ | Dubious signature "(old_termios_t *,speed_t)" in summary model. | | Dubious signature "(ostream &,const AnyConstRef &)" in summary model. | | Dubious signature "(ostream &,const TYPE &)" in summary model. | +| Dubious signature "(pair &&)" in summary model. | | Dubious signature "(passwd *,char *,size_t,int *)" in summary model. | | Dubious signature "(passwd *,char *,size_t,passwd **)" in summary model. | | Dubious signature "(pgrs_dir *,curl_off_t,curltime)" in summary model. | @@ -5039,8 +5128,21 @@ | Dubious signature "(size_t,traced_file *)" in summary model. | | Dubious signature "(size_t,uint32_t *,uint8_t *)" in summary model. | | Dubious signature "(size_t,void **)" in summary model. | +| Dubious signature "(size_type,CharT,const Allocator &)" in summary model. | +| Dubious signature "(size_type,const CharT *)" in summary model. | +| Dubious signature "(size_type,const CharT *,size_type)" in summary model. | +| Dubious signature "(size_type,const StringViewLike &)" in summary model. | +| Dubious signature "(size_type,const StringViewLike &,size_type,size_type)" in summary model. | | Dubious signature "(size_type,const T &)" in summary model. | | Dubious signature "(size_type,const T &,const Allocator &)" in summary model. | +| Dubious signature "(size_type,const basic_string &)" in summary model. | +| Dubious signature "(size_type,const basic_string &,size_type,size_type)" in summary model. | +| Dubious signature "(size_type,size_type,const CharT *)" in summary model. | +| Dubious signature "(size_type,size_type,const CharT *,size_type)" in summary model. | +| Dubious signature "(size_type,size_type,const StringViewLike &)" in summary model. | +| Dubious signature "(size_type,size_type,const StringViewLike &,size_type,size_type)" in summary model. | +| Dubious signature "(size_type,size_type,const basic_string &)" in summary model. | +| Dubious signature "(size_type,size_type,const basic_string &,size_type,size_type)" in summary model. | | Dubious signature "(slist_wc **,const char *)" in summary model. | | Dubious signature "(slist_wc *,const char *)" in summary model. | | Dubious signature "(sockaddr_in *)" in summary model. | @@ -5292,6 +5394,11 @@ | Dubious signature "(uint64_t *,uint64_t,uint64_t *,CRYPTO_RWLOCK *)" in summary model. | | Dubious signature "(uint64_t,uint64_t *)" in summary model. | | Dubious signature "(uninorm_t,const uint32_t *,size_t,uint32_t *,uint32_t *__restrict__,size_t *)" in summary model. | +| Dubious signature "(unordered_map &&)" in summary model. | +| Dubious signature "(unordered_map &&,const Allocator &)" in summary model. | +| Dubious signature "(unordered_map &)" in summary model. | +| Dubious signature "(unordered_multimap &&)" in summary model. | +| Dubious signature "(unordered_multimap &)" in summary model. | | Dubious signature "(unsigned char *)" in summary model. | | Dubious signature "(unsigned char **)" in summary model. | | Dubious signature "(unsigned char **,X509_ALGOR *,ASN1_OCTET_STRING *,int)" in summary model. | @@ -5505,6 +5612,7 @@ | Dubious signature "(uv_udp_t *,uv_os_sock_t)" in summary model. | | Dubious signature "(uv_write_t *,uv_stream_t *,const uv_buf_t[],unsigned int,uv_stream_t *,uv_write_cb)" in summary model. | | Dubious signature "(uv_write_t *,uv_stream_t *,const uv_buf_t[],unsigned int,uv_write_cb)" in summary model. | +| Dubious signature "(value_type &&)" in summary model. | | Dubious signature "(vector &&)" in summary model. | | Dubious signature "(vector &&,const Allocator &)" in summary model. | | Dubious signature "(void *)" in summary model. | @@ -5595,26 +5703,70 @@ | Dubious signature "(z_streamp,unsigned int)" in summary model. | | Unrecognized input specification "Argument[***0]" in summary model. | | Unrecognized input specification "Argument[***1]" in summary model. | +| Unrecognized input specification "Argument[***2]" in summary model. | | Unrecognized input specification "Argument[***3]" in summary model. | | Unrecognized input specification "Argument[***4]" in summary model. | +| Unrecognized input specification "Argument[***5]" in summary model. | | Unrecognized input specification "Argument[****0]" in summary model. | | Unrecognized input specification "Argument[****1]" in summary model. | +| Unrecognized input specification "Argument[****2]" in summary model. | | Unrecognized input specification "Argument[****3]" in summary model. | | Unrecognized input specification "Argument[****4]" in summary model. | +| Unrecognized input specification "Argument[****5]" in summary model. | | Unrecognized input specification "Argument[*****0]" in summary model. | | Unrecognized input specification "Argument[*****1]" in summary model. | +| Unrecognized input specification "Argument[*****2]" in summary model. | +| Unrecognized input specification "Argument[*****3]" in summary model. | +| Unrecognized input specification "Argument[*****4]" in summary model. | +| Unrecognized input specification "Argument[*****5]" in summary model. | +| Unrecognized input specification "Field[****Azure::Nullable::m_value]" in summary model. | | Unrecognized input specification "Field[****hEvent]" in summary model. | +| Unrecognized input specification "Field[****std::pair::first]" in summary model. | +| Unrecognized input specification "Field[****std::pair::second]" in summary model. | +| Unrecognized input specification "Field[***Azure::Nullable::m_value]" in summary model. | | Unrecognized input specification "Field[***hEvent]" in summary model. | +| Unrecognized input specification "Field[***std::pair::first]" in summary model. | +| Unrecognized input specification "Field[***std::pair::second]" in summary model. | +| Unrecognized input specification "Field[**Azure::Nullable::m_value]" in summary model. | +| Unrecognized input specification "Field[**std::pair::first]" in summary model. | +| Unrecognized input specification "Field[**std::pair::second]" in summary model. | +| Unrecognized input specification "Field[*Azure::Nullable::m_value]" in summary model. | +| Unrecognized input specification "Field[*std::pair::first]" in summary model. | +| Unrecognized input specification "Field[*std::pair::second]" in summary model. | +| Unrecognized input specification "ReturnValue[*****]" in summary model. | +| Unrecognized input specification "ReturnValue[****]" in summary model. | +| Unrecognized input specification "ReturnValue[***]" in summary model. | | Unrecognized output specification "Argument[***0]" in summary model. | | Unrecognized output specification "Argument[***1]" in summary model. | +| Unrecognized output specification "Argument[***2]" in summary model. | | Unrecognized output specification "Argument[****0]" in summary model. | | Unrecognized output specification "Argument[****1]" in summary model. | | Unrecognized output specification "Argument[*****0]" in summary model. | | Unrecognized output specification "Argument[*****1]" in summary model. | +| Unrecognized output specification "Field[****Azure::Nullable::m_value]" in summary model. | | Unrecognized output specification "Field[****hEvent]" in summary model. | +| Unrecognized output specification "Field[****std::pair::first]" in summary model. | +| Unrecognized output specification "Field[****std::pair::second]" in summary model. | +| Unrecognized output specification "Field[***Azure::Nullable::m_value]" in summary model. | | Unrecognized output specification "Field[***hEvent]" in summary model. | +| Unrecognized output specification "Field[***std::pair::first]" in summary model. | +| Unrecognized output specification "Field[***std::pair::second]" in summary model. | +| Unrecognized output specification "Field[**Azure::Nullable::m_value]" in summary model. | +| Unrecognized output specification "Field[**std::pair::first]" in summary model. | +| Unrecognized output specification "Field[**std::pair::second]" in summary model. | +| Unrecognized output specification "Field[*Azure::Nullable::m_value]" in summary model. | +| Unrecognized output specification "Field[*std::pair::first]" in summary model. | +| Unrecognized output specification "Field[*std::pair::second]" in summary model. | | Unrecognized output specification "Parameter[***0]" in summary model. | +| Unrecognized output specification "Parameter[***1]" in summary model. | +| Unrecognized output specification "Parameter[***2]" in summary model. | +| Unrecognized output specification "Parameter[***3]" in summary model. | +| Unrecognized output specification "Parameter[***4]" in summary model. | | Unrecognized output specification "Parameter[****0]" in summary model. | +| Unrecognized output specification "Parameter[****1]" in summary model. | +| Unrecognized output specification "Parameter[****2]" in summary model. | +| Unrecognized output specification "Parameter[****3]" in summary model. | +| Unrecognized output specification "Parameter[****4]" in summary model. | | Unrecognized output specification "ReturnValue[*****]" in summary model. | | Unrecognized output specification "ReturnValue[****]" in summary model. | | Unrecognized output specification "ReturnValue[***]" in summary model. | diff --git a/cpp/ql/test/library-tests/dataflow/fields/ir-path-flow.expected b/cpp/ql/test/library-tests/dataflow/fields/ir-path-flow.expected index 2e38382150f4..29c2c7371165 100644 --- a/cpp/ql/test/library-tests/dataflow/fields/ir-path-flow.expected +++ b/cpp/ql/test/library-tests/dataflow/fields/ir-path-flow.expected @@ -478,21 +478,21 @@ edges | by_reference.cpp:44:12:44:24 | call to nonMemberGetA | by_reference.cpp:44:12:44:24 | call to nonMemberGetA | provenance | | | by_reference.cpp:44:26:44:29 | *this [a] | by_reference.cpp:31:46:31:46 | *s [a] | provenance | | | by_reference.cpp:44:26:44:29 | *this [a] | by_reference.cpp:44:12:44:24 | call to nonMemberGetA | provenance | | -| by_reference.cpp:50:3:50:3 | setDirectly output argument [a] | by_reference.cpp:51:8:51:8 | *s [a] | provenance | | +| by_reference.cpp:50:3:50:3 | setDirectly output argument [a] | by_reference.cpp:51:8:51:8 | s [a] | provenance | | | by_reference.cpp:50:17:50:26 | call to user_input | by_reference.cpp:15:26:15:30 | value | provenance | | | by_reference.cpp:50:17:50:26 | call to user_input | by_reference.cpp:50:3:50:3 | setDirectly output argument [a] | provenance | | -| by_reference.cpp:51:8:51:8 | *s [a] | by_reference.cpp:35:9:35:19 | *this [a] | provenance | | -| by_reference.cpp:51:8:51:8 | *s [a] | by_reference.cpp:51:10:51:20 | call to getDirectly | provenance | | -| by_reference.cpp:56:3:56:3 | setIndirectly output argument [a] | by_reference.cpp:57:8:57:8 | *s [a] | provenance | | +| by_reference.cpp:51:8:51:8 | s [a] | by_reference.cpp:35:9:35:19 | *this [a] | provenance | | +| by_reference.cpp:51:8:51:8 | s [a] | by_reference.cpp:51:10:51:20 | call to getDirectly | provenance | | +| by_reference.cpp:56:3:56:3 | setIndirectly output argument [a] | by_reference.cpp:57:8:57:8 | s [a] | provenance | | | by_reference.cpp:56:19:56:28 | call to user_input | by_reference.cpp:19:28:19:32 | value | provenance | | | by_reference.cpp:56:19:56:28 | call to user_input | by_reference.cpp:56:3:56:3 | setIndirectly output argument [a] | provenance | | -| by_reference.cpp:57:8:57:8 | *s [a] | by_reference.cpp:39:9:39:21 | *this [a] | provenance | | -| by_reference.cpp:57:8:57:8 | *s [a] | by_reference.cpp:57:10:57:22 | call to getIndirectly | provenance | | -| by_reference.cpp:62:3:62:3 | setThroughNonMember output argument [a] | by_reference.cpp:63:8:63:8 | *s [a] | provenance | | +| by_reference.cpp:57:8:57:8 | s [a] | by_reference.cpp:39:9:39:21 | *this [a] | provenance | | +| by_reference.cpp:57:8:57:8 | s [a] | by_reference.cpp:57:10:57:22 | call to getIndirectly | provenance | | +| by_reference.cpp:62:3:62:3 | setThroughNonMember output argument [a] | by_reference.cpp:63:8:63:8 | s [a] | provenance | | | by_reference.cpp:62:25:62:34 | call to user_input | by_reference.cpp:23:34:23:38 | value | provenance | | | by_reference.cpp:62:25:62:34 | call to user_input | by_reference.cpp:62:3:62:3 | setThroughNonMember output argument [a] | provenance | | -| by_reference.cpp:63:8:63:8 | *s [a] | by_reference.cpp:43:9:43:27 | *this [a] | provenance | | -| by_reference.cpp:63:8:63:8 | *s [a] | by_reference.cpp:63:10:63:28 | call to getThroughNonMember | provenance | | +| by_reference.cpp:63:8:63:8 | s [a] | by_reference.cpp:43:9:43:27 | *this [a] | provenance | | +| by_reference.cpp:63:8:63:8 | s [a] | by_reference.cpp:63:10:63:28 | call to getThroughNonMember | provenance | | | by_reference.cpp:68:17:68:18 | nonMemberSetA output argument [a] | by_reference.cpp:69:22:69:23 | *& ... [a] | provenance | | | by_reference.cpp:68:21:68:30 | call to user_input | by_reference.cpp:11:48:11:52 | value | provenance | | | by_reference.cpp:68:21:68:30 | call to user_input | by_reference.cpp:68:17:68:18 | nonMemberSetA output argument [a] | provenance | | @@ -683,13 +683,13 @@ edges | complex.cpp:40:17:40:17 | *b [inner, f, a_] | complex.cpp:42:8:42:8 | *b [inner, f, a_] | provenance | | | complex.cpp:40:17:40:17 | *b [inner, f, b_] | complex.cpp:43:8:43:8 | *b [inner, f, b_] | provenance | | | complex.cpp:42:8:42:8 | *b [inner, f, a_] | complex.cpp:42:10:42:14 | *inner [f, a_] | provenance | | -| complex.cpp:42:10:42:14 | *inner [f, a_] | complex.cpp:42:16:42:16 | *f [a_] | provenance | | -| complex.cpp:42:16:42:16 | *f [a_] | complex.cpp:9:7:9:7 | *this [a_] | provenance | | -| complex.cpp:42:16:42:16 | *f [a_] | complex.cpp:42:18:42:18 | call to a | provenance | | +| complex.cpp:42:10:42:14 | *inner [f, a_] | complex.cpp:42:16:42:16 | f [a_] | provenance | | +| complex.cpp:42:16:42:16 | f [a_] | complex.cpp:9:7:9:7 | *this [a_] | provenance | | +| complex.cpp:42:16:42:16 | f [a_] | complex.cpp:42:18:42:18 | call to a | provenance | | | complex.cpp:43:8:43:8 | *b [inner, f, b_] | complex.cpp:43:10:43:14 | *inner [f, b_] | provenance | | -| complex.cpp:43:10:43:14 | *inner [f, b_] | complex.cpp:43:16:43:16 | *f [b_] | provenance | | -| complex.cpp:43:16:43:16 | *f [b_] | complex.cpp:10:7:10:7 | *this [b_] | provenance | | -| complex.cpp:43:16:43:16 | *f [b_] | complex.cpp:43:18:43:18 | call to b | provenance | | +| complex.cpp:43:10:43:14 | *inner [f, b_] | complex.cpp:43:16:43:16 | f [b_] | provenance | | +| complex.cpp:43:16:43:16 | f [b_] | complex.cpp:10:7:10:7 | *this [b_] | provenance | | +| complex.cpp:43:16:43:16 | f [b_] | complex.cpp:43:18:43:18 | call to b | provenance | | | complex.cpp:53:3:53:4 | *b1 [post update] [inner, f, a_] | complex.cpp:59:7:59:8 | *b1 [inner, f, a_] | provenance | | | complex.cpp:53:6:53:10 | *inner [post update] [f, a_] | complex.cpp:53:3:53:4 | *b1 [post update] [inner, f, a_] | provenance | | | complex.cpp:53:12:53:12 | setA output argument [a_] | complex.cpp:53:6:53:10 | *inner [post update] [f, a_] | provenance | | @@ -753,12 +753,12 @@ edges | constructors.cpp:23:20:23:20 | b | constructors.cpp:23:35:23:35 | b | provenance | | | constructors.cpp:23:28:23:28 | a | constructors.cpp:23:5:23:7 | *Foo [post update] [a_] | provenance | | | constructors.cpp:23:35:23:35 | b | constructors.cpp:23:5:23:7 | *Foo [post update] [b_] | provenance | | -| constructors.cpp:26:15:26:15 | *f [a_] | constructors.cpp:28:10:28:10 | *f [a_] | provenance | | -| constructors.cpp:26:15:26:15 | *f [b_] | constructors.cpp:29:10:29:10 | *f [b_] | provenance | | -| constructors.cpp:28:10:28:10 | *f [a_] | constructors.cpp:18:9:18:9 | *this [a_] | provenance | | -| constructors.cpp:28:10:28:10 | *f [a_] | constructors.cpp:28:12:28:12 | call to a | provenance | | -| constructors.cpp:29:10:29:10 | *f [b_] | constructors.cpp:19:9:19:9 | *this [b_] | provenance | | -| constructors.cpp:29:10:29:10 | *f [b_] | constructors.cpp:29:12:29:12 | call to b | provenance | | +| constructors.cpp:26:15:26:15 | *f [a_] | constructors.cpp:28:10:28:10 | f [a_] | provenance | | +| constructors.cpp:26:15:26:15 | *f [b_] | constructors.cpp:29:10:29:10 | f [b_] | provenance | | +| constructors.cpp:28:10:28:10 | f [a_] | constructors.cpp:18:9:18:9 | *this [a_] | provenance | | +| constructors.cpp:28:10:28:10 | f [a_] | constructors.cpp:28:12:28:12 | call to a | provenance | | +| constructors.cpp:29:10:29:10 | f [b_] | constructors.cpp:19:9:19:9 | *this [b_] | provenance | | +| constructors.cpp:29:10:29:10 | f [b_] | constructors.cpp:29:12:29:12 | call to b | provenance | | | constructors.cpp:34:9:34:9 | call to Foo [a_] | constructors.cpp:40:9:40:9 | *f [a_] | provenance | | | constructors.cpp:34:11:34:20 | call to user_input | constructors.cpp:23:13:23:13 | a | provenance | | | constructors.cpp:34:11:34:20 | call to user_input | constructors.cpp:34:9:34:9 | call to Foo [a_] | provenance | | @@ -846,12 +846,12 @@ edges | simple.cpp:21:19:21:19 | b | simple.cpp:21:24:21:29 | ... = ... | provenance | | | simple.cpp:21:24:21:25 | *this [post update] [b_] | simple.cpp:21:10:21:13 | *this [Return] [b_] | provenance | | | simple.cpp:21:24:21:29 | ... = ... | simple.cpp:21:24:21:25 | *this [post update] [b_] | provenance | | -| simple.cpp:26:15:26:15 | *f [a_] | simple.cpp:28:10:28:10 | *f [a_] | provenance | | -| simple.cpp:26:15:26:15 | *f [b_] | simple.cpp:29:10:29:10 | *f [b_] | provenance | | -| simple.cpp:28:10:28:10 | *f [a_] | simple.cpp:18:9:18:9 | *this [a_] | provenance | | -| simple.cpp:28:10:28:10 | *f [a_] | simple.cpp:28:12:28:12 | call to a | provenance | | -| simple.cpp:29:10:29:10 | *f [b_] | simple.cpp:19:9:19:9 | *this [b_] | provenance | | -| simple.cpp:29:10:29:10 | *f [b_] | simple.cpp:29:12:29:12 | call to b | provenance | | +| simple.cpp:26:15:26:15 | *f [a_] | simple.cpp:28:10:28:10 | f [a_] | provenance | | +| simple.cpp:26:15:26:15 | *f [b_] | simple.cpp:29:10:29:10 | f [b_] | provenance | | +| simple.cpp:28:10:28:10 | f [a_] | simple.cpp:18:9:18:9 | *this [a_] | provenance | | +| simple.cpp:28:10:28:10 | f [a_] | simple.cpp:28:12:28:12 | call to a | provenance | | +| simple.cpp:29:10:29:10 | f [b_] | simple.cpp:19:9:19:9 | *this [b_] | provenance | | +| simple.cpp:29:10:29:10 | f [b_] | simple.cpp:29:12:29:12 | call to b | provenance | | | simple.cpp:39:5:39:5 | setA output argument [a_] | simple.cpp:45:9:45:9 | *f [a_] | provenance | | | simple.cpp:39:12:39:21 | call to user_input | simple.cpp:20:19:20:19 | a | provenance | | | simple.cpp:39:12:39:21 | call to user_input | simple.cpp:39:5:39:5 | setA output argument [a_] | provenance | | @@ -1437,15 +1437,15 @@ nodes | by_reference.cpp:44:26:44:29 | *this [a] | semmle.label | *this [a] | | by_reference.cpp:50:3:50:3 | setDirectly output argument [a] | semmle.label | setDirectly output argument [a] | | by_reference.cpp:50:17:50:26 | call to user_input | semmle.label | call to user_input | -| by_reference.cpp:51:8:51:8 | *s [a] | semmle.label | *s [a] | +| by_reference.cpp:51:8:51:8 | s [a] | semmle.label | s [a] | | by_reference.cpp:51:10:51:20 | call to getDirectly | semmle.label | call to getDirectly | | by_reference.cpp:56:3:56:3 | setIndirectly output argument [a] | semmle.label | setIndirectly output argument [a] | | by_reference.cpp:56:19:56:28 | call to user_input | semmle.label | call to user_input | -| by_reference.cpp:57:8:57:8 | *s [a] | semmle.label | *s [a] | +| by_reference.cpp:57:8:57:8 | s [a] | semmle.label | s [a] | | by_reference.cpp:57:10:57:22 | call to getIndirectly | semmle.label | call to getIndirectly | | by_reference.cpp:62:3:62:3 | setThroughNonMember output argument [a] | semmle.label | setThroughNonMember output argument [a] | | by_reference.cpp:62:25:62:34 | call to user_input | semmle.label | call to user_input | -| by_reference.cpp:63:8:63:8 | *s [a] | semmle.label | *s [a] | +| by_reference.cpp:63:8:63:8 | s [a] | semmle.label | s [a] | | by_reference.cpp:63:10:63:28 | call to getThroughNonMember | semmle.label | call to getThroughNonMember | | by_reference.cpp:68:17:68:18 | nonMemberSetA output argument [a] | semmle.label | nonMemberSetA output argument [a] | | by_reference.cpp:68:21:68:30 | call to user_input | semmle.label | call to user_input | @@ -1634,11 +1634,11 @@ nodes | complex.cpp:40:17:40:17 | *b [inner, f, b_] | semmle.label | *b [inner, f, b_] | | complex.cpp:42:8:42:8 | *b [inner, f, a_] | semmle.label | *b [inner, f, a_] | | complex.cpp:42:10:42:14 | *inner [f, a_] | semmle.label | *inner [f, a_] | -| complex.cpp:42:16:42:16 | *f [a_] | semmle.label | *f [a_] | +| complex.cpp:42:16:42:16 | f [a_] | semmle.label | f [a_] | | complex.cpp:42:18:42:18 | call to a | semmle.label | call to a | | complex.cpp:43:8:43:8 | *b [inner, f, b_] | semmle.label | *b [inner, f, b_] | | complex.cpp:43:10:43:14 | *inner [f, b_] | semmle.label | *inner [f, b_] | -| complex.cpp:43:16:43:16 | *f [b_] | semmle.label | *f [b_] | +| complex.cpp:43:16:43:16 | f [b_] | semmle.label | f [b_] | | complex.cpp:43:18:43:18 | call to b | semmle.label | call to b | | complex.cpp:53:3:53:4 | *b1 [post update] [inner, f, a_] | semmle.label | *b1 [post update] [inner, f, a_] | | complex.cpp:53:6:53:10 | *inner [post update] [f, a_] | semmle.label | *inner [post update] [f, a_] | @@ -1711,9 +1711,9 @@ nodes | constructors.cpp:23:35:23:35 | b | semmle.label | b | | constructors.cpp:26:15:26:15 | *f [a_] | semmle.label | *f [a_] | | constructors.cpp:26:15:26:15 | *f [b_] | semmle.label | *f [b_] | -| constructors.cpp:28:10:28:10 | *f [a_] | semmle.label | *f [a_] | +| constructors.cpp:28:10:28:10 | f [a_] | semmle.label | f [a_] | | constructors.cpp:28:12:28:12 | call to a | semmle.label | call to a | -| constructors.cpp:29:10:29:10 | *f [b_] | semmle.label | *f [b_] | +| constructors.cpp:29:10:29:10 | f [b_] | semmle.label | f [b_] | | constructors.cpp:29:12:29:12 | call to b | semmle.label | call to b | | constructors.cpp:34:9:34:9 | call to Foo [a_] | semmle.label | call to Foo [a_] | | constructors.cpp:34:11:34:20 | call to user_input | semmle.label | call to user_input | @@ -1811,9 +1811,9 @@ nodes | simple.cpp:21:24:21:29 | ... = ... | semmle.label | ... = ... | | simple.cpp:26:15:26:15 | *f [a_] | semmle.label | *f [a_] | | simple.cpp:26:15:26:15 | *f [b_] | semmle.label | *f [b_] | -| simple.cpp:28:10:28:10 | *f [a_] | semmle.label | *f [a_] | +| simple.cpp:28:10:28:10 | f [a_] | semmle.label | f [a_] | | simple.cpp:28:12:28:12 | call to a | semmle.label | call to a | -| simple.cpp:29:10:29:10 | *f [b_] | semmle.label | *f [b_] | +| simple.cpp:29:10:29:10 | f [b_] | semmle.label | f [b_] | | simple.cpp:29:12:29:12 | call to b | semmle.label | call to b | | simple.cpp:39:5:39:5 | setA output argument [a_] | semmle.label | setA output argument [a_] | | simple.cpp:39:12:39:21 | call to user_input | semmle.label | call to user_input | @@ -1929,22 +1929,22 @@ subpaths | by_reference.cpp:40:12:40:15 | *this [a] | by_reference.cpp:35:9:35:19 | *this [a] | by_reference.cpp:35:9:35:19 | *getDirectly | by_reference.cpp:40:18:40:28 | call to getDirectly | | by_reference.cpp:44:26:44:29 | *this [a] | by_reference.cpp:31:46:31:46 | *s [a] | by_reference.cpp:31:16:31:28 | *nonMemberGetA | by_reference.cpp:44:12:44:24 | call to nonMemberGetA | | by_reference.cpp:50:17:50:26 | call to user_input | by_reference.cpp:15:26:15:30 | value | by_reference.cpp:15:8:15:18 | *this [Return] [a] | by_reference.cpp:50:3:50:3 | setDirectly output argument [a] | -| by_reference.cpp:51:8:51:8 | *s [a] | by_reference.cpp:35:9:35:19 | *this [a] | by_reference.cpp:35:9:35:19 | *getDirectly | by_reference.cpp:51:10:51:20 | call to getDirectly | +| by_reference.cpp:51:8:51:8 | s [a] | by_reference.cpp:35:9:35:19 | *this [a] | by_reference.cpp:35:9:35:19 | *getDirectly | by_reference.cpp:51:10:51:20 | call to getDirectly | | by_reference.cpp:56:19:56:28 | call to user_input | by_reference.cpp:19:28:19:32 | value | by_reference.cpp:19:8:19:20 | *this [Return] [a] | by_reference.cpp:56:3:56:3 | setIndirectly output argument [a] | -| by_reference.cpp:57:8:57:8 | *s [a] | by_reference.cpp:39:9:39:21 | *this [a] | by_reference.cpp:39:9:39:21 | *getIndirectly | by_reference.cpp:57:10:57:22 | call to getIndirectly | +| by_reference.cpp:57:8:57:8 | s [a] | by_reference.cpp:39:9:39:21 | *this [a] | by_reference.cpp:39:9:39:21 | *getIndirectly | by_reference.cpp:57:10:57:22 | call to getIndirectly | | by_reference.cpp:62:25:62:34 | call to user_input | by_reference.cpp:23:34:23:38 | value | by_reference.cpp:23:8:23:26 | *this [Return] [a] | by_reference.cpp:62:3:62:3 | setThroughNonMember output argument [a] | -| by_reference.cpp:63:8:63:8 | *s [a] | by_reference.cpp:43:9:43:27 | *this [a] | by_reference.cpp:43:9:43:27 | *getThroughNonMember | by_reference.cpp:63:10:63:28 | call to getThroughNonMember | +| by_reference.cpp:63:8:63:8 | s [a] | by_reference.cpp:43:9:43:27 | *this [a] | by_reference.cpp:43:9:43:27 | *getThroughNonMember | by_reference.cpp:63:10:63:28 | call to getThroughNonMember | | by_reference.cpp:68:21:68:30 | call to user_input | by_reference.cpp:11:48:11:52 | value | by_reference.cpp:11:39:11:39 | *s [Return] [a] | by_reference.cpp:68:17:68:18 | nonMemberSetA output argument [a] | | by_reference.cpp:68:21:68:30 | call to user_input | by_reference.cpp:11:48:11:52 | value | by_reference.cpp:11:39:11:39 | *s [a] | by_reference.cpp:68:17:68:18 | nonMemberSetA output argument [a] | | by_reference.cpp:69:22:69:23 | *& ... [a] | by_reference.cpp:31:46:31:46 | *s [a] | by_reference.cpp:31:16:31:28 | *nonMemberGetA | by_reference.cpp:69:8:69:20 | call to nonMemberGetA | -| complex.cpp:42:16:42:16 | *f [a_] | complex.cpp:9:7:9:7 | *this [a_] | complex.cpp:9:7:9:7 | *a | complex.cpp:42:18:42:18 | call to a | -| complex.cpp:43:16:43:16 | *f [b_] | complex.cpp:10:7:10:7 | *this [b_] | complex.cpp:10:7:10:7 | *b | complex.cpp:43:18:43:18 | call to b | +| complex.cpp:42:16:42:16 | f [a_] | complex.cpp:9:7:9:7 | *this [a_] | complex.cpp:9:7:9:7 | *a | complex.cpp:42:18:42:18 | call to a | +| complex.cpp:43:16:43:16 | f [b_] | complex.cpp:10:7:10:7 | *this [b_] | complex.cpp:10:7:10:7 | *b | complex.cpp:43:18:43:18 | call to b | | complex.cpp:53:19:53:28 | call to user_input | complex.cpp:11:17:11:17 | a | complex.cpp:11:8:11:11 | *this [Return] [a_] | complex.cpp:53:12:53:12 | setA output argument [a_] | | complex.cpp:54:19:54:28 | call to user_input | complex.cpp:12:17:12:17 | b | complex.cpp:12:8:12:11 | *this [Return] [b_] | complex.cpp:54:12:54:12 | setB output argument [b_] | | complex.cpp:55:19:55:28 | call to user_input | complex.cpp:11:17:11:17 | a | complex.cpp:11:8:11:11 | *this [Return] [a_] | complex.cpp:55:12:55:12 | setA output argument [a_] | | complex.cpp:56:19:56:28 | call to user_input | complex.cpp:12:17:12:17 | b | complex.cpp:12:8:12:11 | *this [Return] [b_] | complex.cpp:56:12:56:12 | setB output argument [b_] | -| constructors.cpp:28:10:28:10 | *f [a_] | constructors.cpp:18:9:18:9 | *this [a_] | constructors.cpp:18:9:18:9 | *a | constructors.cpp:28:12:28:12 | call to a | -| constructors.cpp:29:10:29:10 | *f [b_] | constructors.cpp:19:9:19:9 | *this [b_] | constructors.cpp:19:9:19:9 | *b | constructors.cpp:29:12:29:12 | call to b | +| constructors.cpp:28:10:28:10 | f [a_] | constructors.cpp:18:9:18:9 | *this [a_] | constructors.cpp:18:9:18:9 | *a | constructors.cpp:28:12:28:12 | call to a | +| constructors.cpp:29:10:29:10 | f [b_] | constructors.cpp:19:9:19:9 | *this [b_] | constructors.cpp:19:9:19:9 | *b | constructors.cpp:29:12:29:12 | call to b | | constructors.cpp:34:11:34:20 | call to user_input | constructors.cpp:23:13:23:13 | a | constructors.cpp:23:5:23:7 | *this [Return] [a_] | constructors.cpp:34:9:34:9 | call to Foo [a_] | | constructors.cpp:35:14:35:23 | call to user_input | constructors.cpp:23:20:23:20 | b | constructors.cpp:23:5:23:7 | *this [Return] [b_] | constructors.cpp:35:9:35:9 | call to Foo [b_] | | constructors.cpp:36:11:36:20 | call to user_input | constructors.cpp:23:13:23:13 | a | constructors.cpp:23:5:23:7 | *this [Return] [a_] | constructors.cpp:36:9:36:9 | call to Foo [a_] | @@ -1954,8 +1954,8 @@ subpaths | qualifiers.cpp:32:35:32:44 | call to user_input | qualifiers.cpp:12:40:12:44 | value | qualifiers.cpp:12:27:12:31 | *inner [a] | qualifiers.cpp:32:23:32:30 | pointerSetA output argument [a] | | qualifiers.cpp:37:38:37:47 | call to user_input | qualifiers.cpp:13:42:13:46 | value | qualifiers.cpp:13:29:13:33 | *inner [Return] [a] | qualifiers.cpp:37:19:37:35 | referenceSetA output argument [a] | | qualifiers.cpp:37:38:37:47 | call to user_input | qualifiers.cpp:13:42:13:46 | value | qualifiers.cpp:13:29:13:33 | *inner [a] | qualifiers.cpp:37:19:37:35 | referenceSetA output argument [a] | -| simple.cpp:28:10:28:10 | *f [a_] | simple.cpp:18:9:18:9 | *this [a_] | simple.cpp:18:9:18:9 | *a | simple.cpp:28:12:28:12 | call to a | -| simple.cpp:29:10:29:10 | *f [b_] | simple.cpp:19:9:19:9 | *this [b_] | simple.cpp:19:9:19:9 | *b | simple.cpp:29:12:29:12 | call to b | +| simple.cpp:28:10:28:10 | f [a_] | simple.cpp:18:9:18:9 | *this [a_] | simple.cpp:18:9:18:9 | *a | simple.cpp:28:12:28:12 | call to a | +| simple.cpp:29:10:29:10 | f [b_] | simple.cpp:19:9:19:9 | *this [b_] | simple.cpp:19:9:19:9 | *b | simple.cpp:29:12:29:12 | call to b | | simple.cpp:39:12:39:21 | call to user_input | simple.cpp:20:19:20:19 | a | simple.cpp:20:10:20:13 | *this [Return] [a_] | simple.cpp:39:5:39:5 | setA output argument [a_] | | simple.cpp:40:12:40:21 | call to user_input | simple.cpp:21:19:21:19 | b | simple.cpp:21:10:21:13 | *this [Return] [b_] | simple.cpp:40:5:40:5 | setB output argument [b_] | | simple.cpp:41:12:41:21 | call to user_input | simple.cpp:20:19:20:19 | a | simple.cpp:20:10:20:13 | *this [Return] [a_] | simple.cpp:41:5:41:5 | setA output argument [a_] | diff --git a/cpp/ql/test/library-tests/dataflow/taint-tests/localTaint.expected b/cpp/ql/test/library-tests/dataflow/taint-tests/localTaint.expected index d4d961a3a048..3ad73bce3115 100644 --- a/cpp/ql/test/library-tests/dataflow/taint-tests/localTaint.expected +++ b/cpp/ql/test/library-tests/dataflow/taint-tests/localTaint.expected @@ -1809,109 +1809,84 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | format.cpp:169:30:169:30 | s | format.cpp:171:60:171:60 | s | | | format.cpp:170:11:170:16 | call to source | format.cpp:171:63:171:63 | x | | | format.cpp:171:11:171:58 | call to same_signature_as_format_but_different_name | format.cpp:172:8:172:8 | y | | -| map.cpp:21:28:21:28 | call to pair | map.cpp:23:2:23:2 | a | | -| map.cpp:21:28:21:28 | call to pair | map.cpp:24:7:24:7 | a | | -| map.cpp:21:28:21:28 | call to pair | map.cpp:25:7:25:7 | a | | -| map.cpp:21:28:21:28 | call to pair | map.cpp:26:7:26:7 | a | | -| map.cpp:21:31:21:31 | call to pair | map.cpp:28:2:28:2 | b | | -| map.cpp:21:31:21:31 | call to pair | map.cpp:29:7:29:7 | b | | -| map.cpp:21:31:21:31 | call to pair | map.cpp:30:7:30:7 | b | | -| map.cpp:21:31:21:31 | call to pair | map.cpp:31:7:31:7 | b | | -| map.cpp:21:34:21:34 | call to pair | map.cpp:33:2:33:2 | c | | -| map.cpp:21:34:21:34 | call to pair | map.cpp:34:7:34:7 | c | | -| map.cpp:21:34:21:34 | call to pair | map.cpp:35:7:35:7 | c | | -| map.cpp:21:34:21:34 | call to pair | map.cpp:36:7:36:7 | c | | +| map.cpp:21:40:21:40 | call to pair | map.cpp:23:2:23:2 | a | | +| map.cpp:21:40:21:40 | call to pair | map.cpp:24:7:24:7 | a | | +| map.cpp:21:40:21:40 | call to pair | map.cpp:25:7:25:7 | a | | +| map.cpp:21:40:21:40 | call to pair | map.cpp:26:7:26:7 | a | | +| map.cpp:21:43:21:43 | call to pair | map.cpp:28:2:28:2 | b | | +| map.cpp:21:43:21:43 | call to pair | map.cpp:29:7:29:7 | b | | +| map.cpp:21:43:21:43 | call to pair | map.cpp:30:7:30:7 | b | | +| map.cpp:21:43:21:43 | call to pair | map.cpp:31:7:31:7 | b | | +| map.cpp:21:46:21:46 | call to pair | map.cpp:33:2:33:2 | c | | +| map.cpp:21:46:21:46 | call to pair | map.cpp:34:7:34:7 | c | | +| map.cpp:21:46:21:46 | call to pair | map.cpp:35:7:35:7 | c | | +| map.cpp:21:46:21:46 | call to pair | map.cpp:36:7:36:7 | c | | | map.cpp:23:2:23:2 | a [post update] | map.cpp:24:7:24:7 | a | | | map.cpp:23:2:23:2 | a [post update] | map.cpp:25:7:25:7 | a | | | map.cpp:23:2:23:2 | a [post update] | map.cpp:26:7:26:7 | a | | | map.cpp:23:2:23:16 | ... = ... | map.cpp:23:4:23:8 | first [post update] | | | map.cpp:23:2:23:16 | ... = ... | map.cpp:24:9:24:13 | first | | | map.cpp:23:12:23:16 | 123 | map.cpp:23:2:23:16 | ... = ... | | -| map.cpp:24:7:24:7 | a [post update] | map.cpp:25:7:25:7 | a | | -| map.cpp:24:7:24:7 | a [post update] | map.cpp:26:7:26:7 | a | | -| map.cpp:25:7:25:7 | a [post update] | map.cpp:26:7:26:7 | a | | +| map.cpp:26:7:26:7 | a | map.cpp:26:7:26:7 | call to pair | | | map.cpp:28:2:28:2 | b [post update] | map.cpp:29:7:29:7 | b | | | map.cpp:28:2:28:2 | b [post update] | map.cpp:30:7:30:7 | b | | | map.cpp:28:2:28:2 | b [post update] | map.cpp:31:7:31:7 | b | | | map.cpp:28:2:28:19 | ... = ... | map.cpp:28:4:28:8 | first [post update] | | | map.cpp:28:2:28:19 | ... = ... | map.cpp:29:9:29:13 | first | | | map.cpp:28:12:28:17 | call to source | map.cpp:28:2:28:19 | ... = ... | | -| map.cpp:29:7:29:7 | b [post update] | map.cpp:30:7:30:7 | b | | -| map.cpp:29:7:29:7 | b [post update] | map.cpp:31:7:31:7 | b | | -| map.cpp:30:7:30:7 | b [post update] | map.cpp:31:7:31:7 | b | | +| map.cpp:31:7:31:7 | b | map.cpp:31:7:31:7 | call to pair | | | map.cpp:33:2:33:2 | c [post update] | map.cpp:34:7:34:7 | c | | | map.cpp:33:2:33:2 | c [post update] | map.cpp:35:7:35:7 | c | | | map.cpp:33:2:33:2 | c [post update] | map.cpp:36:7:36:7 | c | | | map.cpp:33:2:33:20 | ... = ... | map.cpp:33:4:33:9 | second [post update] | | | map.cpp:33:2:33:20 | ... = ... | map.cpp:35:9:35:14 | second | | | map.cpp:33:13:33:18 | call to source | map.cpp:33:2:33:20 | ... = ... | | -| map.cpp:34:7:34:7 | c [post update] | map.cpp:35:7:35:7 | c | | -| map.cpp:34:7:34:7 | c [post update] | map.cpp:36:7:36:7 | c | | -| map.cpp:35:7:35:7 | c [post update] | map.cpp:36:7:36:7 | c | | -| map.cpp:38:30:38:42 | call to pair | map.cpp:39:7:39:7 | d | | -| map.cpp:38:30:38:42 | call to pair | map.cpp:40:7:40:7 | d | | -| map.cpp:38:30:38:42 | call to pair | map.cpp:41:7:41:7 | d | | -| map.cpp:38:37:38:41 | 456 | map.cpp:38:30:38:42 | call to pair | TAINT | -| map.cpp:39:7:39:7 | d [post update] | map.cpp:40:7:40:7 | d | | -| map.cpp:39:7:39:7 | d [post update] | map.cpp:41:7:41:7 | d | | -| map.cpp:40:7:40:7 | d [post update] | map.cpp:41:7:41:7 | d | | -| map.cpp:43:30:43:45 | call to pair | map.cpp:44:7:44:7 | e | | -| map.cpp:43:30:43:45 | call to pair | map.cpp:45:7:45:7 | e | | -| map.cpp:43:30:43:45 | call to pair | map.cpp:46:7:46:7 | e | | -| map.cpp:43:40:43:44 | 456 | map.cpp:43:30:43:45 | call to pair | TAINT | -| map.cpp:44:7:44:7 | e [post update] | map.cpp:45:7:45:7 | e | | -| map.cpp:44:7:44:7 | e [post update] | map.cpp:46:7:46:7 | e | | -| map.cpp:45:7:45:7 | e [post update] | map.cpp:46:7:46:7 | e | | -| map.cpp:48:30:48:45 | call to pair | map.cpp:49:7:49:7 | f | | -| map.cpp:48:30:48:45 | call to pair | map.cpp:50:7:50:7 | f | | -| map.cpp:48:30:48:45 | call to pair | map.cpp:51:7:51:7 | f | | -| map.cpp:48:30:48:45 | call to pair | map.cpp:53:30:53:30 | f | | -| map.cpp:48:30:48:45 | call to pair | map.cpp:59:6:59:6 | f | | -| map.cpp:48:37:48:42 | call to source | map.cpp:48:30:48:45 | call to pair | TAINT | -| map.cpp:49:7:49:7 | f [post update] | map.cpp:50:7:50:7 | f | | -| map.cpp:49:7:49:7 | f [post update] | map.cpp:51:7:51:7 | f | | -| map.cpp:49:7:49:7 | f [post update] | map.cpp:53:30:53:30 | f | | -| map.cpp:49:7:49:7 | f [post update] | map.cpp:59:6:59:6 | f | | -| map.cpp:49:9:49:13 | ref arg first | map.cpp:54:9:54:13 | first | | -| map.cpp:49:9:49:13 | ref arg first | map.cpp:60:9:60:13 | first | | -| map.cpp:50:7:50:7 | f [post update] | map.cpp:51:7:51:7 | f | | -| map.cpp:50:7:50:7 | f [post update] | map.cpp:53:30:53:30 | f | | -| map.cpp:50:7:50:7 | f [post update] | map.cpp:59:6:59:6 | f | | -| map.cpp:50:9:50:14 | ref arg second | map.cpp:55:9:55:14 | second | | -| map.cpp:50:9:50:14 | ref arg second | map.cpp:61:9:61:14 | second | | -| map.cpp:53:30:53:30 | f | map.cpp:54:7:54:7 | g | | -| map.cpp:53:30:53:30 | f | map.cpp:55:7:55:7 | g | | -| map.cpp:53:30:53:30 | f | map.cpp:56:7:56:7 | g | | -| map.cpp:54:7:54:7 | g [post update] | map.cpp:55:7:55:7 | g | | -| map.cpp:54:7:54:7 | g [post update] | map.cpp:56:7:56:7 | g | | -| map.cpp:55:7:55:7 | g [post update] | map.cpp:56:7:56:7 | g | | -| map.cpp:59:6:59:6 | f | map.cpp:59:2:59:6 | ... = ... | | -| map.cpp:59:6:59:6 | f | map.cpp:60:7:60:7 | h | | -| map.cpp:59:6:59:6 | f | map.cpp:61:7:61:7 | h | | -| map.cpp:59:6:59:6 | f | map.cpp:62:7:62:7 | h | | -| map.cpp:60:7:60:7 | h [post update] | map.cpp:61:7:61:7 | h | | -| map.cpp:60:7:60:7 | h [post update] | map.cpp:62:7:62:7 | h | | -| map.cpp:61:7:61:7 | h [post update] | map.cpp:62:7:62:7 | h | | -| map.cpp:64:30:64:42 | call to pair | map.cpp:68:3:68:3 | i | | -| map.cpp:64:30:64:42 | call to pair | map.cpp:70:7:70:7 | i | | -| map.cpp:64:30:64:42 | call to pair | map.cpp:71:7:71:7 | i | | -| map.cpp:64:30:64:42 | call to pair | map.cpp:72:7:72:7 | i | | -| map.cpp:64:37:64:41 | 456 | map.cpp:64:30:64:42 | call to pair | TAINT | -| map.cpp:65:30:65:45 | call to pair | map.cpp:68:10:68:10 | j | | -| map.cpp:65:30:65:45 | call to pair | map.cpp:73:7:73:7 | j | | -| map.cpp:65:30:65:45 | call to pair | map.cpp:74:7:74:7 | j | | -| map.cpp:65:30:65:45 | call to pair | map.cpp:75:7:75:7 | j | | -| map.cpp:65:37:65:42 | call to source | map.cpp:65:30:65:45 | call to pair | TAINT | -| map.cpp:66:30:66:45 | call to pair | map.cpp:69:2:69:2 | k | | -| map.cpp:66:30:66:45 | call to pair | map.cpp:76:7:76:7 | k | | -| map.cpp:66:30:66:45 | call to pair | map.cpp:77:7:77:7 | k | | -| map.cpp:66:30:66:45 | call to pair | map.cpp:78:7:78:7 | k | | -| map.cpp:66:37:66:42 | call to source | map.cpp:66:30:66:45 | call to pair | TAINT | -| map.cpp:67:30:67:42 | call to pair | map.cpp:69:9:69:9 | l | | -| map.cpp:67:30:67:42 | call to pair | map.cpp:79:7:79:7 | l | | -| map.cpp:67:30:67:42 | call to pair | map.cpp:80:7:80:7 | l | | -| map.cpp:67:30:67:42 | call to pair | map.cpp:81:7:81:7 | l | | -| map.cpp:67:37:67:41 | 456 | map.cpp:67:30:67:42 | call to pair | TAINT | +| map.cpp:36:7:36:7 | c | map.cpp:36:7:36:7 | call to pair | | +| map.cpp:38:42:38:54 | call to pair | map.cpp:39:7:39:7 | d | | +| map.cpp:38:42:38:54 | call to pair | map.cpp:40:7:40:7 | d | | +| map.cpp:38:42:38:54 | call to pair | map.cpp:41:7:41:7 | d | | +| map.cpp:41:7:41:7 | d | map.cpp:41:7:41:7 | call to pair | | +| map.cpp:43:42:43:57 | call to pair | map.cpp:44:7:44:7 | e | | +| map.cpp:43:42:43:57 | call to pair | map.cpp:45:7:45:7 | e | | +| map.cpp:43:42:43:57 | call to pair | map.cpp:46:7:46:7 | e | | +| map.cpp:46:7:46:7 | e | map.cpp:46:7:46:7 | call to pair | | +| map.cpp:48:42:48:57 | call to pair | map.cpp:49:7:49:7 | f | | +| map.cpp:48:42:48:57 | call to pair | map.cpp:50:7:50:7 | f | | +| map.cpp:48:42:48:57 | call to pair | map.cpp:51:7:51:7 | f | | +| map.cpp:48:42:48:57 | call to pair | map.cpp:53:42:53:42 | f | | +| map.cpp:48:42:48:57 | call to pair | map.cpp:59:6:59:6 | f | | +| map.cpp:51:7:51:7 | f | map.cpp:51:7:51:7 | call to pair | | +| map.cpp:53:42:53:42 | f | map.cpp:53:42:53:43 | call to pair | | +| map.cpp:53:42:53:43 | call to pair | map.cpp:54:7:54:7 | g | | +| map.cpp:53:42:53:43 | call to pair | map.cpp:55:7:55:7 | g | | +| map.cpp:53:42:53:43 | call to pair | map.cpp:56:7:56:7 | g | | +| map.cpp:56:7:56:7 | g | map.cpp:56:7:56:7 | call to pair | | +| map.cpp:58:40:58:40 | call to pair | map.cpp:59:2:59:2 | h | | +| map.cpp:58:40:58:40 | call to pair | map.cpp:60:7:60:7 | h | | +| map.cpp:58:40:58:40 | call to pair | map.cpp:61:7:61:7 | h | | +| map.cpp:58:40:58:40 | call to pair | map.cpp:62:7:62:7 | h | | +| map.cpp:59:2:59:2 | ref arg h | map.cpp:60:7:60:7 | h | | +| map.cpp:59:2:59:2 | ref arg h | map.cpp:61:7:61:7 | h | | +| map.cpp:59:2:59:2 | ref arg h | map.cpp:62:7:62:7 | h | | +| map.cpp:59:6:59:6 | f | map.cpp:59:2:59:2 | ref arg h | TAINT | +| map.cpp:59:6:59:6 | f | map.cpp:59:4:59:4 | call to operator= | TAINT | +| map.cpp:62:7:62:7 | h | map.cpp:62:7:62:7 | call to pair | | +| map.cpp:64:42:64:54 | call to pair | map.cpp:68:3:68:3 | i | | +| map.cpp:64:42:64:54 | call to pair | map.cpp:70:7:70:7 | i | | +| map.cpp:64:42:64:54 | call to pair | map.cpp:71:7:71:7 | i | | +| map.cpp:64:42:64:54 | call to pair | map.cpp:72:7:72:7 | i | | +| map.cpp:65:42:65:57 | call to pair | map.cpp:68:10:68:10 | j | | +| map.cpp:65:42:65:57 | call to pair | map.cpp:73:7:73:7 | j | | +| map.cpp:65:42:65:57 | call to pair | map.cpp:74:7:74:7 | j | | +| map.cpp:65:42:65:57 | call to pair | map.cpp:75:7:75:7 | j | | +| map.cpp:66:42:66:57 | call to pair | map.cpp:69:2:69:2 | k | | +| map.cpp:66:42:66:57 | call to pair | map.cpp:76:7:76:7 | k | | +| map.cpp:66:42:66:57 | call to pair | map.cpp:77:7:77:7 | k | | +| map.cpp:66:42:66:57 | call to pair | map.cpp:78:7:78:7 | k | | +| map.cpp:67:42:67:54 | call to pair | map.cpp:69:9:69:9 | l | | +| map.cpp:67:42:67:54 | call to pair | map.cpp:79:7:79:7 | l | | +| map.cpp:67:42:67:54 | call to pair | map.cpp:80:7:80:7 | l | | +| map.cpp:67:42:67:54 | call to pair | map.cpp:81:7:81:7 | l | | | map.cpp:68:3:68:3 | ref arg i | map.cpp:70:7:70:7 | i | | | map.cpp:68:3:68:3 | ref arg i | map.cpp:71:7:71:7 | i | | | map.cpp:68:3:68:3 | ref arg i | map.cpp:72:7:72:7 | i | | @@ -1924,95 +1899,86 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | map.cpp:69:9:69:9 | ref arg l | map.cpp:79:7:79:7 | l | | | map.cpp:69:9:69:9 | ref arg l | map.cpp:80:7:80:7 | l | | | map.cpp:69:9:69:9 | ref arg l | map.cpp:81:7:81:7 | l | | -| map.cpp:70:7:70:7 | i [post update] | map.cpp:71:7:71:7 | i | | -| map.cpp:70:7:70:7 | i [post update] | map.cpp:72:7:72:7 | i | | -| map.cpp:71:7:71:7 | i [post update] | map.cpp:72:7:72:7 | i | | -| map.cpp:73:7:73:7 | j [post update] | map.cpp:74:7:74:7 | j | | -| map.cpp:73:7:73:7 | j [post update] | map.cpp:75:7:75:7 | j | | -| map.cpp:74:7:74:7 | j [post update] | map.cpp:75:7:75:7 | j | | -| map.cpp:76:7:76:7 | k [post update] | map.cpp:77:7:77:7 | k | | -| map.cpp:76:7:76:7 | k [post update] | map.cpp:78:7:78:7 | k | | -| map.cpp:77:7:77:7 | k [post update] | map.cpp:78:7:78:7 | k | | -| map.cpp:79:7:79:7 | l [post update] | map.cpp:80:7:80:7 | l | | -| map.cpp:79:7:79:7 | l [post update] | map.cpp:81:7:81:7 | l | | -| map.cpp:80:7:80:7 | l [post update] | map.cpp:81:7:81:7 | l | | -| map.cpp:83:7:83:15 | call to make_pair | map.cpp:83:7:83:29 | call to pair | TAINT | +| map.cpp:72:7:72:7 | i | map.cpp:72:7:72:7 | call to pair | | +| map.cpp:75:7:75:7 | j | map.cpp:75:7:75:7 | call to pair | | +| map.cpp:78:7:78:7 | k | map.cpp:78:7:78:7 | call to pair | | +| map.cpp:81:7:81:7 | l | map.cpp:81:7:81:7 | call to pair | | | map.cpp:86:7:86:15 | call to make_pair | map.cpp:86:7:86:32 | call to pair | TAINT | | map.cpp:89:7:89:15 | call to make_pair | map.cpp:89:7:89:32 | call to pair | TAINT | +| map.cpp:93:65:93:65 | call to pair | map.cpp:94:2:94:2 | m | | +| map.cpp:93:65:93:65 | call to pair | map.cpp:95:7:95:7 | m | | +| map.cpp:93:65:93:65 | call to pair | map.cpp:96:7:96:7 | m | | +| map.cpp:93:65:93:65 | call to pair | map.cpp:97:7:97:7 | m | | +| map.cpp:93:65:93:65 | call to pair | map.cpp:98:7:98:7 | m | | +| map.cpp:93:65:93:65 | call to pair | map.cpp:99:7:99:7 | m | | +| map.cpp:94:2:94:2 | ref arg m | map.cpp:95:7:95:7 | m | | +| map.cpp:94:2:94:2 | ref arg m | map.cpp:96:7:96:7 | m | | +| map.cpp:94:2:94:2 | ref arg m | map.cpp:97:7:97:7 | m | | +| map.cpp:94:2:94:2 | ref arg m | map.cpp:98:7:98:7 | m | | +| map.cpp:94:2:94:2 | ref arg m | map.cpp:99:7:99:7 | m | | | map.cpp:94:6:94:14 | call to make_pair | map.cpp:94:6:94:49 | call to pair | TAINT | -| map.cpp:94:6:94:49 | call to pair | map.cpp:94:2:94:49 | ... = ... | | -| map.cpp:94:6:94:49 | call to pair | map.cpp:95:7:95:7 | m | | -| map.cpp:94:6:94:49 | call to pair | map.cpp:96:7:96:7 | m | | -| map.cpp:94:6:94:49 | call to pair | map.cpp:97:7:97:7 | m | | -| map.cpp:94:6:94:49 | call to pair | map.cpp:98:7:98:7 | m | | -| map.cpp:94:6:94:49 | call to pair | map.cpp:99:7:99:7 | m | | +| map.cpp:94:6:94:49 | call to pair | map.cpp:94:2:94:2 | ref arg m | TAINT | +| map.cpp:94:6:94:49 | call to pair | map.cpp:94:4:94:4 | call to operator= | TAINT | | map.cpp:95:7:95:7 | m | map.cpp:95:7:95:7 | call to pair | TAINT | -| map.cpp:97:7:97:7 | m [post update] | map.cpp:98:7:98:7 | m | | -| map.cpp:97:7:97:7 | m [post update] | map.cpp:99:7:99:7 | m | | -| map.cpp:98:7:98:7 | m [post update] | map.cpp:99:7:99:7 | m | | -| map.cpp:105:27:105:28 | call to map | map.cpp:107:7:107:8 | m1 | | -| map.cpp:105:27:105:28 | call to map | map.cpp:113:7:113:8 | m1 | | -| map.cpp:105:27:105:28 | call to map | map.cpp:119:7:119:8 | m1 | | -| map.cpp:105:27:105:28 | call to map | map.cpp:125:7:125:8 | m1 | | -| map.cpp:105:27:105:28 | call to map | map.cpp:146:12:146:13 | m1 | | -| map.cpp:105:27:105:28 | call to map | map.cpp:146:30:146:31 | m1 | | -| map.cpp:105:27:105:28 | call to map | map.cpp:252:1:252:1 | m1 | | -| map.cpp:105:31:105:32 | call to map | map.cpp:108:7:108:8 | m2 | | -| map.cpp:105:31:105:32 | call to map | map.cpp:114:7:114:8 | m2 | | -| map.cpp:105:31:105:32 | call to map | map.cpp:120:7:120:8 | m2 | | -| map.cpp:105:31:105:32 | call to map | map.cpp:126:7:126:8 | m2 | | -| map.cpp:105:31:105:32 | call to map | map.cpp:133:30:133:31 | m2 | | -| map.cpp:105:31:105:32 | call to map | map.cpp:134:32:134:33 | m2 | | -| map.cpp:105:31:105:32 | call to map | map.cpp:136:7:136:8 | m2 | | -| map.cpp:105:31:105:32 | call to map | map.cpp:152:12:152:13 | m2 | | -| map.cpp:105:31:105:32 | call to map | map.cpp:152:30:152:31 | m2 | | -| map.cpp:105:31:105:32 | call to map | map.cpp:252:1:252:1 | m2 | | -| map.cpp:105:35:105:36 | call to map | map.cpp:109:7:109:8 | m3 | | -| map.cpp:105:35:105:36 | call to map | map.cpp:115:7:115:8 | m3 | | -| map.cpp:105:35:105:36 | call to map | map.cpp:121:7:121:8 | m3 | | -| map.cpp:105:35:105:36 | call to map | map.cpp:127:7:127:8 | m3 | | -| map.cpp:105:35:105:36 | call to map | map.cpp:158:12:158:13 | m3 | | -| map.cpp:105:35:105:36 | call to map | map.cpp:158:30:158:31 | m3 | | -| map.cpp:105:35:105:36 | call to map | map.cpp:252:1:252:1 | m3 | | -| map.cpp:105:39:105:40 | call to map | map.cpp:110:7:110:8 | m4 | | -| map.cpp:105:39:105:40 | call to map | map.cpp:110:17:110:18 | m4 | | -| map.cpp:105:39:105:40 | call to map | map.cpp:116:7:116:8 | m4 | | -| map.cpp:105:39:105:40 | call to map | map.cpp:122:7:122:8 | m4 | | -| map.cpp:105:39:105:40 | call to map | map.cpp:128:7:128:8 | m4 | | -| map.cpp:105:39:105:40 | call to map | map.cpp:252:1:252:1 | m4 | | -| map.cpp:105:43:105:44 | call to map | map.cpp:111:7:111:8 | m5 | | -| map.cpp:105:43:105:44 | call to map | map.cpp:117:7:117:8 | m5 | | -| map.cpp:105:43:105:44 | call to map | map.cpp:123:7:123:8 | m5 | | -| map.cpp:105:43:105:44 | call to map | map.cpp:129:7:129:8 | m5 | | -| map.cpp:105:43:105:44 | call to map | map.cpp:252:1:252:1 | m5 | | -| map.cpp:105:47:105:48 | call to map | map.cpp:112:7:112:8 | m6 | | -| map.cpp:105:47:105:48 | call to map | map.cpp:112:27:112:28 | m6 | | -| map.cpp:105:47:105:48 | call to map | map.cpp:118:7:118:8 | m6 | | -| map.cpp:105:47:105:48 | call to map | map.cpp:124:7:124:8 | m6 | | -| map.cpp:105:47:105:48 | call to map | map.cpp:130:7:130:8 | m6 | | -| map.cpp:105:47:105:48 | call to map | map.cpp:252:1:252:1 | m6 | | +| map.cpp:96:7:96:7 | m | map.cpp:96:7:96:13 | call to pair | | +| map.cpp:96:9:96:13 | first | map.cpp:96:7:96:13 | call to pair | | +| map.cpp:105:39:105:40 | call to map | map.cpp:107:7:107:8 | m1 | | +| map.cpp:105:39:105:40 | call to map | map.cpp:113:7:113:8 | m1 | | +| map.cpp:105:39:105:40 | call to map | map.cpp:119:7:119:8 | m1 | | +| map.cpp:105:39:105:40 | call to map | map.cpp:125:7:125:8 | m1 | | +| map.cpp:105:39:105:40 | call to map | map.cpp:146:12:146:13 | m1 | | +| map.cpp:105:39:105:40 | call to map | map.cpp:146:30:146:31 | m1 | | +| map.cpp:105:39:105:40 | call to map | map.cpp:252:1:252:1 | m1 | | +| map.cpp:105:43:105:44 | call to map | map.cpp:108:7:108:8 | m2 | | +| map.cpp:105:43:105:44 | call to map | map.cpp:114:7:114:8 | m2 | | +| map.cpp:105:43:105:44 | call to map | map.cpp:120:7:120:8 | m2 | | +| map.cpp:105:43:105:44 | call to map | map.cpp:126:7:126:8 | m2 | | +| map.cpp:105:43:105:44 | call to map | map.cpp:133:42:133:43 | m2 | | +| map.cpp:105:43:105:44 | call to map | map.cpp:134:44:134:45 | m2 | | +| map.cpp:105:43:105:44 | call to map | map.cpp:136:7:136:8 | m2 | | +| map.cpp:105:43:105:44 | call to map | map.cpp:152:12:152:13 | m2 | | +| map.cpp:105:43:105:44 | call to map | map.cpp:152:30:152:31 | m2 | | +| map.cpp:105:43:105:44 | call to map | map.cpp:252:1:252:1 | m2 | | +| map.cpp:105:47:105:48 | call to map | map.cpp:109:7:109:8 | m3 | | +| map.cpp:105:47:105:48 | call to map | map.cpp:115:7:115:8 | m3 | | +| map.cpp:105:47:105:48 | call to map | map.cpp:121:7:121:8 | m3 | | +| map.cpp:105:47:105:48 | call to map | map.cpp:127:7:127:8 | m3 | | +| map.cpp:105:47:105:48 | call to map | map.cpp:158:12:158:13 | m3 | | +| map.cpp:105:47:105:48 | call to map | map.cpp:158:30:158:31 | m3 | | +| map.cpp:105:47:105:48 | call to map | map.cpp:252:1:252:1 | m3 | | +| map.cpp:105:51:105:52 | call to map | map.cpp:110:7:110:8 | m4 | | +| map.cpp:105:51:105:52 | call to map | map.cpp:110:17:110:18 | m4 | | +| map.cpp:105:51:105:52 | call to map | map.cpp:116:7:116:8 | m4 | | +| map.cpp:105:51:105:52 | call to map | map.cpp:122:7:122:8 | m4 | | +| map.cpp:105:51:105:52 | call to map | map.cpp:128:7:128:8 | m4 | | +| map.cpp:105:51:105:52 | call to map | map.cpp:252:1:252:1 | m4 | | +| map.cpp:105:55:105:56 | call to map | map.cpp:111:7:111:8 | m5 | | +| map.cpp:105:55:105:56 | call to map | map.cpp:117:7:117:8 | m5 | | +| map.cpp:105:55:105:56 | call to map | map.cpp:123:7:123:8 | m5 | | +| map.cpp:105:55:105:56 | call to map | map.cpp:129:7:129:8 | m5 | | +| map.cpp:105:55:105:56 | call to map | map.cpp:252:1:252:1 | m5 | | +| map.cpp:105:59:105:60 | call to map | map.cpp:112:7:112:8 | m6 | | +| map.cpp:105:59:105:60 | call to map | map.cpp:112:27:112:28 | m6 | | +| map.cpp:105:59:105:60 | call to map | map.cpp:118:7:118:8 | m6 | | +| map.cpp:105:59:105:60 | call to map | map.cpp:124:7:124:8 | m6 | | +| map.cpp:105:59:105:60 | call to map | map.cpp:130:7:130:8 | m6 | | +| map.cpp:105:59:105:60 | call to map | map.cpp:252:1:252:1 | m6 | | | map.cpp:107:7:107:8 | ref arg m1 | map.cpp:113:7:113:8 | m1 | | | map.cpp:107:7:107:8 | ref arg m1 | map.cpp:119:7:119:8 | m1 | | | map.cpp:107:7:107:8 | ref arg m1 | map.cpp:125:7:125:8 | m1 | | | map.cpp:107:7:107:8 | ref arg m1 | map.cpp:146:12:146:13 | m1 | | | map.cpp:107:7:107:8 | ref arg m1 | map.cpp:146:30:146:31 | m1 | | | map.cpp:107:7:107:8 | ref arg m1 | map.cpp:252:1:252:1 | m1 | | -| map.cpp:107:17:107:30 | call to make_pair | map.cpp:107:17:107:44 | call to pair | TAINT | -| map.cpp:107:17:107:44 | call to pair | map.cpp:107:7:107:8 | ref arg m1 | TAINT | -| map.cpp:107:17:107:44 | call to pair | map.cpp:107:10:107:15 | call to insert | TAINT | | map.cpp:107:47:107:51 | first | map.cpp:107:7:107:51 | call to iterator | | | map.cpp:108:7:108:8 | ref arg m2 | map.cpp:114:7:114:8 | m2 | | | map.cpp:108:7:108:8 | ref arg m2 | map.cpp:120:7:120:8 | m2 | | | map.cpp:108:7:108:8 | ref arg m2 | map.cpp:126:7:126:8 | m2 | | -| map.cpp:108:7:108:8 | ref arg m2 | map.cpp:133:30:133:31 | m2 | | -| map.cpp:108:7:108:8 | ref arg m2 | map.cpp:134:32:134:33 | m2 | | +| map.cpp:108:7:108:8 | ref arg m2 | map.cpp:133:42:133:43 | m2 | | +| map.cpp:108:7:108:8 | ref arg m2 | map.cpp:134:44:134:45 | m2 | | | map.cpp:108:7:108:8 | ref arg m2 | map.cpp:136:7:136:8 | m2 | | | map.cpp:108:7:108:8 | ref arg m2 | map.cpp:152:12:152:13 | m2 | | | map.cpp:108:7:108:8 | ref arg m2 | map.cpp:152:30:152:31 | m2 | | | map.cpp:108:7:108:8 | ref arg m2 | map.cpp:252:1:252:1 | m2 | | -| map.cpp:108:17:108:30 | call to make_pair | map.cpp:108:17:108:47 | call to pair | TAINT | -| map.cpp:108:17:108:47 | call to pair | map.cpp:108:7:108:8 | ref arg m2 | TAINT | -| map.cpp:108:17:108:47 | call to pair | map.cpp:108:10:108:15 | call to insert | TAINT | | map.cpp:108:50:108:54 | first | map.cpp:108:7:108:54 | call to iterator | | | map.cpp:109:7:109:8 | ref arg m3 | map.cpp:115:7:115:8 | m3 | | | map.cpp:109:7:109:8 | ref arg m3 | map.cpp:121:7:121:8 | m3 | | @@ -2020,9 +1986,6 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | map.cpp:109:7:109:8 | ref arg m3 | map.cpp:158:12:158:13 | m3 | | | map.cpp:109:7:109:8 | ref arg m3 | map.cpp:158:30:158:31 | m3 | | | map.cpp:109:7:109:8 | ref arg m3 | map.cpp:252:1:252:1 | m3 | | -| map.cpp:109:17:109:30 | call to make_pair | map.cpp:109:17:109:47 | call to pair | TAINT | -| map.cpp:109:17:109:47 | call to pair | map.cpp:109:7:109:8 | ref arg m3 | TAINT | -| map.cpp:109:17:109:47 | call to pair | map.cpp:109:10:109:15 | call to insert | TAINT | | map.cpp:109:50:109:54 | first | map.cpp:109:7:109:54 | call to iterator | | | map.cpp:110:7:110:8 | ref arg m4 | map.cpp:116:7:116:8 | m4 | | | map.cpp:110:7:110:8 | ref arg m4 | map.cpp:122:7:122:8 | m4 | | @@ -2035,16 +1998,10 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | map.cpp:110:17:110:18 | ref arg m4 | map.cpp:128:7:128:8 | m4 | | | map.cpp:110:17:110:18 | ref arg m4 | map.cpp:252:1:252:1 | m4 | | | map.cpp:110:20:110:24 | call to begin | map.cpp:110:17:110:26 | call to iterator | TAINT | -| map.cpp:110:29:110:70 | call to pair | map.cpp:110:7:110:8 | ref arg m4 | TAINT | -| map.cpp:110:29:110:70 | call to pair | map.cpp:110:10:110:15 | call to insert | TAINT | -| map.cpp:110:29:110:70 | call to pair | map.cpp:110:29:110:70 | call to pair | TAINT | -| map.cpp:110:62:110:67 | call to source | map.cpp:110:29:110:70 | call to pair | TAINT | | map.cpp:111:7:111:8 | ref arg m5 | map.cpp:117:7:117:8 | m5 | | | map.cpp:111:7:111:8 | ref arg m5 | map.cpp:123:7:123:8 | m5 | | | map.cpp:111:7:111:8 | ref arg m5 | map.cpp:129:7:129:8 | m5 | | | map.cpp:111:7:111:8 | ref arg m5 | map.cpp:252:1:252:1 | m5 | | -| map.cpp:111:34:111:39 | call to source | map.cpp:111:7:111:8 | ref arg m5 | TAINT | -| map.cpp:111:34:111:39 | call to source | map.cpp:111:10:111:25 | call to insert_or_assign | TAINT | | map.cpp:111:44:111:48 | first | map.cpp:111:7:111:48 | call to iterator | | | map.cpp:112:7:112:8 | ref arg m6 | map.cpp:118:7:118:8 | m6 | | | map.cpp:112:7:112:8 | ref arg m6 | map.cpp:124:7:124:8 | m6 | | @@ -2057,74 +2014,60 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | map.cpp:112:27:112:28 | ref arg m6 | map.cpp:130:7:130:8 | m6 | | | map.cpp:112:27:112:28 | ref arg m6 | map.cpp:252:1:252:1 | m6 | | | map.cpp:112:30:112:34 | call to begin | map.cpp:112:27:112:36 | call to iterator | TAINT | -| map.cpp:112:46:112:51 | call to source | map.cpp:112:7:112:8 | ref arg m6 | TAINT | -| map.cpp:112:46:112:51 | call to source | map.cpp:112:10:112:25 | call to insert_or_assign | TAINT | | map.cpp:113:7:113:8 | m1 | map.cpp:113:7:113:8 | call to map | | | map.cpp:114:7:114:8 | m2 | map.cpp:114:7:114:8 | call to map | | | map.cpp:115:7:115:8 | m3 | map.cpp:115:7:115:8 | call to map | | | map.cpp:116:7:116:8 | m4 | map.cpp:116:7:116:8 | call to map | | | map.cpp:117:7:117:8 | m5 | map.cpp:117:7:117:8 | call to map | | | map.cpp:118:7:118:8 | m6 | map.cpp:118:7:118:8 | call to map | | -| map.cpp:119:7:119:8 | m1 | map.cpp:119:10:119:13 | call to find | TAINT | | map.cpp:119:7:119:8 | ref arg m1 | map.cpp:125:7:125:8 | m1 | | | map.cpp:119:7:119:8 | ref arg m1 | map.cpp:146:12:146:13 | m1 | | | map.cpp:119:7:119:8 | ref arg m1 | map.cpp:146:30:146:31 | m1 | | | map.cpp:119:7:119:8 | ref arg m1 | map.cpp:252:1:252:1 | m1 | | -| map.cpp:120:7:120:8 | m2 | map.cpp:120:10:120:13 | call to find | TAINT | | map.cpp:120:7:120:8 | ref arg m2 | map.cpp:126:7:126:8 | m2 | | -| map.cpp:120:7:120:8 | ref arg m2 | map.cpp:133:30:133:31 | m2 | | -| map.cpp:120:7:120:8 | ref arg m2 | map.cpp:134:32:134:33 | m2 | | +| map.cpp:120:7:120:8 | ref arg m2 | map.cpp:133:42:133:43 | m2 | | +| map.cpp:120:7:120:8 | ref arg m2 | map.cpp:134:44:134:45 | m2 | | | map.cpp:120:7:120:8 | ref arg m2 | map.cpp:136:7:136:8 | m2 | | | map.cpp:120:7:120:8 | ref arg m2 | map.cpp:152:12:152:13 | m2 | | | map.cpp:120:7:120:8 | ref arg m2 | map.cpp:152:30:152:31 | m2 | | | map.cpp:120:7:120:8 | ref arg m2 | map.cpp:252:1:252:1 | m2 | | -| map.cpp:121:7:121:8 | m3 | map.cpp:121:10:121:13 | call to find | TAINT | | map.cpp:121:7:121:8 | ref arg m3 | map.cpp:127:7:127:8 | m3 | | | map.cpp:121:7:121:8 | ref arg m3 | map.cpp:158:12:158:13 | m3 | | | map.cpp:121:7:121:8 | ref arg m3 | map.cpp:158:30:158:31 | m3 | | | map.cpp:121:7:121:8 | ref arg m3 | map.cpp:252:1:252:1 | m3 | | -| map.cpp:122:7:122:8 | m4 | map.cpp:122:10:122:13 | call to find | TAINT | | map.cpp:122:7:122:8 | ref arg m4 | map.cpp:128:7:128:8 | m4 | | | map.cpp:122:7:122:8 | ref arg m4 | map.cpp:252:1:252:1 | m4 | | -| map.cpp:123:7:123:8 | m5 | map.cpp:123:10:123:13 | call to find | TAINT | | map.cpp:123:7:123:8 | ref arg m5 | map.cpp:129:7:129:8 | m5 | | | map.cpp:123:7:123:8 | ref arg m5 | map.cpp:252:1:252:1 | m5 | | -| map.cpp:124:7:124:8 | m6 | map.cpp:124:10:124:13 | call to find | TAINT | | map.cpp:124:7:124:8 | ref arg m6 | map.cpp:130:7:130:8 | m6 | | | map.cpp:124:7:124:8 | ref arg m6 | map.cpp:252:1:252:1 | m6 | | -| map.cpp:125:7:125:8 | m1 | map.cpp:125:10:125:13 | call to find | TAINT | | map.cpp:125:7:125:8 | ref arg m1 | map.cpp:146:12:146:13 | m1 | | | map.cpp:125:7:125:8 | ref arg m1 | map.cpp:146:30:146:31 | m1 | | | map.cpp:125:7:125:8 | ref arg m1 | map.cpp:252:1:252:1 | m1 | | -| map.cpp:126:7:126:8 | m2 | map.cpp:126:10:126:13 | call to find | TAINT | -| map.cpp:126:7:126:8 | ref arg m2 | map.cpp:133:30:133:31 | m2 | | -| map.cpp:126:7:126:8 | ref arg m2 | map.cpp:134:32:134:33 | m2 | | +| map.cpp:126:7:126:8 | ref arg m2 | map.cpp:133:42:133:43 | m2 | | +| map.cpp:126:7:126:8 | ref arg m2 | map.cpp:134:44:134:45 | m2 | | | map.cpp:126:7:126:8 | ref arg m2 | map.cpp:136:7:136:8 | m2 | | | map.cpp:126:7:126:8 | ref arg m2 | map.cpp:152:12:152:13 | m2 | | | map.cpp:126:7:126:8 | ref arg m2 | map.cpp:152:30:152:31 | m2 | | | map.cpp:126:7:126:8 | ref arg m2 | map.cpp:252:1:252:1 | m2 | | -| map.cpp:127:7:127:8 | m3 | map.cpp:127:10:127:13 | call to find | TAINT | | map.cpp:127:7:127:8 | ref arg m3 | map.cpp:158:12:158:13 | m3 | | | map.cpp:127:7:127:8 | ref arg m3 | map.cpp:158:30:158:31 | m3 | | | map.cpp:127:7:127:8 | ref arg m3 | map.cpp:252:1:252:1 | m3 | | -| map.cpp:128:7:128:8 | m4 | map.cpp:128:10:128:13 | call to find | TAINT | | map.cpp:128:7:128:8 | ref arg m4 | map.cpp:252:1:252:1 | m4 | | -| map.cpp:129:7:129:8 | m5 | map.cpp:129:10:129:13 | call to find | TAINT | | map.cpp:129:7:129:8 | ref arg m5 | map.cpp:252:1:252:1 | m5 | | -| map.cpp:130:7:130:8 | m6 | map.cpp:130:10:130:13 | call to find | TAINT | | map.cpp:130:7:130:8 | ref arg m6 | map.cpp:252:1:252:1 | m6 | | -| map.cpp:133:30:133:31 | m2 | map.cpp:133:30:133:32 | call to map | | -| map.cpp:133:30:133:32 | call to map | map.cpp:137:7:137:8 | m7 | | -| map.cpp:133:30:133:32 | call to map | map.cpp:140:7:140:8 | m7 | | -| map.cpp:133:30:133:32 | call to map | map.cpp:252:1:252:1 | m7 | | -| map.cpp:134:31:134:33 | call to map | map.cpp:138:7:138:8 | m8 | | -| map.cpp:134:31:134:33 | call to map | map.cpp:141:7:141:8 | m8 | | -| map.cpp:134:31:134:33 | call to map | map.cpp:252:1:252:1 | m8 | | -| map.cpp:134:32:134:33 | m2 | map.cpp:134:31:134:33 | call to map | | -| map.cpp:135:27:135:28 | call to map | map.cpp:136:2:136:3 | m9 | | -| map.cpp:135:27:135:28 | call to map | map.cpp:139:7:139:8 | m9 | | -| map.cpp:135:27:135:28 | call to map | map.cpp:142:7:142:8 | m9 | | -| map.cpp:135:27:135:28 | call to map | map.cpp:252:1:252:1 | m9 | | +| map.cpp:133:42:133:43 | m2 | map.cpp:133:42:133:44 | call to map | | +| map.cpp:133:42:133:44 | call to map | map.cpp:137:7:137:8 | m7 | | +| map.cpp:133:42:133:44 | call to map | map.cpp:140:7:140:8 | m7 | | +| map.cpp:133:42:133:44 | call to map | map.cpp:252:1:252:1 | m7 | | +| map.cpp:134:43:134:45 | call to map | map.cpp:138:7:138:8 | m8 | | +| map.cpp:134:43:134:45 | call to map | map.cpp:141:7:141:8 | m8 | | +| map.cpp:134:43:134:45 | call to map | map.cpp:252:1:252:1 | m8 | | +| map.cpp:134:44:134:45 | m2 | map.cpp:134:43:134:45 | call to map | | +| map.cpp:135:39:135:40 | call to map | map.cpp:136:2:136:3 | m9 | | +| map.cpp:135:39:135:40 | call to map | map.cpp:139:7:139:8 | m9 | | +| map.cpp:135:39:135:40 | call to map | map.cpp:142:7:142:8 | m9 | | +| map.cpp:135:39:135:40 | call to map | map.cpp:252:1:252:1 | m9 | | | map.cpp:136:2:136:3 | ref arg m9 | map.cpp:139:7:139:8 | m9 | | | map.cpp:136:2:136:3 | ref arg m9 | map.cpp:142:7:142:8 | m9 | | | map.cpp:136:2:136:3 | ref arg m9 | map.cpp:252:1:252:1 | m9 | | @@ -2133,11 +2076,8 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | map.cpp:137:7:137:8 | m7 | map.cpp:137:7:137:8 | call to map | | | map.cpp:138:7:138:8 | m8 | map.cpp:138:7:138:8 | call to map | | | map.cpp:139:7:139:8 | m9 | map.cpp:139:7:139:8 | call to map | | -| map.cpp:140:7:140:8 | m7 | map.cpp:140:10:140:13 | call to find | TAINT | | map.cpp:140:7:140:8 | ref arg m7 | map.cpp:252:1:252:1 | m7 | | -| map.cpp:141:7:141:8 | m8 | map.cpp:141:10:141:13 | call to find | TAINT | | map.cpp:141:7:141:8 | ref arg m8 | map.cpp:252:1:252:1 | m8 | | -| map.cpp:142:7:142:8 | m9 | map.cpp:142:10:142:13 | call to find | TAINT | | map.cpp:142:7:142:8 | ref arg m9 | map.cpp:252:1:252:1 | m9 | | | map.cpp:146:12:146:13 | m1 | map.cpp:146:15:146:19 | call to begin | TAINT | | map.cpp:146:12:146:13 | ref arg m1 | map.cpp:146:30:146:31 | m1 | | @@ -2250,61 +2190,49 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | map.cpp:162:8:162:9 | ref arg i3 | map.cpp:160:9:160:10 | i3 | | | map.cpp:162:8:162:9 | ref arg i3 | map.cpp:161:8:161:9 | i3 | | | map.cpp:162:8:162:9 | ref arg i3 | map.cpp:162:8:162:9 | i3 | | -| map.cpp:166:27:166:29 | call to map | map.cpp:167:7:167:9 | m10 | | -| map.cpp:166:27:166:29 | call to map | map.cpp:171:7:171:9 | m10 | | -| map.cpp:166:27:166:29 | call to map | map.cpp:252:1:252:1 | m10 | | -| map.cpp:166:32:166:34 | call to map | map.cpp:168:7:168:9 | m11 | | -| map.cpp:166:32:166:34 | call to map | map.cpp:172:7:172:9 | m11 | | -| map.cpp:166:32:166:34 | call to map | map.cpp:252:1:252:1 | m11 | | -| map.cpp:166:37:166:39 | call to map | map.cpp:169:7:169:9 | m12 | | -| map.cpp:166:37:166:39 | call to map | map.cpp:173:7:173:9 | m12 | | -| map.cpp:166:37:166:39 | call to map | map.cpp:252:1:252:1 | m12 | | -| map.cpp:166:42:166:44 | call to map | map.cpp:170:7:170:9 | m13 | | -| map.cpp:166:42:166:44 | call to map | map.cpp:174:7:174:9 | m13 | | -| map.cpp:166:42:166:44 | call to map | map.cpp:252:1:252:1 | m13 | | -| map.cpp:167:7:167:9 | m10 | map.cpp:167:10:167:10 | call to operator[] | TAINT | +| map.cpp:166:39:166:41 | call to map | map.cpp:167:7:167:9 | m10 | | +| map.cpp:166:39:166:41 | call to map | map.cpp:171:7:171:9 | m10 | | +| map.cpp:166:39:166:41 | call to map | map.cpp:252:1:252:1 | m10 | | +| map.cpp:166:44:166:46 | call to map | map.cpp:168:7:168:9 | m11 | | +| map.cpp:166:44:166:46 | call to map | map.cpp:172:7:172:9 | m11 | | +| map.cpp:166:44:166:46 | call to map | map.cpp:252:1:252:1 | m11 | | +| map.cpp:166:49:166:51 | call to map | map.cpp:169:7:169:9 | m12 | | +| map.cpp:166:49:166:51 | call to map | map.cpp:173:7:173:9 | m12 | | +| map.cpp:166:49:166:51 | call to map | map.cpp:252:1:252:1 | m12 | | +| map.cpp:166:54:166:56 | call to map | map.cpp:170:7:170:9 | m13 | | +| map.cpp:166:54:166:56 | call to map | map.cpp:174:7:174:9 | m13 | | +| map.cpp:166:54:166:56 | call to map | map.cpp:252:1:252:1 | m13 | | | map.cpp:167:7:167:9 | ref arg m10 | map.cpp:171:7:171:9 | m10 | | | map.cpp:167:7:167:9 | ref arg m10 | map.cpp:252:1:252:1 | m10 | | | map.cpp:167:7:167:24 | ... = ... | map.cpp:167:10:167:10 | call to operator[] [post update] | | -| map.cpp:167:10:167:10 | call to operator[] [post update] | map.cpp:167:7:167:9 | ref arg m10 | TAINT | | map.cpp:167:20:167:24 | def | map.cpp:167:7:167:24 | ... = ... | | -| map.cpp:168:7:168:9 | m11 | map.cpp:168:10:168:10 | call to operator[] | TAINT | | map.cpp:168:7:168:9 | ref arg m11 | map.cpp:172:7:172:9 | m11 | | | map.cpp:168:7:168:9 | ref arg m11 | map.cpp:252:1:252:1 | m11 | | | map.cpp:168:7:168:27 | ... = ... | map.cpp:168:10:168:10 | call to operator[] [post update] | | -| map.cpp:168:10:168:10 | call to operator[] [post update] | map.cpp:168:7:168:9 | ref arg m11 | TAINT | | map.cpp:168:20:168:25 | call to source | map.cpp:168:7:168:27 | ... = ... | | -| map.cpp:169:7:169:9 | m12 | map.cpp:169:11:169:12 | call to at | TAINT | | map.cpp:169:7:169:9 | ref arg m12 | map.cpp:173:7:173:9 | m12 | | | map.cpp:169:7:169:9 | ref arg m12 | map.cpp:252:1:252:1 | m12 | | | map.cpp:169:7:169:27 | ... = ... | map.cpp:169:11:169:12 | call to at [post update] | | -| map.cpp:169:11:169:12 | call to at [post update] | map.cpp:169:7:169:9 | ref arg m12 | TAINT | | map.cpp:169:23:169:27 | def | map.cpp:169:7:169:27 | ... = ... | | -| map.cpp:170:7:170:9 | m13 | map.cpp:170:11:170:12 | call to at | TAINT | | map.cpp:170:7:170:9 | ref arg m13 | map.cpp:174:7:174:9 | m13 | | | map.cpp:170:7:170:9 | ref arg m13 | map.cpp:252:1:252:1 | m13 | | | map.cpp:170:7:170:30 | ... = ... | map.cpp:170:11:170:12 | call to at [post update] | | -| map.cpp:170:11:170:12 | call to at [post update] | map.cpp:170:7:170:9 | ref arg m13 | TAINT | | map.cpp:170:23:170:28 | call to source | map.cpp:170:7:170:30 | ... = ... | | -| map.cpp:171:7:171:9 | m10 | map.cpp:171:10:171:10 | call to operator[] | TAINT | | map.cpp:171:7:171:9 | ref arg m10 | map.cpp:252:1:252:1 | m10 | | -| map.cpp:172:7:172:9 | m11 | map.cpp:172:10:172:10 | call to operator[] | TAINT | | map.cpp:172:7:172:9 | ref arg m11 | map.cpp:252:1:252:1 | m11 | | -| map.cpp:173:7:173:9 | m12 | map.cpp:173:10:173:10 | call to operator[] | TAINT | | map.cpp:173:7:173:9 | ref arg m12 | map.cpp:252:1:252:1 | m12 | | -| map.cpp:174:7:174:9 | m13 | map.cpp:174:10:174:10 | call to operator[] | TAINT | | map.cpp:174:7:174:9 | ref arg m13 | map.cpp:252:1:252:1 | m13 | | -| map.cpp:177:27:177:29 | call to map | map.cpp:178:2:178:4 | m14 | | -| map.cpp:177:27:177:29 | call to map | map.cpp:179:2:179:4 | m14 | | -| map.cpp:177:27:177:29 | call to map | map.cpp:180:2:180:4 | m14 | | -| map.cpp:177:27:177:29 | call to map | map.cpp:181:2:181:4 | m14 | | -| map.cpp:177:27:177:29 | call to map | map.cpp:182:7:182:9 | m14 | | -| map.cpp:177:27:177:29 | call to map | map.cpp:183:7:183:9 | m14 | | -| map.cpp:177:27:177:29 | call to map | map.cpp:184:7:184:9 | m14 | | -| map.cpp:177:27:177:29 | call to map | map.cpp:185:7:185:9 | m14 | | -| map.cpp:177:27:177:29 | call to map | map.cpp:186:7:186:9 | m14 | | -| map.cpp:177:27:177:29 | call to map | map.cpp:187:7:187:9 | m14 | | -| map.cpp:177:27:177:29 | call to map | map.cpp:252:1:252:1 | m14 | | +| map.cpp:177:39:177:41 | call to map | map.cpp:178:2:178:4 | m14 | | +| map.cpp:177:39:177:41 | call to map | map.cpp:179:2:179:4 | m14 | | +| map.cpp:177:39:177:41 | call to map | map.cpp:180:2:180:4 | m14 | | +| map.cpp:177:39:177:41 | call to map | map.cpp:181:2:181:4 | m14 | | +| map.cpp:177:39:177:41 | call to map | map.cpp:182:7:182:9 | m14 | | +| map.cpp:177:39:177:41 | call to map | map.cpp:183:7:183:9 | m14 | | +| map.cpp:177:39:177:41 | call to map | map.cpp:184:7:184:9 | m14 | | +| map.cpp:177:39:177:41 | call to map | map.cpp:185:7:185:9 | m14 | | +| map.cpp:177:39:177:41 | call to map | map.cpp:186:7:186:9 | m14 | | +| map.cpp:177:39:177:41 | call to map | map.cpp:187:7:187:9 | m14 | | +| map.cpp:177:39:177:41 | call to map | map.cpp:252:1:252:1 | m14 | | | map.cpp:178:2:178:4 | ref arg m14 | map.cpp:179:2:179:4 | m14 | | | map.cpp:178:2:178:4 | ref arg m14 | map.cpp:180:2:180:4 | m14 | | | map.cpp:178:2:178:4 | ref arg m14 | map.cpp:181:2:181:4 | m14 | | @@ -2315,9 +2243,6 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | map.cpp:178:2:178:4 | ref arg m14 | map.cpp:186:7:186:9 | m14 | | | map.cpp:178:2:178:4 | ref arg m14 | map.cpp:187:7:187:9 | m14 | | | map.cpp:178:2:178:4 | ref arg m14 | map.cpp:252:1:252:1 | m14 | | -| map.cpp:178:13:178:26 | call to make_pair | map.cpp:178:13:178:36 | call to pair | TAINT | -| map.cpp:178:13:178:36 | call to pair | map.cpp:178:2:178:4 | ref arg m14 | TAINT | -| map.cpp:178:13:178:36 | call to pair | map.cpp:178:6:178:11 | call to insert | TAINT | | map.cpp:179:2:179:4 | ref arg m14 | map.cpp:180:2:180:4 | m14 | | | map.cpp:179:2:179:4 | ref arg m14 | map.cpp:181:2:181:4 | m14 | | | map.cpp:179:2:179:4 | ref arg m14 | map.cpp:182:7:182:9 | m14 | | @@ -2327,9 +2252,6 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | map.cpp:179:2:179:4 | ref arg m14 | map.cpp:186:7:186:9 | m14 | | | map.cpp:179:2:179:4 | ref arg m14 | map.cpp:187:7:187:9 | m14 | | | map.cpp:179:2:179:4 | ref arg m14 | map.cpp:252:1:252:1 | m14 | | -| map.cpp:179:13:179:26 | call to make_pair | map.cpp:179:13:179:41 | call to pair | TAINT | -| map.cpp:179:13:179:41 | call to pair | map.cpp:179:2:179:4 | ref arg m14 | TAINT | -| map.cpp:179:13:179:41 | call to pair | map.cpp:179:6:179:11 | call to insert | TAINT | | map.cpp:180:2:180:4 | ref arg m14 | map.cpp:181:2:181:4 | m14 | | | map.cpp:180:2:180:4 | ref arg m14 | map.cpp:182:7:182:9 | m14 | | | map.cpp:180:2:180:4 | ref arg m14 | map.cpp:183:7:183:9 | m14 | | @@ -2338,9 +2260,6 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | map.cpp:180:2:180:4 | ref arg m14 | map.cpp:186:7:186:9 | m14 | | | map.cpp:180:2:180:4 | ref arg m14 | map.cpp:187:7:187:9 | m14 | | | map.cpp:180:2:180:4 | ref arg m14 | map.cpp:252:1:252:1 | m14 | | -| map.cpp:180:13:180:26 | call to make_pair | map.cpp:180:13:180:41 | call to pair | TAINT | -| map.cpp:180:13:180:41 | call to pair | map.cpp:180:2:180:4 | ref arg m14 | TAINT | -| map.cpp:180:13:180:41 | call to pair | map.cpp:180:6:180:11 | call to insert | TAINT | | map.cpp:181:2:181:4 | ref arg m14 | map.cpp:182:7:182:9 | m14 | | | map.cpp:181:2:181:4 | ref arg m14 | map.cpp:183:7:183:9 | m14 | | | map.cpp:181:2:181:4 | ref arg m14 | map.cpp:184:7:184:9 | m14 | | @@ -2348,73 +2267,56 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | map.cpp:181:2:181:4 | ref arg m14 | map.cpp:186:7:186:9 | m14 | | | map.cpp:181:2:181:4 | ref arg m14 | map.cpp:187:7:187:9 | m14 | | | map.cpp:181:2:181:4 | ref arg m14 | map.cpp:252:1:252:1 | m14 | | -| map.cpp:181:13:181:26 | call to make_pair | map.cpp:181:13:181:36 | call to pair | TAINT | -| map.cpp:181:13:181:36 | call to pair | map.cpp:181:2:181:4 | ref arg m14 | TAINT | -| map.cpp:181:13:181:36 | call to pair | map.cpp:181:6:181:11 | call to insert | TAINT | -| map.cpp:182:7:182:9 | m14 | map.cpp:182:11:182:21 | call to lower_bound | TAINT | | map.cpp:182:7:182:9 | ref arg m14 | map.cpp:183:7:183:9 | m14 | | | map.cpp:182:7:182:9 | ref arg m14 | map.cpp:184:7:184:9 | m14 | | | map.cpp:182:7:182:9 | ref arg m14 | map.cpp:185:7:185:9 | m14 | | | map.cpp:182:7:182:9 | ref arg m14 | map.cpp:186:7:186:9 | m14 | | | map.cpp:182:7:182:9 | ref arg m14 | map.cpp:187:7:187:9 | m14 | | | map.cpp:182:7:182:9 | ref arg m14 | map.cpp:252:1:252:1 | m14 | | -| map.cpp:183:7:183:9 | m14 | map.cpp:183:11:183:21 | call to upper_bound | TAINT | | map.cpp:183:7:183:9 | ref arg m14 | map.cpp:184:7:184:9 | m14 | | | map.cpp:183:7:183:9 | ref arg m14 | map.cpp:185:7:185:9 | m14 | | | map.cpp:183:7:183:9 | ref arg m14 | map.cpp:186:7:186:9 | m14 | | | map.cpp:183:7:183:9 | ref arg m14 | map.cpp:187:7:187:9 | m14 | | | map.cpp:183:7:183:9 | ref arg m14 | map.cpp:252:1:252:1 | m14 | | -| map.cpp:184:7:184:9 | m14 | map.cpp:184:11:184:21 | call to equal_range | TAINT | | map.cpp:184:7:184:9 | ref arg m14 | map.cpp:185:7:185:9 | m14 | | | map.cpp:184:7:184:9 | ref arg m14 | map.cpp:186:7:186:9 | m14 | | | map.cpp:184:7:184:9 | ref arg m14 | map.cpp:187:7:187:9 | m14 | | | map.cpp:184:7:184:9 | ref arg m14 | map.cpp:252:1:252:1 | m14 | | | map.cpp:184:28:184:32 | first | map.cpp:184:7:184:32 | call to iterator | | -| map.cpp:185:7:185:9 | m14 | map.cpp:185:11:185:21 | call to equal_range | TAINT | | map.cpp:185:7:185:9 | ref arg m14 | map.cpp:186:7:186:9 | m14 | | | map.cpp:185:7:185:9 | ref arg m14 | map.cpp:187:7:187:9 | m14 | | | map.cpp:185:7:185:9 | ref arg m14 | map.cpp:252:1:252:1 | m14 | | | map.cpp:185:28:185:33 | second | map.cpp:185:7:185:33 | call to iterator | | -| map.cpp:186:7:186:9 | m14 | map.cpp:186:11:186:21 | call to upper_bound | TAINT | | map.cpp:186:7:186:9 | ref arg m14 | map.cpp:187:7:187:9 | m14 | | | map.cpp:186:7:186:9 | ref arg m14 | map.cpp:252:1:252:1 | m14 | | -| map.cpp:187:7:187:9 | m14 | map.cpp:187:11:187:21 | call to equal_range | TAINT | | map.cpp:187:7:187:9 | ref arg m14 | map.cpp:252:1:252:1 | m14 | | | map.cpp:187:28:187:33 | second | map.cpp:187:7:187:33 | call to iterator | | -| map.cpp:190:27:190:29 | call to map | map.cpp:191:2:191:4 | m15 | | -| map.cpp:190:27:190:29 | call to map | map.cpp:193:7:193:9 | m15 | | -| map.cpp:190:27:190:29 | call to map | map.cpp:197:2:197:4 | m15 | | -| map.cpp:190:27:190:29 | call to map | map.cpp:199:7:199:9 | m15 | | -| map.cpp:190:27:190:29 | call to map | map.cpp:252:1:252:1 | m15 | | -| map.cpp:190:32:190:34 | call to map | map.cpp:194:7:194:9 | m16 | | -| map.cpp:190:32:190:34 | call to map | map.cpp:197:11:197:13 | m16 | | -| map.cpp:190:32:190:34 | call to map | map.cpp:200:7:200:9 | m16 | | -| map.cpp:190:32:190:34 | call to map | map.cpp:252:1:252:1 | m16 | | -| map.cpp:190:37:190:39 | call to map | map.cpp:195:7:195:9 | m17 | | -| map.cpp:190:37:190:39 | call to map | map.cpp:198:2:198:4 | m17 | | -| map.cpp:190:37:190:39 | call to map | map.cpp:201:7:201:9 | m17 | | -| map.cpp:190:37:190:39 | call to map | map.cpp:252:1:252:1 | m17 | | -| map.cpp:190:42:190:44 | call to map | map.cpp:192:2:192:4 | m18 | | -| map.cpp:190:42:190:44 | call to map | map.cpp:196:7:196:9 | m18 | | -| map.cpp:190:42:190:44 | call to map | map.cpp:198:11:198:13 | m18 | | -| map.cpp:190:42:190:44 | call to map | map.cpp:202:7:202:9 | m18 | | -| map.cpp:190:42:190:44 | call to map | map.cpp:252:1:252:1 | m18 | | +| map.cpp:190:39:190:41 | call to map | map.cpp:191:2:191:4 | m15 | | +| map.cpp:190:39:190:41 | call to map | map.cpp:193:7:193:9 | m15 | | +| map.cpp:190:39:190:41 | call to map | map.cpp:197:2:197:4 | m15 | | +| map.cpp:190:39:190:41 | call to map | map.cpp:199:7:199:9 | m15 | | +| map.cpp:190:39:190:41 | call to map | map.cpp:252:1:252:1 | m15 | | +| map.cpp:190:44:190:46 | call to map | map.cpp:194:7:194:9 | m16 | | +| map.cpp:190:44:190:46 | call to map | map.cpp:197:11:197:13 | m16 | | +| map.cpp:190:44:190:46 | call to map | map.cpp:200:7:200:9 | m16 | | +| map.cpp:190:44:190:46 | call to map | map.cpp:252:1:252:1 | m16 | | +| map.cpp:190:49:190:51 | call to map | map.cpp:195:7:195:9 | m17 | | +| map.cpp:190:49:190:51 | call to map | map.cpp:198:2:198:4 | m17 | | +| map.cpp:190:49:190:51 | call to map | map.cpp:201:7:201:9 | m17 | | +| map.cpp:190:49:190:51 | call to map | map.cpp:252:1:252:1 | m17 | | +| map.cpp:190:54:190:56 | call to map | map.cpp:192:2:192:4 | m18 | | +| map.cpp:190:54:190:56 | call to map | map.cpp:196:7:196:9 | m18 | | +| map.cpp:190:54:190:56 | call to map | map.cpp:198:11:198:13 | m18 | | +| map.cpp:190:54:190:56 | call to map | map.cpp:202:7:202:9 | m18 | | +| map.cpp:190:54:190:56 | call to map | map.cpp:252:1:252:1 | m18 | | | map.cpp:191:2:191:4 | ref arg m15 | map.cpp:193:7:193:9 | m15 | | | map.cpp:191:2:191:4 | ref arg m15 | map.cpp:197:2:197:4 | m15 | | | map.cpp:191:2:191:4 | ref arg m15 | map.cpp:199:7:199:9 | m15 | | | map.cpp:191:2:191:4 | ref arg m15 | map.cpp:252:1:252:1 | m15 | | -| map.cpp:191:13:191:57 | call to pair | map.cpp:191:2:191:4 | ref arg m15 | TAINT | -| map.cpp:191:13:191:57 | call to pair | map.cpp:191:6:191:11 | call to insert | TAINT | -| map.cpp:191:13:191:57 | call to pair | map.cpp:191:13:191:57 | call to pair | TAINT | -| map.cpp:191:49:191:54 | call to source | map.cpp:191:13:191:57 | call to pair | TAINT | | map.cpp:192:2:192:4 | ref arg m18 | map.cpp:196:7:196:9 | m18 | | | map.cpp:192:2:192:4 | ref arg m18 | map.cpp:198:11:198:13 | m18 | | | map.cpp:192:2:192:4 | ref arg m18 | map.cpp:202:7:202:9 | m18 | | | map.cpp:192:2:192:4 | ref arg m18 | map.cpp:252:1:252:1 | m18 | | -| map.cpp:192:13:192:57 | call to pair | map.cpp:192:2:192:4 | ref arg m18 | TAINT | -| map.cpp:192:13:192:57 | call to pair | map.cpp:192:6:192:11 | call to insert | TAINT | -| map.cpp:192:13:192:57 | call to pair | map.cpp:192:13:192:57 | call to pair | TAINT | -| map.cpp:192:49:192:54 | call to source | map.cpp:192:13:192:57 | call to pair | TAINT | | map.cpp:193:7:193:9 | m15 | map.cpp:193:7:193:9 | call to map | | | map.cpp:194:7:194:9 | m16 | map.cpp:194:7:194:9 | call to map | | | map.cpp:195:7:195:9 | m17 | map.cpp:195:7:195:9 | call to map | | @@ -2431,85 +2333,67 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | map.cpp:200:7:200:9 | m16 | map.cpp:200:7:200:9 | call to map | | | map.cpp:201:7:201:9 | m17 | map.cpp:201:7:201:9 | call to map | | | map.cpp:202:7:202:9 | m18 | map.cpp:202:7:202:9 | call to map | | -| map.cpp:205:27:205:29 | call to map | map.cpp:206:2:206:4 | m19 | | -| map.cpp:205:27:205:29 | call to map | map.cpp:210:7:210:9 | m19 | | -| map.cpp:205:27:205:29 | call to map | map.cpp:214:2:214:4 | m19 | | -| map.cpp:205:27:205:29 | call to map | map.cpp:216:7:216:9 | m19 | | -| map.cpp:205:27:205:29 | call to map | map.cpp:252:1:252:1 | m19 | | -| map.cpp:205:32:205:34 | call to map | map.cpp:207:2:207:4 | m20 | | -| map.cpp:205:32:205:34 | call to map | map.cpp:211:7:211:9 | m20 | | -| map.cpp:205:32:205:34 | call to map | map.cpp:214:12:214:14 | m20 | | -| map.cpp:205:32:205:34 | call to map | map.cpp:217:7:217:9 | m20 | | -| map.cpp:205:32:205:34 | call to map | map.cpp:252:1:252:1 | m20 | | -| map.cpp:205:37:205:39 | call to map | map.cpp:208:2:208:4 | m21 | | -| map.cpp:205:37:205:39 | call to map | map.cpp:212:7:212:9 | m21 | | -| map.cpp:205:37:205:39 | call to map | map.cpp:215:2:215:4 | m21 | | -| map.cpp:205:37:205:39 | call to map | map.cpp:218:7:218:9 | m21 | | -| map.cpp:205:37:205:39 | call to map | map.cpp:252:1:252:1 | m21 | | -| map.cpp:205:42:205:44 | call to map | map.cpp:209:2:209:4 | m22 | | -| map.cpp:205:42:205:44 | call to map | map.cpp:213:7:213:9 | m22 | | -| map.cpp:205:42:205:44 | call to map | map.cpp:215:12:215:14 | m22 | | -| map.cpp:205:42:205:44 | call to map | map.cpp:219:7:219:9 | m22 | | -| map.cpp:205:42:205:44 | call to map | map.cpp:252:1:252:1 | m22 | | +| map.cpp:205:39:205:41 | call to map | map.cpp:206:2:206:4 | m19 | | +| map.cpp:205:39:205:41 | call to map | map.cpp:210:7:210:9 | m19 | | +| map.cpp:205:39:205:41 | call to map | map.cpp:214:2:214:4 | m19 | | +| map.cpp:205:39:205:41 | call to map | map.cpp:216:7:216:9 | m19 | | +| map.cpp:205:39:205:41 | call to map | map.cpp:252:1:252:1 | m19 | | +| map.cpp:205:44:205:46 | call to map | map.cpp:207:2:207:4 | m20 | | +| map.cpp:205:44:205:46 | call to map | map.cpp:211:7:211:9 | m20 | | +| map.cpp:205:44:205:46 | call to map | map.cpp:214:12:214:14 | m20 | | +| map.cpp:205:44:205:46 | call to map | map.cpp:217:7:217:9 | m20 | | +| map.cpp:205:44:205:46 | call to map | map.cpp:252:1:252:1 | m20 | | +| map.cpp:205:49:205:51 | call to map | map.cpp:208:2:208:4 | m21 | | +| map.cpp:205:49:205:51 | call to map | map.cpp:212:7:212:9 | m21 | | +| map.cpp:205:49:205:51 | call to map | map.cpp:215:2:215:4 | m21 | | +| map.cpp:205:49:205:51 | call to map | map.cpp:218:7:218:9 | m21 | | +| map.cpp:205:49:205:51 | call to map | map.cpp:252:1:252:1 | m21 | | +| map.cpp:205:54:205:56 | call to map | map.cpp:209:2:209:4 | m22 | | +| map.cpp:205:54:205:56 | call to map | map.cpp:213:7:213:9 | m22 | | +| map.cpp:205:54:205:56 | call to map | map.cpp:215:12:215:14 | m22 | | +| map.cpp:205:54:205:56 | call to map | map.cpp:219:7:219:9 | m22 | | +| map.cpp:205:54:205:56 | call to map | map.cpp:252:1:252:1 | m22 | | | map.cpp:206:2:206:4 | ref arg m19 | map.cpp:210:7:210:9 | m19 | | | map.cpp:206:2:206:4 | ref arg m19 | map.cpp:214:2:214:4 | m19 | | | map.cpp:206:2:206:4 | ref arg m19 | map.cpp:216:7:216:9 | m19 | | | map.cpp:206:2:206:4 | ref arg m19 | map.cpp:252:1:252:1 | m19 | | -| map.cpp:206:13:206:57 | call to pair | map.cpp:206:2:206:4 | ref arg m19 | TAINT | -| map.cpp:206:13:206:57 | call to pair | map.cpp:206:6:206:11 | call to insert | TAINT | -| map.cpp:206:13:206:57 | call to pair | map.cpp:206:13:206:57 | call to pair | TAINT | -| map.cpp:206:49:206:54 | call to source | map.cpp:206:13:206:57 | call to pair | TAINT | | map.cpp:207:2:207:4 | ref arg m20 | map.cpp:211:7:211:9 | m20 | | | map.cpp:207:2:207:4 | ref arg m20 | map.cpp:214:12:214:14 | m20 | | | map.cpp:207:2:207:4 | ref arg m20 | map.cpp:217:7:217:9 | m20 | | | map.cpp:207:2:207:4 | ref arg m20 | map.cpp:252:1:252:1 | m20 | | -| map.cpp:207:13:207:51 | call to pair | map.cpp:207:2:207:4 | ref arg m20 | TAINT | -| map.cpp:207:13:207:51 | call to pair | map.cpp:207:6:207:11 | call to insert | TAINT | -| map.cpp:207:13:207:51 | call to pair | map.cpp:207:13:207:51 | call to pair | TAINT | -| map.cpp:207:46:207:50 | def | map.cpp:207:13:207:51 | call to pair | TAINT | | map.cpp:208:2:208:4 | ref arg m21 | map.cpp:212:7:212:9 | m21 | | | map.cpp:208:2:208:4 | ref arg m21 | map.cpp:215:2:215:4 | m21 | | | map.cpp:208:2:208:4 | ref arg m21 | map.cpp:218:7:218:9 | m21 | | | map.cpp:208:2:208:4 | ref arg m21 | map.cpp:252:1:252:1 | m21 | | -| map.cpp:208:13:208:51 | call to pair | map.cpp:208:2:208:4 | ref arg m21 | TAINT | -| map.cpp:208:13:208:51 | call to pair | map.cpp:208:6:208:11 | call to insert | TAINT | -| map.cpp:208:13:208:51 | call to pair | map.cpp:208:13:208:51 | call to pair | TAINT | -| map.cpp:208:46:208:50 | def | map.cpp:208:13:208:51 | call to pair | TAINT | | map.cpp:209:2:209:4 | ref arg m22 | map.cpp:213:7:213:9 | m22 | | | map.cpp:209:2:209:4 | ref arg m22 | map.cpp:215:12:215:14 | m22 | | | map.cpp:209:2:209:4 | ref arg m22 | map.cpp:219:7:219:9 | m22 | | | map.cpp:209:2:209:4 | ref arg m22 | map.cpp:252:1:252:1 | m22 | | -| map.cpp:209:13:209:57 | call to pair | map.cpp:209:2:209:4 | ref arg m22 | TAINT | -| map.cpp:209:13:209:57 | call to pair | map.cpp:209:6:209:11 | call to insert | TAINT | -| map.cpp:209:13:209:57 | call to pair | map.cpp:209:13:209:57 | call to pair | TAINT | -| map.cpp:209:49:209:54 | call to source | map.cpp:209:13:209:57 | call to pair | TAINT | | map.cpp:210:7:210:9 | m19 | map.cpp:210:7:210:9 | call to map | | | map.cpp:211:7:211:9 | m20 | map.cpp:211:7:211:9 | call to map | | | map.cpp:212:7:212:9 | m21 | map.cpp:212:7:212:9 | call to map | | | map.cpp:213:7:213:9 | m22 | map.cpp:213:7:213:9 | call to map | | | map.cpp:214:2:214:4 | ref arg m19 | map.cpp:216:7:216:9 | m19 | | | map.cpp:214:2:214:4 | ref arg m19 | map.cpp:252:1:252:1 | m19 | | -| map.cpp:214:12:214:14 | m20 | map.cpp:214:2:214:4 | ref arg m19 | TAINT | | map.cpp:214:12:214:14 | ref arg m20 | map.cpp:217:7:217:9 | m20 | | | map.cpp:214:12:214:14 | ref arg m20 | map.cpp:252:1:252:1 | m20 | | | map.cpp:215:2:215:4 | ref arg m21 | map.cpp:218:7:218:9 | m21 | | | map.cpp:215:2:215:4 | ref arg m21 | map.cpp:252:1:252:1 | m21 | | -| map.cpp:215:12:215:14 | m22 | map.cpp:215:2:215:4 | ref arg m21 | TAINT | | map.cpp:215:12:215:14 | ref arg m22 | map.cpp:219:7:219:9 | m22 | | | map.cpp:215:12:215:14 | ref arg m22 | map.cpp:252:1:252:1 | m22 | | | map.cpp:216:7:216:9 | m19 | map.cpp:216:7:216:9 | call to map | | | map.cpp:217:7:217:9 | m20 | map.cpp:217:7:217:9 | call to map | | | map.cpp:218:7:218:9 | m21 | map.cpp:218:7:218:9 | call to map | | | map.cpp:219:7:219:9 | m22 | map.cpp:219:7:219:9 | call to map | | -| map.cpp:222:27:222:29 | call to map | map.cpp:223:2:223:4 | m23 | | -| map.cpp:222:27:222:29 | call to map | map.cpp:224:2:224:4 | m23 | | -| map.cpp:222:27:222:29 | call to map | map.cpp:225:7:225:9 | m23 | | -| map.cpp:222:27:222:29 | call to map | map.cpp:226:7:226:9 | m23 | | -| map.cpp:222:27:222:29 | call to map | map.cpp:226:17:226:19 | m23 | | -| map.cpp:222:27:222:29 | call to map | map.cpp:227:7:227:9 | m23 | | -| map.cpp:222:27:222:29 | call to map | map.cpp:228:2:228:4 | m23 | | -| map.cpp:222:27:222:29 | call to map | map.cpp:229:7:229:9 | m23 | | -| map.cpp:222:27:222:29 | call to map | map.cpp:252:1:252:1 | m23 | | +| map.cpp:222:39:222:41 | call to map | map.cpp:223:2:223:4 | m23 | | +| map.cpp:222:39:222:41 | call to map | map.cpp:224:2:224:4 | m23 | | +| map.cpp:222:39:222:41 | call to map | map.cpp:225:7:225:9 | m23 | | +| map.cpp:222:39:222:41 | call to map | map.cpp:226:7:226:9 | m23 | | +| map.cpp:222:39:222:41 | call to map | map.cpp:226:17:226:19 | m23 | | +| map.cpp:222:39:222:41 | call to map | map.cpp:227:7:227:9 | m23 | | +| map.cpp:222:39:222:41 | call to map | map.cpp:228:2:228:4 | m23 | | +| map.cpp:222:39:222:41 | call to map | map.cpp:229:7:229:9 | m23 | | +| map.cpp:222:39:222:41 | call to map | map.cpp:252:1:252:1 | m23 | | | map.cpp:223:2:223:4 | ref arg m23 | map.cpp:224:2:224:4 | m23 | | | map.cpp:223:2:223:4 | ref arg m23 | map.cpp:225:7:225:9 | m23 | | | map.cpp:223:2:223:4 | ref arg m23 | map.cpp:226:7:226:9 | m23 | | @@ -2518,10 +2402,6 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | map.cpp:223:2:223:4 | ref arg m23 | map.cpp:228:2:228:4 | m23 | | | map.cpp:223:2:223:4 | ref arg m23 | map.cpp:229:7:229:9 | m23 | | | map.cpp:223:2:223:4 | ref arg m23 | map.cpp:252:1:252:1 | m23 | | -| map.cpp:223:13:223:57 | call to pair | map.cpp:223:2:223:4 | ref arg m23 | TAINT | -| map.cpp:223:13:223:57 | call to pair | map.cpp:223:6:223:11 | call to insert | TAINT | -| map.cpp:223:13:223:57 | call to pair | map.cpp:223:13:223:57 | call to pair | TAINT | -| map.cpp:223:49:223:54 | call to source | map.cpp:223:13:223:57 | call to pair | TAINT | | map.cpp:224:2:224:4 | ref arg m23 | map.cpp:225:7:225:9 | m23 | | | map.cpp:224:2:224:4 | ref arg m23 | map.cpp:226:7:226:9 | m23 | | | map.cpp:224:2:224:4 | ref arg m23 | map.cpp:226:17:226:19 | m23 | | @@ -2529,12 +2409,7 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | map.cpp:224:2:224:4 | ref arg m23 | map.cpp:228:2:228:4 | m23 | | | map.cpp:224:2:224:4 | ref arg m23 | map.cpp:229:7:229:9 | m23 | | | map.cpp:224:2:224:4 | ref arg m23 | map.cpp:252:1:252:1 | m23 | | -| map.cpp:224:13:224:57 | call to pair | map.cpp:224:2:224:4 | ref arg m23 | TAINT | -| map.cpp:224:13:224:57 | call to pair | map.cpp:224:6:224:11 | call to insert | TAINT | -| map.cpp:224:13:224:57 | call to pair | map.cpp:224:13:224:57 | call to pair | TAINT | -| map.cpp:224:49:224:54 | call to source | map.cpp:224:13:224:57 | call to pair | TAINT | | map.cpp:225:7:225:9 | m23 | map.cpp:225:7:225:9 | call to map | | -| map.cpp:226:7:226:9 | m23 | map.cpp:226:11:226:15 | call to erase | TAINT | | map.cpp:226:7:226:9 | ref arg m23 | map.cpp:227:7:227:9 | m23 | | | map.cpp:226:7:226:9 | ref arg m23 | map.cpp:228:2:228:4 | m23 | | | map.cpp:226:7:226:9 | ref arg m23 | map.cpp:229:7:229:9 | m23 | | @@ -2549,35 +2424,28 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | map.cpp:228:2:228:4 | ref arg m23 | map.cpp:229:7:229:9 | m23 | | | map.cpp:228:2:228:4 | ref arg m23 | map.cpp:252:1:252:1 | m23 | | | map.cpp:229:7:229:9 | m23 | map.cpp:229:7:229:9 | call to map | | -| map.cpp:232:27:232:29 | call to map | map.cpp:233:7:233:9 | m24 | | -| map.cpp:232:27:232:29 | call to map | map.cpp:234:7:234:9 | m24 | | -| map.cpp:232:27:232:29 | call to map | map.cpp:235:7:235:9 | m24 | | -| map.cpp:232:27:232:29 | call to map | map.cpp:236:7:236:9 | m24 | | -| map.cpp:232:27:232:29 | call to map | map.cpp:252:1:252:1 | m24 | | -| map.cpp:232:32:232:34 | call to map | map.cpp:237:7:237:9 | m25 | | -| map.cpp:232:32:232:34 | call to map | map.cpp:237:24:237:26 | m25 | | -| map.cpp:232:32:232:34 | call to map | map.cpp:238:7:238:9 | m25 | | -| map.cpp:232:32:232:34 | call to map | map.cpp:239:7:239:9 | m25 | | -| map.cpp:232:32:232:34 | call to map | map.cpp:239:24:239:26 | m25 | | -| map.cpp:232:32:232:34 | call to map | map.cpp:240:7:240:9 | m25 | | -| map.cpp:232:32:232:34 | call to map | map.cpp:252:1:252:1 | m25 | | -| map.cpp:233:7:233:9 | m24 | map.cpp:233:11:233:17 | call to emplace | TAINT | +| map.cpp:232:39:232:41 | call to map | map.cpp:233:7:233:9 | m24 | | +| map.cpp:232:39:232:41 | call to map | map.cpp:234:7:234:9 | m24 | | +| map.cpp:232:39:232:41 | call to map | map.cpp:235:7:235:9 | m24 | | +| map.cpp:232:39:232:41 | call to map | map.cpp:236:7:236:9 | m24 | | +| map.cpp:232:39:232:41 | call to map | map.cpp:252:1:252:1 | m24 | | +| map.cpp:232:44:232:46 | call to map | map.cpp:237:7:237:9 | m25 | | +| map.cpp:232:44:232:46 | call to map | map.cpp:237:24:237:26 | m25 | | +| map.cpp:232:44:232:46 | call to map | map.cpp:238:7:238:9 | m25 | | +| map.cpp:232:44:232:46 | call to map | map.cpp:239:7:239:9 | m25 | | +| map.cpp:232:44:232:46 | call to map | map.cpp:239:24:239:26 | m25 | | +| map.cpp:232:44:232:46 | call to map | map.cpp:240:7:240:9 | m25 | | +| map.cpp:232:44:232:46 | call to map | map.cpp:252:1:252:1 | m25 | | | map.cpp:233:7:233:9 | ref arg m24 | map.cpp:234:7:234:9 | m24 | | | map.cpp:233:7:233:9 | ref arg m24 | map.cpp:235:7:235:9 | m24 | | | map.cpp:233:7:233:9 | ref arg m24 | map.cpp:236:7:236:9 | m24 | | | map.cpp:233:7:233:9 | ref arg m24 | map.cpp:252:1:252:1 | m24 | | -| map.cpp:233:26:233:30 | def | map.cpp:233:7:233:9 | ref arg m24 | TAINT | -| map.cpp:233:26:233:30 | def | map.cpp:233:11:233:17 | call to emplace | TAINT | | map.cpp:233:33:233:37 | first | map.cpp:233:7:233:37 | call to iterator | | | map.cpp:234:7:234:9 | m24 | map.cpp:234:7:234:9 | call to map | | -| map.cpp:235:7:235:9 | m24 | map.cpp:235:11:235:17 | call to emplace | TAINT | | map.cpp:235:7:235:9 | ref arg m24 | map.cpp:236:7:236:9 | m24 | | | map.cpp:235:7:235:9 | ref arg m24 | map.cpp:252:1:252:1 | m24 | | -| map.cpp:235:26:235:31 | call to source | map.cpp:235:7:235:9 | ref arg m24 | TAINT | -| map.cpp:235:26:235:31 | call to source | map.cpp:235:11:235:17 | call to emplace | TAINT | | map.cpp:235:36:235:40 | first | map.cpp:235:7:235:40 | call to iterator | | | map.cpp:236:7:236:9 | m24 | map.cpp:236:7:236:9 | call to map | | -| map.cpp:237:7:237:9 | m25 | map.cpp:237:11:237:22 | call to emplace_hint | TAINT | | map.cpp:237:7:237:9 | ref arg m25 | map.cpp:238:7:238:9 | m25 | | | map.cpp:237:7:237:9 | ref arg m25 | map.cpp:239:7:239:9 | m25 | | | map.cpp:237:7:237:9 | ref arg m25 | map.cpp:239:24:239:26 | m25 | | @@ -2591,10 +2459,7 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | map.cpp:237:24:237:26 | ref arg m25 | map.cpp:240:7:240:9 | m25 | | | map.cpp:237:24:237:26 | ref arg m25 | map.cpp:252:1:252:1 | m25 | | | map.cpp:237:28:237:32 | call to begin | map.cpp:237:24:237:34 | call to iterator | TAINT | -| map.cpp:237:44:237:48 | def | map.cpp:237:7:237:9 | ref arg m25 | TAINT | -| map.cpp:237:44:237:48 | def | map.cpp:237:11:237:22 | call to emplace_hint | TAINT | | map.cpp:238:7:238:9 | m25 | map.cpp:238:7:238:9 | call to map | | -| map.cpp:239:7:239:9 | m25 | map.cpp:239:11:239:22 | call to emplace_hint | TAINT | | map.cpp:239:7:239:9 | ref arg m25 | map.cpp:240:7:240:9 | m25 | | | map.cpp:239:7:239:9 | ref arg m25 | map.cpp:252:1:252:1 | m25 | | | map.cpp:239:24:239:26 | m25 | map.cpp:239:28:239:32 | call to begin | TAINT | @@ -2602,38 +2467,29 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | map.cpp:239:24:239:26 | ref arg m25 | map.cpp:240:7:240:9 | m25 | | | map.cpp:239:24:239:26 | ref arg m25 | map.cpp:252:1:252:1 | m25 | | | map.cpp:239:28:239:32 | call to begin | map.cpp:239:24:239:34 | call to iterator | TAINT | -| map.cpp:239:44:239:49 | call to source | map.cpp:239:7:239:9 | ref arg m25 | TAINT | -| map.cpp:239:44:239:49 | call to source | map.cpp:239:11:239:22 | call to emplace_hint | TAINT | | map.cpp:240:7:240:9 | m25 | map.cpp:240:7:240:9 | call to map | | -| map.cpp:243:27:243:29 | call to map | map.cpp:244:7:244:9 | m26 | | -| map.cpp:243:27:243:29 | call to map | map.cpp:245:7:245:9 | m26 | | -| map.cpp:243:27:243:29 | call to map | map.cpp:246:7:246:9 | m26 | | -| map.cpp:243:27:243:29 | call to map | map.cpp:247:7:247:9 | m26 | | -| map.cpp:243:27:243:29 | call to map | map.cpp:252:1:252:1 | m26 | | -| map.cpp:243:32:243:34 | call to map | map.cpp:248:7:248:9 | m27 | | -| map.cpp:243:32:243:34 | call to map | map.cpp:248:23:248:25 | m27 | | -| map.cpp:243:32:243:34 | call to map | map.cpp:249:7:249:9 | m27 | | -| map.cpp:243:32:243:34 | call to map | map.cpp:250:7:250:9 | m27 | | -| map.cpp:243:32:243:34 | call to map | map.cpp:250:23:250:25 | m27 | | -| map.cpp:243:32:243:34 | call to map | map.cpp:251:7:251:9 | m27 | | -| map.cpp:243:32:243:34 | call to map | map.cpp:252:1:252:1 | m27 | | -| map.cpp:244:7:244:9 | m26 | map.cpp:244:11:244:21 | call to try_emplace | TAINT | +| map.cpp:243:39:243:41 | call to map | map.cpp:244:7:244:9 | m26 | | +| map.cpp:243:39:243:41 | call to map | map.cpp:245:7:245:9 | m26 | | +| map.cpp:243:39:243:41 | call to map | map.cpp:246:7:246:9 | m26 | | +| map.cpp:243:39:243:41 | call to map | map.cpp:247:7:247:9 | m26 | | +| map.cpp:243:39:243:41 | call to map | map.cpp:252:1:252:1 | m26 | | +| map.cpp:243:44:243:46 | call to map | map.cpp:248:7:248:9 | m27 | | +| map.cpp:243:44:243:46 | call to map | map.cpp:248:23:248:25 | m27 | | +| map.cpp:243:44:243:46 | call to map | map.cpp:249:7:249:9 | m27 | | +| map.cpp:243:44:243:46 | call to map | map.cpp:250:7:250:9 | m27 | | +| map.cpp:243:44:243:46 | call to map | map.cpp:250:23:250:25 | m27 | | +| map.cpp:243:44:243:46 | call to map | map.cpp:251:7:251:9 | m27 | | +| map.cpp:243:44:243:46 | call to map | map.cpp:252:1:252:1 | m27 | | | map.cpp:244:7:244:9 | ref arg m26 | map.cpp:245:7:245:9 | m26 | | | map.cpp:244:7:244:9 | ref arg m26 | map.cpp:246:7:246:9 | m26 | | | map.cpp:244:7:244:9 | ref arg m26 | map.cpp:247:7:247:9 | m26 | | | map.cpp:244:7:244:9 | ref arg m26 | map.cpp:252:1:252:1 | m26 | | -| map.cpp:244:30:244:34 | def | map.cpp:244:7:244:9 | ref arg m26 | TAINT | -| map.cpp:244:30:244:34 | def | map.cpp:244:11:244:21 | call to try_emplace | TAINT | | map.cpp:244:37:244:41 | first | map.cpp:244:7:244:41 | call to iterator | | | map.cpp:245:7:245:9 | m26 | map.cpp:245:7:245:9 | call to map | | -| map.cpp:246:7:246:9 | m26 | map.cpp:246:11:246:21 | call to try_emplace | TAINT | | map.cpp:246:7:246:9 | ref arg m26 | map.cpp:247:7:247:9 | m26 | | | map.cpp:246:7:246:9 | ref arg m26 | map.cpp:252:1:252:1 | m26 | | -| map.cpp:246:30:246:35 | call to source | map.cpp:246:7:246:9 | ref arg m26 | TAINT | -| map.cpp:246:30:246:35 | call to source | map.cpp:246:11:246:21 | call to try_emplace | TAINT | | map.cpp:246:40:246:44 | first | map.cpp:246:7:246:44 | call to iterator | | | map.cpp:247:7:247:9 | m26 | map.cpp:247:7:247:9 | call to map | | -| map.cpp:248:7:248:9 | m27 | map.cpp:248:11:248:21 | call to try_emplace | TAINT | | map.cpp:248:7:248:9 | ref arg m27 | map.cpp:249:7:249:9 | m27 | | | map.cpp:248:7:248:9 | ref arg m27 | map.cpp:250:7:250:9 | m27 | | | map.cpp:248:7:248:9 | ref arg m27 | map.cpp:250:23:250:25 | m27 | | @@ -2647,10 +2503,7 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | map.cpp:248:23:248:25 | ref arg m27 | map.cpp:251:7:251:9 | m27 | | | map.cpp:248:23:248:25 | ref arg m27 | map.cpp:252:1:252:1 | m27 | | | map.cpp:248:27:248:31 | call to begin | map.cpp:248:23:248:33 | call to iterator | TAINT | -| map.cpp:248:43:248:47 | def | map.cpp:248:7:248:9 | ref arg m27 | TAINT | -| map.cpp:248:43:248:47 | def | map.cpp:248:11:248:21 | call to try_emplace | TAINT | | map.cpp:249:7:249:9 | m27 | map.cpp:249:7:249:9 | call to map | | -| map.cpp:250:7:250:9 | m27 | map.cpp:250:11:250:21 | call to try_emplace | TAINT | | map.cpp:250:7:250:9 | ref arg m27 | map.cpp:251:7:251:9 | m27 | | | map.cpp:250:7:250:9 | ref arg m27 | map.cpp:252:1:252:1 | m27 | | | map.cpp:250:23:250:25 | m27 | map.cpp:250:27:250:31 | call to begin | TAINT | @@ -2658,50 +2511,48 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | map.cpp:250:23:250:25 | ref arg m27 | map.cpp:251:7:251:9 | m27 | | | map.cpp:250:23:250:25 | ref arg m27 | map.cpp:252:1:252:1 | m27 | | | map.cpp:250:27:250:31 | call to begin | map.cpp:250:23:250:33 | call to iterator | TAINT | -| map.cpp:250:43:250:48 | call to source | map.cpp:250:7:250:9 | ref arg m27 | TAINT | -| map.cpp:250:43:250:48 | call to source | map.cpp:250:11:250:21 | call to try_emplace | TAINT | | map.cpp:251:7:251:9 | m27 | map.cpp:251:7:251:9 | call to map | | -| map.cpp:257:37:257:38 | call to unordered_map | map.cpp:259:7:259:8 | m1 | | -| map.cpp:257:37:257:38 | call to unordered_map | map.cpp:265:7:265:8 | m1 | | -| map.cpp:257:37:257:38 | call to unordered_map | map.cpp:271:7:271:8 | m1 | | -| map.cpp:257:37:257:38 | call to unordered_map | map.cpp:277:7:277:8 | m1 | | -| map.cpp:257:37:257:38 | call to unordered_map | map.cpp:298:12:298:13 | m1 | | -| map.cpp:257:37:257:38 | call to unordered_map | map.cpp:298:30:298:31 | m1 | | -| map.cpp:257:37:257:38 | call to unordered_map | map.cpp:438:1:438:1 | m1 | | -| map.cpp:257:41:257:42 | call to unordered_map | map.cpp:260:7:260:8 | m2 | | -| map.cpp:257:41:257:42 | call to unordered_map | map.cpp:266:7:266:8 | m2 | | -| map.cpp:257:41:257:42 | call to unordered_map | map.cpp:272:7:272:8 | m2 | | -| map.cpp:257:41:257:42 | call to unordered_map | map.cpp:278:7:278:8 | m2 | | -| map.cpp:257:41:257:42 | call to unordered_map | map.cpp:285:40:285:41 | m2 | | -| map.cpp:257:41:257:42 | call to unordered_map | map.cpp:286:42:286:43 | m2 | | -| map.cpp:257:41:257:42 | call to unordered_map | map.cpp:288:7:288:8 | m2 | | -| map.cpp:257:41:257:42 | call to unordered_map | map.cpp:304:12:304:13 | m2 | | -| map.cpp:257:41:257:42 | call to unordered_map | map.cpp:304:30:304:31 | m2 | | -| map.cpp:257:41:257:42 | call to unordered_map | map.cpp:438:1:438:1 | m2 | | -| map.cpp:257:45:257:46 | call to unordered_map | map.cpp:261:7:261:8 | m3 | | -| map.cpp:257:45:257:46 | call to unordered_map | map.cpp:267:7:267:8 | m3 | | -| map.cpp:257:45:257:46 | call to unordered_map | map.cpp:273:7:273:8 | m3 | | -| map.cpp:257:45:257:46 | call to unordered_map | map.cpp:279:7:279:8 | m3 | | -| map.cpp:257:45:257:46 | call to unordered_map | map.cpp:310:12:310:13 | m3 | | -| map.cpp:257:45:257:46 | call to unordered_map | map.cpp:310:30:310:31 | m3 | | -| map.cpp:257:45:257:46 | call to unordered_map | map.cpp:438:1:438:1 | m3 | | -| map.cpp:257:49:257:50 | call to unordered_map | map.cpp:262:7:262:8 | m4 | | -| map.cpp:257:49:257:50 | call to unordered_map | map.cpp:262:17:262:18 | m4 | | -| map.cpp:257:49:257:50 | call to unordered_map | map.cpp:268:7:268:8 | m4 | | -| map.cpp:257:49:257:50 | call to unordered_map | map.cpp:274:7:274:8 | m4 | | -| map.cpp:257:49:257:50 | call to unordered_map | map.cpp:280:7:280:8 | m4 | | -| map.cpp:257:49:257:50 | call to unordered_map | map.cpp:438:1:438:1 | m4 | | -| map.cpp:257:53:257:54 | call to unordered_map | map.cpp:263:7:263:8 | m5 | | -| map.cpp:257:53:257:54 | call to unordered_map | map.cpp:269:7:269:8 | m5 | | -| map.cpp:257:53:257:54 | call to unordered_map | map.cpp:275:7:275:8 | m5 | | -| map.cpp:257:53:257:54 | call to unordered_map | map.cpp:281:7:281:8 | m5 | | -| map.cpp:257:53:257:54 | call to unordered_map | map.cpp:438:1:438:1 | m5 | | -| map.cpp:257:57:257:58 | call to unordered_map | map.cpp:264:7:264:8 | m6 | | -| map.cpp:257:57:257:58 | call to unordered_map | map.cpp:264:27:264:28 | m6 | | -| map.cpp:257:57:257:58 | call to unordered_map | map.cpp:270:7:270:8 | m6 | | -| map.cpp:257:57:257:58 | call to unordered_map | map.cpp:276:7:276:8 | m6 | | -| map.cpp:257:57:257:58 | call to unordered_map | map.cpp:282:7:282:8 | m6 | | -| map.cpp:257:57:257:58 | call to unordered_map | map.cpp:438:1:438:1 | m6 | | +| map.cpp:257:49:257:50 | call to unordered_map | map.cpp:259:7:259:8 | m1 | | +| map.cpp:257:49:257:50 | call to unordered_map | map.cpp:265:7:265:8 | m1 | | +| map.cpp:257:49:257:50 | call to unordered_map | map.cpp:271:7:271:8 | m1 | | +| map.cpp:257:49:257:50 | call to unordered_map | map.cpp:277:7:277:8 | m1 | | +| map.cpp:257:49:257:50 | call to unordered_map | map.cpp:298:12:298:13 | m1 | | +| map.cpp:257:49:257:50 | call to unordered_map | map.cpp:298:30:298:31 | m1 | | +| map.cpp:257:49:257:50 | call to unordered_map | map.cpp:438:1:438:1 | m1 | | +| map.cpp:257:53:257:54 | call to unordered_map | map.cpp:260:7:260:8 | m2 | | +| map.cpp:257:53:257:54 | call to unordered_map | map.cpp:266:7:266:8 | m2 | | +| map.cpp:257:53:257:54 | call to unordered_map | map.cpp:272:7:272:8 | m2 | | +| map.cpp:257:53:257:54 | call to unordered_map | map.cpp:278:7:278:8 | m2 | | +| map.cpp:257:53:257:54 | call to unordered_map | map.cpp:285:52:285:53 | m2 | | +| map.cpp:257:53:257:54 | call to unordered_map | map.cpp:286:54:286:55 | m2 | | +| map.cpp:257:53:257:54 | call to unordered_map | map.cpp:288:7:288:8 | m2 | | +| map.cpp:257:53:257:54 | call to unordered_map | map.cpp:304:12:304:13 | m2 | | +| map.cpp:257:53:257:54 | call to unordered_map | map.cpp:304:30:304:31 | m2 | | +| map.cpp:257:53:257:54 | call to unordered_map | map.cpp:438:1:438:1 | m2 | | +| map.cpp:257:57:257:58 | call to unordered_map | map.cpp:261:7:261:8 | m3 | | +| map.cpp:257:57:257:58 | call to unordered_map | map.cpp:267:7:267:8 | m3 | | +| map.cpp:257:57:257:58 | call to unordered_map | map.cpp:273:7:273:8 | m3 | | +| map.cpp:257:57:257:58 | call to unordered_map | map.cpp:279:7:279:8 | m3 | | +| map.cpp:257:57:257:58 | call to unordered_map | map.cpp:310:12:310:13 | m3 | | +| map.cpp:257:57:257:58 | call to unordered_map | map.cpp:310:30:310:31 | m3 | | +| map.cpp:257:57:257:58 | call to unordered_map | map.cpp:438:1:438:1 | m3 | | +| map.cpp:257:61:257:62 | call to unordered_map | map.cpp:262:7:262:8 | m4 | | +| map.cpp:257:61:257:62 | call to unordered_map | map.cpp:262:17:262:18 | m4 | | +| map.cpp:257:61:257:62 | call to unordered_map | map.cpp:268:7:268:8 | m4 | | +| map.cpp:257:61:257:62 | call to unordered_map | map.cpp:274:7:274:8 | m4 | | +| map.cpp:257:61:257:62 | call to unordered_map | map.cpp:280:7:280:8 | m4 | | +| map.cpp:257:61:257:62 | call to unordered_map | map.cpp:438:1:438:1 | m4 | | +| map.cpp:257:65:257:66 | call to unordered_map | map.cpp:263:7:263:8 | m5 | | +| map.cpp:257:65:257:66 | call to unordered_map | map.cpp:269:7:269:8 | m5 | | +| map.cpp:257:65:257:66 | call to unordered_map | map.cpp:275:7:275:8 | m5 | | +| map.cpp:257:65:257:66 | call to unordered_map | map.cpp:281:7:281:8 | m5 | | +| map.cpp:257:65:257:66 | call to unordered_map | map.cpp:438:1:438:1 | m5 | | +| map.cpp:257:69:257:70 | call to unordered_map | map.cpp:264:7:264:8 | m6 | | +| map.cpp:257:69:257:70 | call to unordered_map | map.cpp:264:27:264:28 | m6 | | +| map.cpp:257:69:257:70 | call to unordered_map | map.cpp:270:7:270:8 | m6 | | +| map.cpp:257:69:257:70 | call to unordered_map | map.cpp:276:7:276:8 | m6 | | +| map.cpp:257:69:257:70 | call to unordered_map | map.cpp:282:7:282:8 | m6 | | +| map.cpp:257:69:257:70 | call to unordered_map | map.cpp:438:1:438:1 | m6 | | | map.cpp:259:7:259:8 | ref arg m1 | map.cpp:265:7:265:8 | m1 | | | map.cpp:259:7:259:8 | ref arg m1 | map.cpp:271:7:271:8 | m1 | | | map.cpp:259:7:259:8 | ref arg m1 | map.cpp:277:7:277:8 | m1 | | @@ -2709,21 +2560,17 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | map.cpp:259:7:259:8 | ref arg m1 | map.cpp:298:30:298:31 | m1 | | | map.cpp:259:7:259:8 | ref arg m1 | map.cpp:438:1:438:1 | m1 | | | map.cpp:259:17:259:30 | call to make_pair | map.cpp:259:17:259:44 | call to pair | TAINT | -| map.cpp:259:17:259:44 | call to pair | map.cpp:259:7:259:8 | ref arg m1 | TAINT | -| map.cpp:259:17:259:44 | call to pair | map.cpp:259:10:259:15 | call to insert | TAINT | | map.cpp:259:47:259:51 | first | map.cpp:259:7:259:51 | call to iterator | | | map.cpp:260:7:260:8 | ref arg m2 | map.cpp:266:7:266:8 | m2 | | | map.cpp:260:7:260:8 | ref arg m2 | map.cpp:272:7:272:8 | m2 | | | map.cpp:260:7:260:8 | ref arg m2 | map.cpp:278:7:278:8 | m2 | | -| map.cpp:260:7:260:8 | ref arg m2 | map.cpp:285:40:285:41 | m2 | | -| map.cpp:260:7:260:8 | ref arg m2 | map.cpp:286:42:286:43 | m2 | | +| map.cpp:260:7:260:8 | ref arg m2 | map.cpp:285:52:285:53 | m2 | | +| map.cpp:260:7:260:8 | ref arg m2 | map.cpp:286:54:286:55 | m2 | | | map.cpp:260:7:260:8 | ref arg m2 | map.cpp:288:7:288:8 | m2 | | | map.cpp:260:7:260:8 | ref arg m2 | map.cpp:304:12:304:13 | m2 | | | map.cpp:260:7:260:8 | ref arg m2 | map.cpp:304:30:304:31 | m2 | | | map.cpp:260:7:260:8 | ref arg m2 | map.cpp:438:1:438:1 | m2 | | | map.cpp:260:17:260:30 | call to make_pair | map.cpp:260:17:260:47 | call to pair | TAINT | -| map.cpp:260:17:260:47 | call to pair | map.cpp:260:7:260:8 | ref arg m2 | TAINT | -| map.cpp:260:17:260:47 | call to pair | map.cpp:260:10:260:15 | call to insert | TAINT | | map.cpp:260:50:260:54 | first | map.cpp:260:7:260:54 | call to iterator | | | map.cpp:261:7:261:8 | ref arg m3 | map.cpp:267:7:267:8 | m3 | | | map.cpp:261:7:261:8 | ref arg m3 | map.cpp:273:7:273:8 | m3 | | @@ -2732,8 +2579,6 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | map.cpp:261:7:261:8 | ref arg m3 | map.cpp:310:30:310:31 | m3 | | | map.cpp:261:7:261:8 | ref arg m3 | map.cpp:438:1:438:1 | m3 | | | map.cpp:261:17:261:30 | call to make_pair | map.cpp:261:17:261:47 | call to pair | TAINT | -| map.cpp:261:17:261:47 | call to pair | map.cpp:261:7:261:8 | ref arg m3 | TAINT | -| map.cpp:261:17:261:47 | call to pair | map.cpp:261:10:261:15 | call to insert | TAINT | | map.cpp:261:50:261:54 | first | map.cpp:261:7:261:54 | call to iterator | | | map.cpp:262:7:262:8 | ref arg m4 | map.cpp:268:7:268:8 | m4 | | | map.cpp:262:7:262:8 | ref arg m4 | map.cpp:274:7:274:8 | m4 | | @@ -2746,16 +2591,11 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | map.cpp:262:17:262:18 | ref arg m4 | map.cpp:280:7:280:8 | m4 | | | map.cpp:262:17:262:18 | ref arg m4 | map.cpp:438:1:438:1 | m4 | | | map.cpp:262:20:262:24 | call to begin | map.cpp:262:17:262:26 | call to iterator | TAINT | -| map.cpp:262:29:262:70 | call to pair | map.cpp:262:7:262:8 | ref arg m4 | TAINT | -| map.cpp:262:29:262:70 | call to pair | map.cpp:262:10:262:15 | call to insert | TAINT | -| map.cpp:262:29:262:70 | call to pair | map.cpp:262:29:262:70 | call to pair | TAINT | -| map.cpp:262:62:262:67 | call to source | map.cpp:262:29:262:70 | call to pair | TAINT | +| map.cpp:262:29:262:82 | call to pair | map.cpp:262:29:262:82 | call to pair | TAINT | | map.cpp:263:7:263:8 | ref arg m5 | map.cpp:269:7:269:8 | m5 | | | map.cpp:263:7:263:8 | ref arg m5 | map.cpp:275:7:275:8 | m5 | | | map.cpp:263:7:263:8 | ref arg m5 | map.cpp:281:7:281:8 | m5 | | | map.cpp:263:7:263:8 | ref arg m5 | map.cpp:438:1:438:1 | m5 | | -| map.cpp:263:34:263:39 | call to source | map.cpp:263:7:263:8 | ref arg m5 | TAINT | -| map.cpp:263:34:263:39 | call to source | map.cpp:263:10:263:25 | call to insert_or_assign | TAINT | | map.cpp:263:44:263:48 | first | map.cpp:263:7:263:48 | call to iterator | | | map.cpp:264:7:264:8 | ref arg m6 | map.cpp:270:7:270:8 | m6 | | | map.cpp:264:7:264:8 | ref arg m6 | map.cpp:276:7:276:8 | m6 | | @@ -2768,74 +2608,60 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | map.cpp:264:27:264:28 | ref arg m6 | map.cpp:282:7:282:8 | m6 | | | map.cpp:264:27:264:28 | ref arg m6 | map.cpp:438:1:438:1 | m6 | | | map.cpp:264:30:264:34 | call to begin | map.cpp:264:27:264:36 | call to iterator | TAINT | -| map.cpp:264:46:264:51 | call to source | map.cpp:264:7:264:8 | ref arg m6 | TAINT | -| map.cpp:264:46:264:51 | call to source | map.cpp:264:10:264:25 | call to insert_or_assign | TAINT | | map.cpp:265:7:265:8 | m1 | map.cpp:265:7:265:8 | call to unordered_map | | | map.cpp:266:7:266:8 | m2 | map.cpp:266:7:266:8 | call to unordered_map | | | map.cpp:267:7:267:8 | m3 | map.cpp:267:7:267:8 | call to unordered_map | | | map.cpp:268:7:268:8 | m4 | map.cpp:268:7:268:8 | call to unordered_map | | | map.cpp:269:7:269:8 | m5 | map.cpp:269:7:269:8 | call to unordered_map | | | map.cpp:270:7:270:8 | m6 | map.cpp:270:7:270:8 | call to unordered_map | | -| map.cpp:271:7:271:8 | m1 | map.cpp:271:10:271:13 | call to find | TAINT | | map.cpp:271:7:271:8 | ref arg m1 | map.cpp:277:7:277:8 | m1 | | | map.cpp:271:7:271:8 | ref arg m1 | map.cpp:298:12:298:13 | m1 | | | map.cpp:271:7:271:8 | ref arg m1 | map.cpp:298:30:298:31 | m1 | | | map.cpp:271:7:271:8 | ref arg m1 | map.cpp:438:1:438:1 | m1 | | -| map.cpp:272:7:272:8 | m2 | map.cpp:272:10:272:13 | call to find | TAINT | | map.cpp:272:7:272:8 | ref arg m2 | map.cpp:278:7:278:8 | m2 | | -| map.cpp:272:7:272:8 | ref arg m2 | map.cpp:285:40:285:41 | m2 | | -| map.cpp:272:7:272:8 | ref arg m2 | map.cpp:286:42:286:43 | m2 | | +| map.cpp:272:7:272:8 | ref arg m2 | map.cpp:285:52:285:53 | m2 | | +| map.cpp:272:7:272:8 | ref arg m2 | map.cpp:286:54:286:55 | m2 | | | map.cpp:272:7:272:8 | ref arg m2 | map.cpp:288:7:288:8 | m2 | | | map.cpp:272:7:272:8 | ref arg m2 | map.cpp:304:12:304:13 | m2 | | | map.cpp:272:7:272:8 | ref arg m2 | map.cpp:304:30:304:31 | m2 | | | map.cpp:272:7:272:8 | ref arg m2 | map.cpp:438:1:438:1 | m2 | | -| map.cpp:273:7:273:8 | m3 | map.cpp:273:10:273:13 | call to find | TAINT | | map.cpp:273:7:273:8 | ref arg m3 | map.cpp:279:7:279:8 | m3 | | | map.cpp:273:7:273:8 | ref arg m3 | map.cpp:310:12:310:13 | m3 | | | map.cpp:273:7:273:8 | ref arg m3 | map.cpp:310:30:310:31 | m3 | | | map.cpp:273:7:273:8 | ref arg m3 | map.cpp:438:1:438:1 | m3 | | -| map.cpp:274:7:274:8 | m4 | map.cpp:274:10:274:13 | call to find | TAINT | | map.cpp:274:7:274:8 | ref arg m4 | map.cpp:280:7:280:8 | m4 | | | map.cpp:274:7:274:8 | ref arg m4 | map.cpp:438:1:438:1 | m4 | | -| map.cpp:275:7:275:8 | m5 | map.cpp:275:10:275:13 | call to find | TAINT | | map.cpp:275:7:275:8 | ref arg m5 | map.cpp:281:7:281:8 | m5 | | | map.cpp:275:7:275:8 | ref arg m5 | map.cpp:438:1:438:1 | m5 | | -| map.cpp:276:7:276:8 | m6 | map.cpp:276:10:276:13 | call to find | TAINT | | map.cpp:276:7:276:8 | ref arg m6 | map.cpp:282:7:282:8 | m6 | | | map.cpp:276:7:276:8 | ref arg m6 | map.cpp:438:1:438:1 | m6 | | -| map.cpp:277:7:277:8 | m1 | map.cpp:277:10:277:13 | call to find | TAINT | | map.cpp:277:7:277:8 | ref arg m1 | map.cpp:298:12:298:13 | m1 | | | map.cpp:277:7:277:8 | ref arg m1 | map.cpp:298:30:298:31 | m1 | | | map.cpp:277:7:277:8 | ref arg m1 | map.cpp:438:1:438:1 | m1 | | -| map.cpp:278:7:278:8 | m2 | map.cpp:278:10:278:13 | call to find | TAINT | -| map.cpp:278:7:278:8 | ref arg m2 | map.cpp:285:40:285:41 | m2 | | -| map.cpp:278:7:278:8 | ref arg m2 | map.cpp:286:42:286:43 | m2 | | +| map.cpp:278:7:278:8 | ref arg m2 | map.cpp:285:52:285:53 | m2 | | +| map.cpp:278:7:278:8 | ref arg m2 | map.cpp:286:54:286:55 | m2 | | | map.cpp:278:7:278:8 | ref arg m2 | map.cpp:288:7:288:8 | m2 | | | map.cpp:278:7:278:8 | ref arg m2 | map.cpp:304:12:304:13 | m2 | | | map.cpp:278:7:278:8 | ref arg m2 | map.cpp:304:30:304:31 | m2 | | | map.cpp:278:7:278:8 | ref arg m2 | map.cpp:438:1:438:1 | m2 | | -| map.cpp:279:7:279:8 | m3 | map.cpp:279:10:279:13 | call to find | TAINT | | map.cpp:279:7:279:8 | ref arg m3 | map.cpp:310:12:310:13 | m3 | | | map.cpp:279:7:279:8 | ref arg m3 | map.cpp:310:30:310:31 | m3 | | | map.cpp:279:7:279:8 | ref arg m3 | map.cpp:438:1:438:1 | m3 | | -| map.cpp:280:7:280:8 | m4 | map.cpp:280:10:280:13 | call to find | TAINT | | map.cpp:280:7:280:8 | ref arg m4 | map.cpp:438:1:438:1 | m4 | | -| map.cpp:281:7:281:8 | m5 | map.cpp:281:10:281:13 | call to find | TAINT | | map.cpp:281:7:281:8 | ref arg m5 | map.cpp:438:1:438:1 | m5 | | -| map.cpp:282:7:282:8 | m6 | map.cpp:282:10:282:13 | call to find | TAINT | | map.cpp:282:7:282:8 | ref arg m6 | map.cpp:438:1:438:1 | m6 | | -| map.cpp:285:40:285:41 | m2 | map.cpp:285:40:285:42 | call to unordered_map | | -| map.cpp:285:40:285:42 | call to unordered_map | map.cpp:289:7:289:8 | m7 | | -| map.cpp:285:40:285:42 | call to unordered_map | map.cpp:292:7:292:8 | m7 | | -| map.cpp:285:40:285:42 | call to unordered_map | map.cpp:438:1:438:1 | m7 | | -| map.cpp:286:41:286:43 | call to unordered_map | map.cpp:290:7:290:8 | m8 | | -| map.cpp:286:41:286:43 | call to unordered_map | map.cpp:293:7:293:8 | m8 | | -| map.cpp:286:41:286:43 | call to unordered_map | map.cpp:438:1:438:1 | m8 | | -| map.cpp:286:42:286:43 | m2 | map.cpp:286:41:286:43 | call to unordered_map | | -| map.cpp:287:37:287:38 | call to unordered_map | map.cpp:288:2:288:3 | m9 | | -| map.cpp:287:37:287:38 | call to unordered_map | map.cpp:291:7:291:8 | m9 | | -| map.cpp:287:37:287:38 | call to unordered_map | map.cpp:294:7:294:8 | m9 | | -| map.cpp:287:37:287:38 | call to unordered_map | map.cpp:438:1:438:1 | m9 | | +| map.cpp:285:52:285:53 | m2 | map.cpp:285:52:285:54 | call to unordered_map | | +| map.cpp:285:52:285:54 | call to unordered_map | map.cpp:289:7:289:8 | m7 | | +| map.cpp:285:52:285:54 | call to unordered_map | map.cpp:292:7:292:8 | m7 | | +| map.cpp:285:52:285:54 | call to unordered_map | map.cpp:438:1:438:1 | m7 | | +| map.cpp:286:53:286:55 | call to unordered_map | map.cpp:290:7:290:8 | m8 | | +| map.cpp:286:53:286:55 | call to unordered_map | map.cpp:293:7:293:8 | m8 | | +| map.cpp:286:53:286:55 | call to unordered_map | map.cpp:438:1:438:1 | m8 | | +| map.cpp:286:54:286:55 | m2 | map.cpp:286:53:286:55 | call to unordered_map | | +| map.cpp:287:49:287:50 | call to unordered_map | map.cpp:288:2:288:3 | m9 | | +| map.cpp:287:49:287:50 | call to unordered_map | map.cpp:291:7:291:8 | m9 | | +| map.cpp:287:49:287:50 | call to unordered_map | map.cpp:294:7:294:8 | m9 | | +| map.cpp:287:49:287:50 | call to unordered_map | map.cpp:438:1:438:1 | m9 | | | map.cpp:288:2:288:3 | ref arg m9 | map.cpp:291:7:291:8 | m9 | | | map.cpp:288:2:288:3 | ref arg m9 | map.cpp:294:7:294:8 | m9 | | | map.cpp:288:2:288:3 | ref arg m9 | map.cpp:438:1:438:1 | m9 | | @@ -2844,11 +2670,8 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | map.cpp:289:7:289:8 | m7 | map.cpp:289:7:289:8 | call to unordered_map | | | map.cpp:290:7:290:8 | m8 | map.cpp:290:7:290:8 | call to unordered_map | | | map.cpp:291:7:291:8 | m9 | map.cpp:291:7:291:8 | call to unordered_map | | -| map.cpp:292:7:292:8 | m7 | map.cpp:292:10:292:13 | call to find | TAINT | | map.cpp:292:7:292:8 | ref arg m7 | map.cpp:438:1:438:1 | m7 | | -| map.cpp:293:7:293:8 | m8 | map.cpp:293:10:293:13 | call to find | TAINT | | map.cpp:293:7:293:8 | ref arg m8 | map.cpp:438:1:438:1 | m8 | | -| map.cpp:294:7:294:8 | m9 | map.cpp:294:10:294:13 | call to find | TAINT | | map.cpp:294:7:294:8 | ref arg m9 | map.cpp:438:1:438:1 | m9 | | | map.cpp:298:12:298:13 | m1 | map.cpp:298:15:298:19 | call to begin | TAINT | | map.cpp:298:12:298:13 | ref arg m1 | map.cpp:298:30:298:31 | m1 | | @@ -2961,58 +2784,46 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | map.cpp:314:8:314:9 | ref arg i3 | map.cpp:312:9:312:10 | i3 | | | map.cpp:314:8:314:9 | ref arg i3 | map.cpp:313:8:313:9 | i3 | | | map.cpp:314:8:314:9 | ref arg i3 | map.cpp:314:8:314:9 | i3 | | -| map.cpp:318:37:318:39 | call to unordered_map | map.cpp:319:7:319:9 | m10 | | -| map.cpp:318:37:318:39 | call to unordered_map | map.cpp:323:7:323:9 | m10 | | -| map.cpp:318:37:318:39 | call to unordered_map | map.cpp:438:1:438:1 | m10 | | -| map.cpp:318:42:318:44 | call to unordered_map | map.cpp:320:7:320:9 | m11 | | -| map.cpp:318:42:318:44 | call to unordered_map | map.cpp:324:7:324:9 | m11 | | -| map.cpp:318:42:318:44 | call to unordered_map | map.cpp:438:1:438:1 | m11 | | -| map.cpp:318:47:318:49 | call to unordered_map | map.cpp:321:7:321:9 | m12 | | -| map.cpp:318:47:318:49 | call to unordered_map | map.cpp:325:7:325:9 | m12 | | -| map.cpp:318:47:318:49 | call to unordered_map | map.cpp:438:1:438:1 | m12 | | -| map.cpp:318:52:318:54 | call to unordered_map | map.cpp:322:7:322:9 | m13 | | -| map.cpp:318:52:318:54 | call to unordered_map | map.cpp:326:7:326:9 | m13 | | -| map.cpp:318:52:318:54 | call to unordered_map | map.cpp:438:1:438:1 | m13 | | -| map.cpp:319:7:319:9 | m10 | map.cpp:319:10:319:10 | call to operator[] | TAINT | +| map.cpp:318:49:318:51 | call to unordered_map | map.cpp:319:7:319:9 | m10 | | +| map.cpp:318:49:318:51 | call to unordered_map | map.cpp:323:7:323:9 | m10 | | +| map.cpp:318:49:318:51 | call to unordered_map | map.cpp:438:1:438:1 | m10 | | +| map.cpp:318:54:318:56 | call to unordered_map | map.cpp:320:7:320:9 | m11 | | +| map.cpp:318:54:318:56 | call to unordered_map | map.cpp:324:7:324:9 | m11 | | +| map.cpp:318:54:318:56 | call to unordered_map | map.cpp:438:1:438:1 | m11 | | +| map.cpp:318:59:318:61 | call to unordered_map | map.cpp:321:7:321:9 | m12 | | +| map.cpp:318:59:318:61 | call to unordered_map | map.cpp:325:7:325:9 | m12 | | +| map.cpp:318:59:318:61 | call to unordered_map | map.cpp:438:1:438:1 | m12 | | +| map.cpp:318:64:318:66 | call to unordered_map | map.cpp:322:7:322:9 | m13 | | +| map.cpp:318:64:318:66 | call to unordered_map | map.cpp:326:7:326:9 | m13 | | +| map.cpp:318:64:318:66 | call to unordered_map | map.cpp:438:1:438:1 | m13 | | | map.cpp:319:7:319:9 | ref arg m10 | map.cpp:323:7:323:9 | m10 | | | map.cpp:319:7:319:9 | ref arg m10 | map.cpp:438:1:438:1 | m10 | | | map.cpp:319:7:319:24 | ... = ... | map.cpp:319:10:319:10 | call to operator[] [post update] | | -| map.cpp:319:10:319:10 | call to operator[] [post update] | map.cpp:319:7:319:9 | ref arg m10 | TAINT | | map.cpp:319:20:319:24 | def | map.cpp:319:7:319:24 | ... = ... | | -| map.cpp:320:7:320:9 | m11 | map.cpp:320:10:320:10 | call to operator[] | TAINT | | map.cpp:320:7:320:9 | ref arg m11 | map.cpp:324:7:324:9 | m11 | | | map.cpp:320:7:320:9 | ref arg m11 | map.cpp:438:1:438:1 | m11 | | | map.cpp:320:7:320:27 | ... = ... | map.cpp:320:10:320:10 | call to operator[] [post update] | | -| map.cpp:320:10:320:10 | call to operator[] [post update] | map.cpp:320:7:320:9 | ref arg m11 | TAINT | | map.cpp:320:20:320:25 | call to source | map.cpp:320:7:320:27 | ... = ... | | -| map.cpp:321:7:321:9 | m12 | map.cpp:321:11:321:12 | call to at | TAINT | | map.cpp:321:7:321:9 | ref arg m12 | map.cpp:325:7:325:9 | m12 | | | map.cpp:321:7:321:9 | ref arg m12 | map.cpp:438:1:438:1 | m12 | | | map.cpp:321:7:321:27 | ... = ... | map.cpp:321:11:321:12 | call to at [post update] | | -| map.cpp:321:11:321:12 | call to at [post update] | map.cpp:321:7:321:9 | ref arg m12 | TAINT | | map.cpp:321:23:321:27 | def | map.cpp:321:7:321:27 | ... = ... | | -| map.cpp:322:7:322:9 | m13 | map.cpp:322:11:322:12 | call to at | TAINT | | map.cpp:322:7:322:9 | ref arg m13 | map.cpp:326:7:326:9 | m13 | | | map.cpp:322:7:322:9 | ref arg m13 | map.cpp:438:1:438:1 | m13 | | | map.cpp:322:7:322:30 | ... = ... | map.cpp:322:11:322:12 | call to at [post update] | | -| map.cpp:322:11:322:12 | call to at [post update] | map.cpp:322:7:322:9 | ref arg m13 | TAINT | | map.cpp:322:23:322:28 | call to source | map.cpp:322:7:322:30 | ... = ... | | -| map.cpp:323:7:323:9 | m10 | map.cpp:323:10:323:10 | call to operator[] | TAINT | | map.cpp:323:7:323:9 | ref arg m10 | map.cpp:438:1:438:1 | m10 | | -| map.cpp:324:7:324:9 | m11 | map.cpp:324:10:324:10 | call to operator[] | TAINT | | map.cpp:324:7:324:9 | ref arg m11 | map.cpp:438:1:438:1 | m11 | | -| map.cpp:325:7:325:9 | m12 | map.cpp:325:10:325:10 | call to operator[] | TAINT | | map.cpp:325:7:325:9 | ref arg m12 | map.cpp:438:1:438:1 | m12 | | -| map.cpp:326:7:326:9 | m13 | map.cpp:326:10:326:10 | call to operator[] | TAINT | | map.cpp:326:7:326:9 | ref arg m13 | map.cpp:438:1:438:1 | m13 | | -| map.cpp:329:37:329:39 | call to unordered_map | map.cpp:330:2:330:4 | m14 | | -| map.cpp:329:37:329:39 | call to unordered_map | map.cpp:331:2:331:4 | m14 | | -| map.cpp:329:37:329:39 | call to unordered_map | map.cpp:332:2:332:4 | m14 | | -| map.cpp:329:37:329:39 | call to unordered_map | map.cpp:333:2:333:4 | m14 | | -| map.cpp:329:37:329:39 | call to unordered_map | map.cpp:334:7:334:9 | m14 | | -| map.cpp:329:37:329:39 | call to unordered_map | map.cpp:335:7:335:9 | m14 | | -| map.cpp:329:37:329:39 | call to unordered_map | map.cpp:336:7:336:9 | m14 | | -| map.cpp:329:37:329:39 | call to unordered_map | map.cpp:438:1:438:1 | m14 | | +| map.cpp:329:49:329:51 | call to unordered_map | map.cpp:330:2:330:4 | m14 | | +| map.cpp:329:49:329:51 | call to unordered_map | map.cpp:331:2:331:4 | m14 | | +| map.cpp:329:49:329:51 | call to unordered_map | map.cpp:332:2:332:4 | m14 | | +| map.cpp:329:49:329:51 | call to unordered_map | map.cpp:333:2:333:4 | m14 | | +| map.cpp:329:49:329:51 | call to unordered_map | map.cpp:334:7:334:9 | m14 | | +| map.cpp:329:49:329:51 | call to unordered_map | map.cpp:335:7:335:9 | m14 | | +| map.cpp:329:49:329:51 | call to unordered_map | map.cpp:336:7:336:9 | m14 | | +| map.cpp:329:49:329:51 | call to unordered_map | map.cpp:438:1:438:1 | m14 | | | map.cpp:330:2:330:4 | ref arg m14 | map.cpp:331:2:331:4 | m14 | | | map.cpp:330:2:330:4 | ref arg m14 | map.cpp:332:2:332:4 | m14 | | | map.cpp:330:2:330:4 | ref arg m14 | map.cpp:333:2:333:4 | m14 | | @@ -3021,8 +2832,6 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | map.cpp:330:2:330:4 | ref arg m14 | map.cpp:336:7:336:9 | m14 | | | map.cpp:330:2:330:4 | ref arg m14 | map.cpp:438:1:438:1 | m14 | | | map.cpp:330:13:330:26 | call to make_pair | map.cpp:330:13:330:36 | call to pair | TAINT | -| map.cpp:330:13:330:36 | call to pair | map.cpp:330:2:330:4 | ref arg m14 | TAINT | -| map.cpp:330:13:330:36 | call to pair | map.cpp:330:6:330:11 | call to insert | TAINT | | map.cpp:331:2:331:4 | ref arg m14 | map.cpp:332:2:332:4 | m14 | | | map.cpp:331:2:331:4 | ref arg m14 | map.cpp:333:2:333:4 | m14 | | | map.cpp:331:2:331:4 | ref arg m14 | map.cpp:334:7:334:9 | m14 | | @@ -3030,69 +2839,54 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | map.cpp:331:2:331:4 | ref arg m14 | map.cpp:336:7:336:9 | m14 | | | map.cpp:331:2:331:4 | ref arg m14 | map.cpp:438:1:438:1 | m14 | | | map.cpp:331:13:331:26 | call to make_pair | map.cpp:331:13:331:41 | call to pair | TAINT | -| map.cpp:331:13:331:41 | call to pair | map.cpp:331:2:331:4 | ref arg m14 | TAINT | -| map.cpp:331:13:331:41 | call to pair | map.cpp:331:6:331:11 | call to insert | TAINT | | map.cpp:332:2:332:4 | ref arg m14 | map.cpp:333:2:333:4 | m14 | | | map.cpp:332:2:332:4 | ref arg m14 | map.cpp:334:7:334:9 | m14 | | | map.cpp:332:2:332:4 | ref arg m14 | map.cpp:335:7:335:9 | m14 | | | map.cpp:332:2:332:4 | ref arg m14 | map.cpp:336:7:336:9 | m14 | | | map.cpp:332:2:332:4 | ref arg m14 | map.cpp:438:1:438:1 | m14 | | | map.cpp:332:13:332:26 | call to make_pair | map.cpp:332:13:332:41 | call to pair | TAINT | -| map.cpp:332:13:332:41 | call to pair | map.cpp:332:2:332:4 | ref arg m14 | TAINT | -| map.cpp:332:13:332:41 | call to pair | map.cpp:332:6:332:11 | call to insert | TAINT | | map.cpp:333:2:333:4 | ref arg m14 | map.cpp:334:7:334:9 | m14 | | | map.cpp:333:2:333:4 | ref arg m14 | map.cpp:335:7:335:9 | m14 | | | map.cpp:333:2:333:4 | ref arg m14 | map.cpp:336:7:336:9 | m14 | | | map.cpp:333:2:333:4 | ref arg m14 | map.cpp:438:1:438:1 | m14 | | | map.cpp:333:13:333:26 | call to make_pair | map.cpp:333:13:333:36 | call to pair | TAINT | -| map.cpp:333:13:333:36 | call to pair | map.cpp:333:2:333:4 | ref arg m14 | TAINT | -| map.cpp:333:13:333:36 | call to pair | map.cpp:333:6:333:11 | call to insert | TAINT | -| map.cpp:334:7:334:9 | m14 | map.cpp:334:11:334:21 | call to equal_range | TAINT | | map.cpp:334:7:334:9 | ref arg m14 | map.cpp:335:7:335:9 | m14 | | | map.cpp:334:7:334:9 | ref arg m14 | map.cpp:336:7:336:9 | m14 | | | map.cpp:334:7:334:9 | ref arg m14 | map.cpp:438:1:438:1 | m14 | | | map.cpp:334:28:334:32 | first | map.cpp:334:7:334:32 | call to iterator | | -| map.cpp:335:7:335:9 | m14 | map.cpp:335:11:335:21 | call to equal_range | TAINT | | map.cpp:335:7:335:9 | ref arg m14 | map.cpp:336:7:336:9 | m14 | | | map.cpp:335:7:335:9 | ref arg m14 | map.cpp:438:1:438:1 | m14 | | | map.cpp:335:28:335:33 | second | map.cpp:335:7:335:33 | call to iterator | | -| map.cpp:336:7:336:9 | m14 | map.cpp:336:11:336:21 | call to equal_range | TAINT | | map.cpp:336:7:336:9 | ref arg m14 | map.cpp:438:1:438:1 | m14 | | | map.cpp:336:28:336:33 | second | map.cpp:336:7:336:33 | call to iterator | | -| map.cpp:339:37:339:39 | call to unordered_map | map.cpp:340:2:340:4 | m15 | | -| map.cpp:339:37:339:39 | call to unordered_map | map.cpp:342:7:342:9 | m15 | | -| map.cpp:339:37:339:39 | call to unordered_map | map.cpp:346:2:346:4 | m15 | | -| map.cpp:339:37:339:39 | call to unordered_map | map.cpp:348:7:348:9 | m15 | | -| map.cpp:339:37:339:39 | call to unordered_map | map.cpp:438:1:438:1 | m15 | | -| map.cpp:339:42:339:44 | call to unordered_map | map.cpp:343:7:343:9 | m16 | | -| map.cpp:339:42:339:44 | call to unordered_map | map.cpp:346:11:346:13 | m16 | | -| map.cpp:339:42:339:44 | call to unordered_map | map.cpp:349:7:349:9 | m16 | | -| map.cpp:339:42:339:44 | call to unordered_map | map.cpp:438:1:438:1 | m16 | | -| map.cpp:339:47:339:49 | call to unordered_map | map.cpp:344:7:344:9 | m17 | | -| map.cpp:339:47:339:49 | call to unordered_map | map.cpp:347:2:347:4 | m17 | | -| map.cpp:339:47:339:49 | call to unordered_map | map.cpp:350:7:350:9 | m17 | | -| map.cpp:339:47:339:49 | call to unordered_map | map.cpp:438:1:438:1 | m17 | | -| map.cpp:339:52:339:54 | call to unordered_map | map.cpp:341:2:341:4 | m18 | | -| map.cpp:339:52:339:54 | call to unordered_map | map.cpp:345:7:345:9 | m18 | | -| map.cpp:339:52:339:54 | call to unordered_map | map.cpp:347:11:347:13 | m18 | | -| map.cpp:339:52:339:54 | call to unordered_map | map.cpp:351:7:351:9 | m18 | | -| map.cpp:339:52:339:54 | call to unordered_map | map.cpp:438:1:438:1 | m18 | | +| map.cpp:339:49:339:51 | call to unordered_map | map.cpp:340:2:340:4 | m15 | | +| map.cpp:339:49:339:51 | call to unordered_map | map.cpp:342:7:342:9 | m15 | | +| map.cpp:339:49:339:51 | call to unordered_map | map.cpp:346:2:346:4 | m15 | | +| map.cpp:339:49:339:51 | call to unordered_map | map.cpp:348:7:348:9 | m15 | | +| map.cpp:339:49:339:51 | call to unordered_map | map.cpp:438:1:438:1 | m15 | | +| map.cpp:339:54:339:56 | call to unordered_map | map.cpp:343:7:343:9 | m16 | | +| map.cpp:339:54:339:56 | call to unordered_map | map.cpp:346:11:346:13 | m16 | | +| map.cpp:339:54:339:56 | call to unordered_map | map.cpp:349:7:349:9 | m16 | | +| map.cpp:339:54:339:56 | call to unordered_map | map.cpp:438:1:438:1 | m16 | | +| map.cpp:339:59:339:61 | call to unordered_map | map.cpp:344:7:344:9 | m17 | | +| map.cpp:339:59:339:61 | call to unordered_map | map.cpp:347:2:347:4 | m17 | | +| map.cpp:339:59:339:61 | call to unordered_map | map.cpp:350:7:350:9 | m17 | | +| map.cpp:339:59:339:61 | call to unordered_map | map.cpp:438:1:438:1 | m17 | | +| map.cpp:339:64:339:66 | call to unordered_map | map.cpp:341:2:341:4 | m18 | | +| map.cpp:339:64:339:66 | call to unordered_map | map.cpp:345:7:345:9 | m18 | | +| map.cpp:339:64:339:66 | call to unordered_map | map.cpp:347:11:347:13 | m18 | | +| map.cpp:339:64:339:66 | call to unordered_map | map.cpp:351:7:351:9 | m18 | | +| map.cpp:339:64:339:66 | call to unordered_map | map.cpp:438:1:438:1 | m18 | | | map.cpp:340:2:340:4 | ref arg m15 | map.cpp:342:7:342:9 | m15 | | | map.cpp:340:2:340:4 | ref arg m15 | map.cpp:346:2:346:4 | m15 | | | map.cpp:340:2:340:4 | ref arg m15 | map.cpp:348:7:348:9 | m15 | | | map.cpp:340:2:340:4 | ref arg m15 | map.cpp:438:1:438:1 | m15 | | -| map.cpp:340:13:340:57 | call to pair | map.cpp:340:2:340:4 | ref arg m15 | TAINT | -| map.cpp:340:13:340:57 | call to pair | map.cpp:340:6:340:11 | call to insert | TAINT | -| map.cpp:340:13:340:57 | call to pair | map.cpp:340:13:340:57 | call to pair | TAINT | -| map.cpp:340:49:340:54 | call to source | map.cpp:340:13:340:57 | call to pair | TAINT | +| map.cpp:340:13:340:69 | call to pair | map.cpp:340:13:340:69 | call to pair | TAINT | | map.cpp:341:2:341:4 | ref arg m18 | map.cpp:345:7:345:9 | m18 | | | map.cpp:341:2:341:4 | ref arg m18 | map.cpp:347:11:347:13 | m18 | | | map.cpp:341:2:341:4 | ref arg m18 | map.cpp:351:7:351:9 | m18 | | | map.cpp:341:2:341:4 | ref arg m18 | map.cpp:438:1:438:1 | m18 | | -| map.cpp:341:13:341:57 | call to pair | map.cpp:341:2:341:4 | ref arg m18 | TAINT | -| map.cpp:341:13:341:57 | call to pair | map.cpp:341:6:341:11 | call to insert | TAINT | -| map.cpp:341:13:341:57 | call to pair | map.cpp:341:13:341:57 | call to pair | TAINT | -| map.cpp:341:49:341:54 | call to source | map.cpp:341:13:341:57 | call to pair | TAINT | +| map.cpp:341:13:341:69 | call to pair | map.cpp:341:13:341:69 | call to pair | TAINT | | map.cpp:342:7:342:9 | m15 | map.cpp:342:7:342:9 | call to unordered_map | | | map.cpp:343:7:343:9 | m16 | map.cpp:343:7:343:9 | call to unordered_map | | | map.cpp:344:7:344:9 | m17 | map.cpp:344:7:344:9 | call to unordered_map | | @@ -3109,85 +2903,71 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | map.cpp:349:7:349:9 | m16 | map.cpp:349:7:349:9 | call to unordered_map | | | map.cpp:350:7:350:9 | m17 | map.cpp:350:7:350:9 | call to unordered_map | | | map.cpp:351:7:351:9 | m18 | map.cpp:351:7:351:9 | call to unordered_map | | -| map.cpp:354:37:354:39 | call to unordered_map | map.cpp:355:2:355:4 | m19 | | -| map.cpp:354:37:354:39 | call to unordered_map | map.cpp:359:7:359:9 | m19 | | -| map.cpp:354:37:354:39 | call to unordered_map | map.cpp:363:2:363:4 | m19 | | -| map.cpp:354:37:354:39 | call to unordered_map | map.cpp:365:7:365:9 | m19 | | -| map.cpp:354:37:354:39 | call to unordered_map | map.cpp:438:1:438:1 | m19 | | -| map.cpp:354:42:354:44 | call to unordered_map | map.cpp:356:2:356:4 | m20 | | -| map.cpp:354:42:354:44 | call to unordered_map | map.cpp:360:7:360:9 | m20 | | -| map.cpp:354:42:354:44 | call to unordered_map | map.cpp:363:12:363:14 | m20 | | -| map.cpp:354:42:354:44 | call to unordered_map | map.cpp:366:7:366:9 | m20 | | -| map.cpp:354:42:354:44 | call to unordered_map | map.cpp:438:1:438:1 | m20 | | -| map.cpp:354:47:354:49 | call to unordered_map | map.cpp:357:2:357:4 | m21 | | -| map.cpp:354:47:354:49 | call to unordered_map | map.cpp:361:7:361:9 | m21 | | -| map.cpp:354:47:354:49 | call to unordered_map | map.cpp:364:2:364:4 | m21 | | -| map.cpp:354:47:354:49 | call to unordered_map | map.cpp:367:7:367:9 | m21 | | -| map.cpp:354:47:354:49 | call to unordered_map | map.cpp:438:1:438:1 | m21 | | -| map.cpp:354:52:354:54 | call to unordered_map | map.cpp:358:2:358:4 | m22 | | -| map.cpp:354:52:354:54 | call to unordered_map | map.cpp:362:7:362:9 | m22 | | -| map.cpp:354:52:354:54 | call to unordered_map | map.cpp:364:12:364:14 | m22 | | -| map.cpp:354:52:354:54 | call to unordered_map | map.cpp:368:7:368:9 | m22 | | -| map.cpp:354:52:354:54 | call to unordered_map | map.cpp:438:1:438:1 | m22 | | +| map.cpp:354:49:354:51 | call to unordered_map | map.cpp:355:2:355:4 | m19 | | +| map.cpp:354:49:354:51 | call to unordered_map | map.cpp:359:7:359:9 | m19 | | +| map.cpp:354:49:354:51 | call to unordered_map | map.cpp:363:2:363:4 | m19 | | +| map.cpp:354:49:354:51 | call to unordered_map | map.cpp:365:7:365:9 | m19 | | +| map.cpp:354:49:354:51 | call to unordered_map | map.cpp:438:1:438:1 | m19 | | +| map.cpp:354:54:354:56 | call to unordered_map | map.cpp:356:2:356:4 | m20 | | +| map.cpp:354:54:354:56 | call to unordered_map | map.cpp:360:7:360:9 | m20 | | +| map.cpp:354:54:354:56 | call to unordered_map | map.cpp:363:12:363:14 | m20 | | +| map.cpp:354:54:354:56 | call to unordered_map | map.cpp:366:7:366:9 | m20 | | +| map.cpp:354:54:354:56 | call to unordered_map | map.cpp:438:1:438:1 | m20 | | +| map.cpp:354:59:354:61 | call to unordered_map | map.cpp:357:2:357:4 | m21 | | +| map.cpp:354:59:354:61 | call to unordered_map | map.cpp:361:7:361:9 | m21 | | +| map.cpp:354:59:354:61 | call to unordered_map | map.cpp:364:2:364:4 | m21 | | +| map.cpp:354:59:354:61 | call to unordered_map | map.cpp:367:7:367:9 | m21 | | +| map.cpp:354:59:354:61 | call to unordered_map | map.cpp:438:1:438:1 | m21 | | +| map.cpp:354:64:354:66 | call to unordered_map | map.cpp:358:2:358:4 | m22 | | +| map.cpp:354:64:354:66 | call to unordered_map | map.cpp:362:7:362:9 | m22 | | +| map.cpp:354:64:354:66 | call to unordered_map | map.cpp:364:12:364:14 | m22 | | +| map.cpp:354:64:354:66 | call to unordered_map | map.cpp:368:7:368:9 | m22 | | +| map.cpp:354:64:354:66 | call to unordered_map | map.cpp:438:1:438:1 | m22 | | | map.cpp:355:2:355:4 | ref arg m19 | map.cpp:359:7:359:9 | m19 | | | map.cpp:355:2:355:4 | ref arg m19 | map.cpp:363:2:363:4 | m19 | | | map.cpp:355:2:355:4 | ref arg m19 | map.cpp:365:7:365:9 | m19 | | | map.cpp:355:2:355:4 | ref arg m19 | map.cpp:438:1:438:1 | m19 | | -| map.cpp:355:13:355:57 | call to pair | map.cpp:355:2:355:4 | ref arg m19 | TAINT | -| map.cpp:355:13:355:57 | call to pair | map.cpp:355:6:355:11 | call to insert | TAINT | -| map.cpp:355:13:355:57 | call to pair | map.cpp:355:13:355:57 | call to pair | TAINT | -| map.cpp:355:49:355:54 | call to source | map.cpp:355:13:355:57 | call to pair | TAINT | +| map.cpp:355:13:355:69 | call to pair | map.cpp:355:13:355:69 | call to pair | TAINT | | map.cpp:356:2:356:4 | ref arg m20 | map.cpp:360:7:360:9 | m20 | | | map.cpp:356:2:356:4 | ref arg m20 | map.cpp:363:12:363:14 | m20 | | | map.cpp:356:2:356:4 | ref arg m20 | map.cpp:366:7:366:9 | m20 | | | map.cpp:356:2:356:4 | ref arg m20 | map.cpp:438:1:438:1 | m20 | | -| map.cpp:356:13:356:51 | call to pair | map.cpp:356:2:356:4 | ref arg m20 | TAINT | -| map.cpp:356:13:356:51 | call to pair | map.cpp:356:6:356:11 | call to insert | TAINT | -| map.cpp:356:13:356:51 | call to pair | map.cpp:356:13:356:51 | call to pair | TAINT | -| map.cpp:356:46:356:50 | def | map.cpp:356:13:356:51 | call to pair | TAINT | +| map.cpp:356:13:356:63 | call to pair | map.cpp:356:13:356:63 | call to pair | TAINT | | map.cpp:357:2:357:4 | ref arg m21 | map.cpp:361:7:361:9 | m21 | | | map.cpp:357:2:357:4 | ref arg m21 | map.cpp:364:2:364:4 | m21 | | | map.cpp:357:2:357:4 | ref arg m21 | map.cpp:367:7:367:9 | m21 | | | map.cpp:357:2:357:4 | ref arg m21 | map.cpp:438:1:438:1 | m21 | | -| map.cpp:357:13:357:51 | call to pair | map.cpp:357:2:357:4 | ref arg m21 | TAINT | -| map.cpp:357:13:357:51 | call to pair | map.cpp:357:6:357:11 | call to insert | TAINT | -| map.cpp:357:13:357:51 | call to pair | map.cpp:357:13:357:51 | call to pair | TAINT | -| map.cpp:357:46:357:50 | def | map.cpp:357:13:357:51 | call to pair | TAINT | +| map.cpp:357:13:357:63 | call to pair | map.cpp:357:13:357:63 | call to pair | TAINT | | map.cpp:358:2:358:4 | ref arg m22 | map.cpp:362:7:362:9 | m22 | | | map.cpp:358:2:358:4 | ref arg m22 | map.cpp:364:12:364:14 | m22 | | | map.cpp:358:2:358:4 | ref arg m22 | map.cpp:368:7:368:9 | m22 | | | map.cpp:358:2:358:4 | ref arg m22 | map.cpp:438:1:438:1 | m22 | | -| map.cpp:358:13:358:57 | call to pair | map.cpp:358:2:358:4 | ref arg m22 | TAINT | -| map.cpp:358:13:358:57 | call to pair | map.cpp:358:6:358:11 | call to insert | TAINT | -| map.cpp:358:13:358:57 | call to pair | map.cpp:358:13:358:57 | call to pair | TAINT | -| map.cpp:358:49:358:54 | call to source | map.cpp:358:13:358:57 | call to pair | TAINT | +| map.cpp:358:13:358:69 | call to pair | map.cpp:358:13:358:69 | call to pair | TAINT | | map.cpp:359:7:359:9 | m19 | map.cpp:359:7:359:9 | call to unordered_map | | | map.cpp:360:7:360:9 | m20 | map.cpp:360:7:360:9 | call to unordered_map | | | map.cpp:361:7:361:9 | m21 | map.cpp:361:7:361:9 | call to unordered_map | | | map.cpp:362:7:362:9 | m22 | map.cpp:362:7:362:9 | call to unordered_map | | | map.cpp:363:2:363:4 | ref arg m19 | map.cpp:365:7:365:9 | m19 | | | map.cpp:363:2:363:4 | ref arg m19 | map.cpp:438:1:438:1 | m19 | | -| map.cpp:363:12:363:14 | m20 | map.cpp:363:2:363:4 | ref arg m19 | TAINT | | map.cpp:363:12:363:14 | ref arg m20 | map.cpp:366:7:366:9 | m20 | | | map.cpp:363:12:363:14 | ref arg m20 | map.cpp:438:1:438:1 | m20 | | | map.cpp:364:2:364:4 | ref arg m21 | map.cpp:367:7:367:9 | m21 | | | map.cpp:364:2:364:4 | ref arg m21 | map.cpp:438:1:438:1 | m21 | | -| map.cpp:364:12:364:14 | m22 | map.cpp:364:2:364:4 | ref arg m21 | TAINT | | map.cpp:364:12:364:14 | ref arg m22 | map.cpp:368:7:368:9 | m22 | | | map.cpp:364:12:364:14 | ref arg m22 | map.cpp:438:1:438:1 | m22 | | | map.cpp:365:7:365:9 | m19 | map.cpp:365:7:365:9 | call to unordered_map | | | map.cpp:366:7:366:9 | m20 | map.cpp:366:7:366:9 | call to unordered_map | | | map.cpp:367:7:367:9 | m21 | map.cpp:367:7:367:9 | call to unordered_map | | | map.cpp:368:7:368:9 | m22 | map.cpp:368:7:368:9 | call to unordered_map | | -| map.cpp:371:37:371:39 | call to unordered_map | map.cpp:372:2:372:4 | m23 | | -| map.cpp:371:37:371:39 | call to unordered_map | map.cpp:373:2:373:4 | m23 | | -| map.cpp:371:37:371:39 | call to unordered_map | map.cpp:374:7:374:9 | m23 | | -| map.cpp:371:37:371:39 | call to unordered_map | map.cpp:375:7:375:9 | m23 | | -| map.cpp:371:37:371:39 | call to unordered_map | map.cpp:375:17:375:19 | m23 | | -| map.cpp:371:37:371:39 | call to unordered_map | map.cpp:376:7:376:9 | m23 | | -| map.cpp:371:37:371:39 | call to unordered_map | map.cpp:377:2:377:4 | m23 | | -| map.cpp:371:37:371:39 | call to unordered_map | map.cpp:378:7:378:9 | m23 | | -| map.cpp:371:37:371:39 | call to unordered_map | map.cpp:438:1:438:1 | m23 | | +| map.cpp:371:49:371:51 | call to unordered_map | map.cpp:372:2:372:4 | m23 | | +| map.cpp:371:49:371:51 | call to unordered_map | map.cpp:373:2:373:4 | m23 | | +| map.cpp:371:49:371:51 | call to unordered_map | map.cpp:374:7:374:9 | m23 | | +| map.cpp:371:49:371:51 | call to unordered_map | map.cpp:375:7:375:9 | m23 | | +| map.cpp:371:49:371:51 | call to unordered_map | map.cpp:375:17:375:19 | m23 | | +| map.cpp:371:49:371:51 | call to unordered_map | map.cpp:376:7:376:9 | m23 | | +| map.cpp:371:49:371:51 | call to unordered_map | map.cpp:377:2:377:4 | m23 | | +| map.cpp:371:49:371:51 | call to unordered_map | map.cpp:378:7:378:9 | m23 | | +| map.cpp:371:49:371:51 | call to unordered_map | map.cpp:438:1:438:1 | m23 | | | map.cpp:372:2:372:4 | ref arg m23 | map.cpp:373:2:373:4 | m23 | | | map.cpp:372:2:372:4 | ref arg m23 | map.cpp:374:7:374:9 | m23 | | | map.cpp:372:2:372:4 | ref arg m23 | map.cpp:375:7:375:9 | m23 | | @@ -3196,10 +2976,7 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | map.cpp:372:2:372:4 | ref arg m23 | map.cpp:377:2:377:4 | m23 | | | map.cpp:372:2:372:4 | ref arg m23 | map.cpp:378:7:378:9 | m23 | | | map.cpp:372:2:372:4 | ref arg m23 | map.cpp:438:1:438:1 | m23 | | -| map.cpp:372:13:372:57 | call to pair | map.cpp:372:2:372:4 | ref arg m23 | TAINT | -| map.cpp:372:13:372:57 | call to pair | map.cpp:372:6:372:11 | call to insert | TAINT | -| map.cpp:372:13:372:57 | call to pair | map.cpp:372:13:372:57 | call to pair | TAINT | -| map.cpp:372:49:372:54 | call to source | map.cpp:372:13:372:57 | call to pair | TAINT | +| map.cpp:372:13:372:69 | call to pair | map.cpp:372:13:372:69 | call to pair | TAINT | | map.cpp:373:2:373:4 | ref arg m23 | map.cpp:374:7:374:9 | m23 | | | map.cpp:373:2:373:4 | ref arg m23 | map.cpp:375:7:375:9 | m23 | | | map.cpp:373:2:373:4 | ref arg m23 | map.cpp:375:17:375:19 | m23 | | @@ -3207,12 +2984,8 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | map.cpp:373:2:373:4 | ref arg m23 | map.cpp:377:2:377:4 | m23 | | | map.cpp:373:2:373:4 | ref arg m23 | map.cpp:378:7:378:9 | m23 | | | map.cpp:373:2:373:4 | ref arg m23 | map.cpp:438:1:438:1 | m23 | | -| map.cpp:373:13:373:57 | call to pair | map.cpp:373:2:373:4 | ref arg m23 | TAINT | -| map.cpp:373:13:373:57 | call to pair | map.cpp:373:6:373:11 | call to insert | TAINT | -| map.cpp:373:13:373:57 | call to pair | map.cpp:373:13:373:57 | call to pair | TAINT | -| map.cpp:373:49:373:54 | call to source | map.cpp:373:13:373:57 | call to pair | TAINT | +| map.cpp:373:13:373:69 | call to pair | map.cpp:373:13:373:69 | call to pair | TAINT | | map.cpp:374:7:374:9 | m23 | map.cpp:374:7:374:9 | call to unordered_map | | -| map.cpp:375:7:375:9 | m23 | map.cpp:375:11:375:15 | call to erase | TAINT | | map.cpp:375:7:375:9 | ref arg m23 | map.cpp:376:7:376:9 | m23 | | | map.cpp:375:7:375:9 | ref arg m23 | map.cpp:377:2:377:4 | m23 | | | map.cpp:375:7:375:9 | ref arg m23 | map.cpp:378:7:378:9 | m23 | | @@ -3227,35 +3000,28 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | map.cpp:377:2:377:4 | ref arg m23 | map.cpp:378:7:378:9 | m23 | | | map.cpp:377:2:377:4 | ref arg m23 | map.cpp:438:1:438:1 | m23 | | | map.cpp:378:7:378:9 | m23 | map.cpp:378:7:378:9 | call to unordered_map | | -| map.cpp:381:37:381:39 | call to unordered_map | map.cpp:382:7:382:9 | m24 | | -| map.cpp:381:37:381:39 | call to unordered_map | map.cpp:383:7:383:9 | m24 | | -| map.cpp:381:37:381:39 | call to unordered_map | map.cpp:384:7:384:9 | m24 | | -| map.cpp:381:37:381:39 | call to unordered_map | map.cpp:385:7:385:9 | m24 | | -| map.cpp:381:37:381:39 | call to unordered_map | map.cpp:438:1:438:1 | m24 | | -| map.cpp:381:42:381:44 | call to unordered_map | map.cpp:386:7:386:9 | m25 | | -| map.cpp:381:42:381:44 | call to unordered_map | map.cpp:386:24:386:26 | m25 | | -| map.cpp:381:42:381:44 | call to unordered_map | map.cpp:387:7:387:9 | m25 | | -| map.cpp:381:42:381:44 | call to unordered_map | map.cpp:388:7:388:9 | m25 | | -| map.cpp:381:42:381:44 | call to unordered_map | map.cpp:388:24:388:26 | m25 | | -| map.cpp:381:42:381:44 | call to unordered_map | map.cpp:389:7:389:9 | m25 | | -| map.cpp:381:42:381:44 | call to unordered_map | map.cpp:438:1:438:1 | m25 | | -| map.cpp:382:7:382:9 | m24 | map.cpp:382:11:382:17 | call to emplace | TAINT | +| map.cpp:381:49:381:51 | call to unordered_map | map.cpp:382:7:382:9 | m24 | | +| map.cpp:381:49:381:51 | call to unordered_map | map.cpp:383:7:383:9 | m24 | | +| map.cpp:381:49:381:51 | call to unordered_map | map.cpp:384:7:384:9 | m24 | | +| map.cpp:381:49:381:51 | call to unordered_map | map.cpp:385:7:385:9 | m24 | | +| map.cpp:381:49:381:51 | call to unordered_map | map.cpp:438:1:438:1 | m24 | | +| map.cpp:381:54:381:56 | call to unordered_map | map.cpp:386:7:386:9 | m25 | | +| map.cpp:381:54:381:56 | call to unordered_map | map.cpp:386:24:386:26 | m25 | | +| map.cpp:381:54:381:56 | call to unordered_map | map.cpp:387:7:387:9 | m25 | | +| map.cpp:381:54:381:56 | call to unordered_map | map.cpp:388:7:388:9 | m25 | | +| map.cpp:381:54:381:56 | call to unordered_map | map.cpp:388:24:388:26 | m25 | | +| map.cpp:381:54:381:56 | call to unordered_map | map.cpp:389:7:389:9 | m25 | | +| map.cpp:381:54:381:56 | call to unordered_map | map.cpp:438:1:438:1 | m25 | | | map.cpp:382:7:382:9 | ref arg m24 | map.cpp:383:7:383:9 | m24 | | | map.cpp:382:7:382:9 | ref arg m24 | map.cpp:384:7:384:9 | m24 | | | map.cpp:382:7:382:9 | ref arg m24 | map.cpp:385:7:385:9 | m24 | | | map.cpp:382:7:382:9 | ref arg m24 | map.cpp:438:1:438:1 | m24 | | -| map.cpp:382:26:382:30 | def | map.cpp:382:7:382:9 | ref arg m24 | TAINT | -| map.cpp:382:26:382:30 | def | map.cpp:382:11:382:17 | call to emplace | TAINT | | map.cpp:382:33:382:37 | first | map.cpp:382:7:382:37 | call to iterator | | | map.cpp:383:7:383:9 | m24 | map.cpp:383:7:383:9 | call to unordered_map | | -| map.cpp:384:7:384:9 | m24 | map.cpp:384:11:384:17 | call to emplace | TAINT | | map.cpp:384:7:384:9 | ref arg m24 | map.cpp:385:7:385:9 | m24 | | | map.cpp:384:7:384:9 | ref arg m24 | map.cpp:438:1:438:1 | m24 | | -| map.cpp:384:26:384:31 | call to source | map.cpp:384:7:384:9 | ref arg m24 | TAINT | -| map.cpp:384:26:384:31 | call to source | map.cpp:384:11:384:17 | call to emplace | TAINT | | map.cpp:384:36:384:40 | first | map.cpp:384:7:384:40 | call to iterator | | | map.cpp:385:7:385:9 | m24 | map.cpp:385:7:385:9 | call to unordered_map | | -| map.cpp:386:7:386:9 | m25 | map.cpp:386:11:386:22 | call to emplace_hint | TAINT | | map.cpp:386:7:386:9 | ref arg m25 | map.cpp:387:7:387:9 | m25 | | | map.cpp:386:7:386:9 | ref arg m25 | map.cpp:388:7:388:9 | m25 | | | map.cpp:386:7:386:9 | ref arg m25 | map.cpp:388:24:388:26 | m25 | | @@ -3269,10 +3035,7 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | map.cpp:386:24:386:26 | ref arg m25 | map.cpp:389:7:389:9 | m25 | | | map.cpp:386:24:386:26 | ref arg m25 | map.cpp:438:1:438:1 | m25 | | | map.cpp:386:28:386:32 | call to begin | map.cpp:386:24:386:34 | call to iterator | TAINT | -| map.cpp:386:44:386:48 | def | map.cpp:386:7:386:9 | ref arg m25 | TAINT | -| map.cpp:386:44:386:48 | def | map.cpp:386:11:386:22 | call to emplace_hint | TAINT | | map.cpp:387:7:387:9 | m25 | map.cpp:387:7:387:9 | call to unordered_map | | -| map.cpp:388:7:388:9 | m25 | map.cpp:388:11:388:22 | call to emplace_hint | TAINT | | map.cpp:388:7:388:9 | ref arg m25 | map.cpp:389:7:389:9 | m25 | | | map.cpp:388:7:388:9 | ref arg m25 | map.cpp:438:1:438:1 | m25 | | | map.cpp:388:24:388:26 | m25 | map.cpp:388:28:388:32 | call to begin | TAINT | @@ -3280,63 +3043,48 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | map.cpp:388:24:388:26 | ref arg m25 | map.cpp:389:7:389:9 | m25 | | | map.cpp:388:24:388:26 | ref arg m25 | map.cpp:438:1:438:1 | m25 | | | map.cpp:388:28:388:32 | call to begin | map.cpp:388:24:388:34 | call to iterator | TAINT | -| map.cpp:388:44:388:49 | call to source | map.cpp:388:7:388:9 | ref arg m25 | TAINT | -| map.cpp:388:44:388:49 | call to source | map.cpp:388:11:388:22 | call to emplace_hint | TAINT | | map.cpp:389:7:389:9 | m25 | map.cpp:389:7:389:9 | call to unordered_map | | -| map.cpp:392:37:392:39 | call to unordered_map | map.cpp:393:7:393:9 | m26 | | -| map.cpp:392:37:392:39 | call to unordered_map | map.cpp:394:7:394:9 | m26 | | -| map.cpp:392:37:392:39 | call to unordered_map | map.cpp:395:7:395:9 | m26 | | -| map.cpp:392:37:392:39 | call to unordered_map | map.cpp:396:7:396:9 | m26 | | -| map.cpp:392:37:392:39 | call to unordered_map | map.cpp:397:7:397:9 | m26 | | -| map.cpp:392:37:392:39 | call to unordered_map | map.cpp:398:7:398:9 | m26 | | -| map.cpp:392:37:392:39 | call to unordered_map | map.cpp:438:1:438:1 | m26 | | -| map.cpp:392:42:392:44 | call to unordered_map | map.cpp:399:7:399:9 | m27 | | -| map.cpp:392:42:392:44 | call to unordered_map | map.cpp:399:23:399:25 | m27 | | -| map.cpp:392:42:392:44 | call to unordered_map | map.cpp:400:7:400:9 | m27 | | -| map.cpp:392:42:392:44 | call to unordered_map | map.cpp:401:7:401:9 | m27 | | -| map.cpp:392:42:392:44 | call to unordered_map | map.cpp:401:23:401:25 | m27 | | -| map.cpp:392:42:392:44 | call to unordered_map | map.cpp:402:7:402:9 | m27 | | -| map.cpp:392:42:392:44 | call to unordered_map | map.cpp:438:1:438:1 | m27 | | -| map.cpp:392:47:392:49 | call to unordered_map | map.cpp:403:7:403:9 | m28 | | -| map.cpp:392:47:392:49 | call to unordered_map | map.cpp:403:23:403:25 | m28 | | -| map.cpp:392:47:392:49 | call to unordered_map | map.cpp:404:7:404:9 | m28 | | -| map.cpp:392:47:392:49 | call to unordered_map | map.cpp:405:7:405:9 | m28 | | -| map.cpp:392:47:392:49 | call to unordered_map | map.cpp:405:23:405:25 | m28 | | -| map.cpp:392:47:392:49 | call to unordered_map | map.cpp:406:7:406:9 | m28 | | -| map.cpp:392:47:392:49 | call to unordered_map | map.cpp:438:1:438:1 | m28 | | -| map.cpp:393:7:393:9 | m26 | map.cpp:393:11:393:21 | call to try_emplace | TAINT | +| map.cpp:392:49:392:51 | call to unordered_map | map.cpp:393:7:393:9 | m26 | | +| map.cpp:392:49:392:51 | call to unordered_map | map.cpp:394:7:394:9 | m26 | | +| map.cpp:392:49:392:51 | call to unordered_map | map.cpp:395:7:395:9 | m26 | | +| map.cpp:392:49:392:51 | call to unordered_map | map.cpp:396:7:396:9 | m26 | | +| map.cpp:392:49:392:51 | call to unordered_map | map.cpp:397:7:397:9 | m26 | | +| map.cpp:392:49:392:51 | call to unordered_map | map.cpp:398:7:398:9 | m26 | | +| map.cpp:392:49:392:51 | call to unordered_map | map.cpp:438:1:438:1 | m26 | | +| map.cpp:392:54:392:56 | call to unordered_map | map.cpp:399:7:399:9 | m27 | | +| map.cpp:392:54:392:56 | call to unordered_map | map.cpp:399:23:399:25 | m27 | | +| map.cpp:392:54:392:56 | call to unordered_map | map.cpp:400:7:400:9 | m27 | | +| map.cpp:392:54:392:56 | call to unordered_map | map.cpp:401:7:401:9 | m27 | | +| map.cpp:392:54:392:56 | call to unordered_map | map.cpp:401:23:401:25 | m27 | | +| map.cpp:392:54:392:56 | call to unordered_map | map.cpp:402:7:402:9 | m27 | | +| map.cpp:392:54:392:56 | call to unordered_map | map.cpp:438:1:438:1 | m27 | | +| map.cpp:392:59:392:61 | call to unordered_map | map.cpp:403:7:403:9 | m28 | | +| map.cpp:392:59:392:61 | call to unordered_map | map.cpp:403:23:403:25 | m28 | | +| map.cpp:392:59:392:61 | call to unordered_map | map.cpp:404:7:404:9 | m28 | | +| map.cpp:392:59:392:61 | call to unordered_map | map.cpp:405:7:405:9 | m28 | | +| map.cpp:392:59:392:61 | call to unordered_map | map.cpp:405:23:405:25 | m28 | | +| map.cpp:392:59:392:61 | call to unordered_map | map.cpp:406:7:406:9 | m28 | | +| map.cpp:392:59:392:61 | call to unordered_map | map.cpp:438:1:438:1 | m28 | | | map.cpp:393:7:393:9 | ref arg m26 | map.cpp:394:7:394:9 | m26 | | | map.cpp:393:7:393:9 | ref arg m26 | map.cpp:395:7:395:9 | m26 | | | map.cpp:393:7:393:9 | ref arg m26 | map.cpp:396:7:396:9 | m26 | | | map.cpp:393:7:393:9 | ref arg m26 | map.cpp:397:7:397:9 | m26 | | | map.cpp:393:7:393:9 | ref arg m26 | map.cpp:398:7:398:9 | m26 | | | map.cpp:393:7:393:9 | ref arg m26 | map.cpp:438:1:438:1 | m26 | | -| map.cpp:393:30:393:34 | def | map.cpp:393:7:393:9 | ref arg m26 | TAINT | -| map.cpp:393:30:393:34 | def | map.cpp:393:11:393:21 | call to try_emplace | TAINT | | map.cpp:393:37:393:41 | first | map.cpp:393:7:393:41 | call to iterator | | -| map.cpp:394:7:394:9 | m26 | map.cpp:394:11:394:21 | call to try_emplace | TAINT | | map.cpp:394:7:394:9 | ref arg m26 | map.cpp:395:7:395:9 | m26 | | | map.cpp:394:7:394:9 | ref arg m26 | map.cpp:396:7:396:9 | m26 | | | map.cpp:394:7:394:9 | ref arg m26 | map.cpp:397:7:397:9 | m26 | | | map.cpp:394:7:394:9 | ref arg m26 | map.cpp:398:7:398:9 | m26 | | | map.cpp:394:7:394:9 | ref arg m26 | map.cpp:438:1:438:1 | m26 | | -| map.cpp:394:30:394:34 | def | map.cpp:394:7:394:9 | ref arg m26 | TAINT | -| map.cpp:394:30:394:34 | def | map.cpp:394:11:394:21 | call to try_emplace | TAINT | | map.cpp:395:7:395:9 | m26 | map.cpp:395:7:395:9 | call to unordered_map | | -| map.cpp:396:7:396:9 | m26 | map.cpp:396:11:396:21 | call to try_emplace | TAINT | | map.cpp:396:7:396:9 | ref arg m26 | map.cpp:397:7:397:9 | m26 | | | map.cpp:396:7:396:9 | ref arg m26 | map.cpp:398:7:398:9 | m26 | | | map.cpp:396:7:396:9 | ref arg m26 | map.cpp:438:1:438:1 | m26 | | -| map.cpp:396:30:396:35 | call to source | map.cpp:396:7:396:9 | ref arg m26 | TAINT | -| map.cpp:396:30:396:35 | call to source | map.cpp:396:11:396:21 | call to try_emplace | TAINT | | map.cpp:396:40:396:44 | first | map.cpp:396:7:396:44 | call to iterator | | -| map.cpp:397:7:397:9 | m26 | map.cpp:397:11:397:21 | call to try_emplace | TAINT | | map.cpp:397:7:397:9 | ref arg m26 | map.cpp:398:7:398:9 | m26 | | | map.cpp:397:7:397:9 | ref arg m26 | map.cpp:438:1:438:1 | m26 | | -| map.cpp:397:30:397:35 | call to source | map.cpp:397:7:397:9 | ref arg m26 | TAINT | -| map.cpp:397:30:397:35 | call to source | map.cpp:397:11:397:21 | call to try_emplace | TAINT | | map.cpp:398:7:398:9 | m26 | map.cpp:398:7:398:9 | call to unordered_map | | -| map.cpp:399:7:399:9 | m27 | map.cpp:399:11:399:21 | call to try_emplace | TAINT | | map.cpp:399:7:399:9 | ref arg m27 | map.cpp:400:7:400:9 | m27 | | | map.cpp:399:7:399:9 | ref arg m27 | map.cpp:401:7:401:9 | m27 | | | map.cpp:399:7:399:9 | ref arg m27 | map.cpp:401:23:401:25 | m27 | | @@ -3350,10 +3098,7 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | map.cpp:399:23:399:25 | ref arg m27 | map.cpp:402:7:402:9 | m27 | | | map.cpp:399:23:399:25 | ref arg m27 | map.cpp:438:1:438:1 | m27 | | | map.cpp:399:27:399:31 | call to begin | map.cpp:399:23:399:33 | call to iterator | TAINT | -| map.cpp:399:43:399:47 | def | map.cpp:399:7:399:9 | ref arg m27 | TAINT | -| map.cpp:399:43:399:47 | def | map.cpp:399:11:399:21 | call to try_emplace | TAINT | | map.cpp:400:7:400:9 | m27 | map.cpp:400:7:400:9 | call to unordered_map | | -| map.cpp:401:7:401:9 | m27 | map.cpp:401:11:401:21 | call to try_emplace | TAINT | | map.cpp:401:7:401:9 | ref arg m27 | map.cpp:402:7:402:9 | m27 | | | map.cpp:401:7:401:9 | ref arg m27 | map.cpp:438:1:438:1 | m27 | | | map.cpp:401:23:401:25 | m27 | map.cpp:401:27:401:31 | call to begin | TAINT | @@ -3361,10 +3106,7 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | map.cpp:401:23:401:25 | ref arg m27 | map.cpp:402:7:402:9 | m27 | | | map.cpp:401:23:401:25 | ref arg m27 | map.cpp:438:1:438:1 | m27 | | | map.cpp:401:27:401:31 | call to begin | map.cpp:401:23:401:33 | call to iterator | TAINT | -| map.cpp:401:43:401:48 | call to source | map.cpp:401:7:401:9 | ref arg m27 | TAINT | -| map.cpp:401:43:401:48 | call to source | map.cpp:401:11:401:21 | call to try_emplace | TAINT | | map.cpp:402:7:402:9 | m27 | map.cpp:402:7:402:9 | call to unordered_map | | -| map.cpp:403:7:403:9 | m28 | map.cpp:403:11:403:21 | call to try_emplace | TAINT | | map.cpp:403:7:403:9 | ref arg m28 | map.cpp:404:7:404:9 | m28 | | | map.cpp:403:7:403:9 | ref arg m28 | map.cpp:405:7:405:9 | m28 | | | map.cpp:403:7:403:9 | ref arg m28 | map.cpp:405:23:405:25 | m28 | | @@ -3378,10 +3120,7 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | map.cpp:403:23:403:25 | ref arg m28 | map.cpp:406:7:406:9 | m28 | | | map.cpp:403:23:403:25 | ref arg m28 | map.cpp:438:1:438:1 | m28 | | | map.cpp:403:27:403:31 | call to begin | map.cpp:403:23:403:33 | call to iterator | TAINT | -| map.cpp:403:43:403:47 | def | map.cpp:403:7:403:9 | ref arg m28 | TAINT | -| map.cpp:403:43:403:47 | def | map.cpp:403:11:403:21 | call to try_emplace | TAINT | | map.cpp:404:7:404:9 | m28 | map.cpp:404:7:404:9 | call to unordered_map | | -| map.cpp:405:7:405:9 | m28 | map.cpp:405:11:405:21 | call to try_emplace | TAINT | | map.cpp:405:7:405:9 | ref arg m28 | map.cpp:406:7:406:9 | m28 | | | map.cpp:405:7:405:9 | ref arg m28 | map.cpp:438:1:438:1 | m28 | | | map.cpp:405:23:405:25 | m28 | map.cpp:405:27:405:31 | call to begin | TAINT | @@ -3389,156 +3128,109 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | map.cpp:405:23:405:25 | ref arg m28 | map.cpp:406:7:406:9 | m28 | | | map.cpp:405:23:405:25 | ref arg m28 | map.cpp:438:1:438:1 | m28 | | | map.cpp:405:27:405:31 | call to begin | map.cpp:405:23:405:33 | call to iterator | TAINT | -| map.cpp:405:46:405:50 | def | map.cpp:405:7:405:9 | ref arg m28 | TAINT | -| map.cpp:405:46:405:50 | def | map.cpp:405:11:405:21 | call to try_emplace | TAINT | | map.cpp:406:7:406:9 | m28 | map.cpp:406:7:406:9 | call to unordered_map | | -| map.cpp:409:50:409:52 | call to unordered_map | map.cpp:410:7:410:9 | m29 | | -| map.cpp:409:50:409:52 | call to unordered_map | map.cpp:411:7:411:9 | m29 | | -| map.cpp:409:50:409:52 | call to unordered_map | map.cpp:412:7:412:9 | m29 | | -| map.cpp:409:50:409:52 | call to unordered_map | map.cpp:438:1:438:1 | m29 | | -| map.cpp:409:55:409:57 | call to unordered_map | map.cpp:413:7:413:9 | m30 | | -| map.cpp:409:55:409:57 | call to unordered_map | map.cpp:414:7:414:9 | m30 | | -| map.cpp:409:55:409:57 | call to unordered_map | map.cpp:415:7:415:9 | m30 | | -| map.cpp:409:55:409:57 | call to unordered_map | map.cpp:438:1:438:1 | m30 | | -| map.cpp:409:60:409:62 | call to unordered_map | map.cpp:416:7:416:9 | m31 | | -| map.cpp:409:60:409:62 | call to unordered_map | map.cpp:417:7:417:9 | m31 | | -| map.cpp:409:60:409:62 | call to unordered_map | map.cpp:418:7:418:9 | m31 | | -| map.cpp:409:60:409:62 | call to unordered_map | map.cpp:438:1:438:1 | m31 | | -| map.cpp:409:65:409:67 | call to unordered_map | map.cpp:419:7:419:9 | m32 | | -| map.cpp:409:65:409:67 | call to unordered_map | map.cpp:420:7:420:9 | m32 | | -| map.cpp:409:65:409:67 | call to unordered_map | map.cpp:421:7:421:9 | m32 | | -| map.cpp:409:65:409:67 | call to unordered_map | map.cpp:438:1:438:1 | m32 | | -| map.cpp:410:7:410:9 | m29 | map.cpp:410:11:410:21 | call to try_emplace | TAINT | +| map.cpp:409:56:409:58 | call to unordered_map | map.cpp:410:7:410:9 | m29 | | +| map.cpp:409:56:409:58 | call to unordered_map | map.cpp:411:7:411:9 | m29 | | +| map.cpp:409:56:409:58 | call to unordered_map | map.cpp:412:7:412:9 | m29 | | +| map.cpp:409:56:409:58 | call to unordered_map | map.cpp:438:1:438:1 | m29 | | +| map.cpp:409:61:409:63 | call to unordered_map | map.cpp:413:7:413:9 | m30 | | +| map.cpp:409:61:409:63 | call to unordered_map | map.cpp:414:7:414:9 | m30 | | +| map.cpp:409:61:409:63 | call to unordered_map | map.cpp:415:7:415:9 | m30 | | +| map.cpp:409:61:409:63 | call to unordered_map | map.cpp:438:1:438:1 | m30 | | +| map.cpp:409:66:409:68 | call to unordered_map | map.cpp:416:7:416:9 | m31 | | +| map.cpp:409:66:409:68 | call to unordered_map | map.cpp:417:7:417:9 | m31 | | +| map.cpp:409:66:409:68 | call to unordered_map | map.cpp:418:7:418:9 | m31 | | +| map.cpp:409:66:409:68 | call to unordered_map | map.cpp:438:1:438:1 | m31 | | +| map.cpp:409:71:409:73 | call to unordered_map | map.cpp:419:7:419:9 | m32 | | +| map.cpp:409:71:409:73 | call to unordered_map | map.cpp:420:7:420:9 | m32 | | +| map.cpp:409:71:409:73 | call to unordered_map | map.cpp:421:7:421:9 | m32 | | +| map.cpp:409:71:409:73 | call to unordered_map | map.cpp:438:1:438:1 | m32 | | +| map.cpp:409:113:409:113 | x | map.cpp:409:142:409:142 | x | | +| map.cpp:409:113:409:113 | x | map.cpp:409:145:409:145 | x | | | map.cpp:410:7:410:9 | ref arg m29 | map.cpp:411:7:411:9 | m29 | | | map.cpp:410:7:410:9 | ref arg m29 | map.cpp:412:7:412:9 | m29 | | | map.cpp:410:7:410:9 | ref arg m29 | map.cpp:438:1:438:1 | m29 | | | map.cpp:410:11:410:21 | call to try_emplace | map.cpp:410:7:410:34 | call to pair | TAINT | -| map.cpp:410:30:410:30 | 1 | map.cpp:410:7:410:9 | ref arg m29 | TAINT | -| map.cpp:410:30:410:30 | 1 | map.cpp:410:11:410:21 | call to try_emplace | TAINT | -| map.cpp:410:33:410:33 | 2 | map.cpp:410:7:410:9 | ref arg m29 | TAINT | -| map.cpp:410:33:410:33 | 2 | map.cpp:410:11:410:21 | call to try_emplace | TAINT | | map.cpp:411:7:411:9 | m29 | map.cpp:411:7:411:9 | call to unordered_map | | -| map.cpp:412:7:412:9 | m29 | map.cpp:412:10:412:10 | call to operator[] | TAINT | | map.cpp:412:7:412:9 | ref arg m29 | map.cpp:438:1:438:1 | m29 | | | map.cpp:412:10:412:10 | call to operator[] | map.cpp:412:7:412:16 | call to pair | TAINT | -| map.cpp:413:7:413:9 | m30 | map.cpp:413:11:413:21 | call to try_emplace | TAINT | | map.cpp:413:7:413:9 | ref arg m30 | map.cpp:414:7:414:9 | m30 | | | map.cpp:413:7:413:9 | ref arg m30 | map.cpp:415:7:415:9 | m30 | | | map.cpp:413:7:413:9 | ref arg m30 | map.cpp:438:1:438:1 | m30 | | | map.cpp:413:11:413:21 | call to try_emplace | map.cpp:413:7:413:37 | call to pair | TAINT | -| map.cpp:413:33:413:33 | 1 | map.cpp:413:7:413:9 | ref arg m30 | TAINT | -| map.cpp:413:33:413:33 | 1 | map.cpp:413:11:413:21 | call to try_emplace | TAINT | -| map.cpp:413:36:413:36 | 2 | map.cpp:413:7:413:9 | ref arg m30 | TAINT | -| map.cpp:413:36:413:36 | 2 | map.cpp:413:11:413:21 | call to try_emplace | TAINT | | map.cpp:414:7:414:9 | m30 | map.cpp:414:7:414:9 | call to unordered_map | | -| map.cpp:415:7:415:9 | m30 | map.cpp:415:10:415:10 | call to operator[] | TAINT | | map.cpp:415:7:415:9 | ref arg m30 | map.cpp:438:1:438:1 | m30 | | | map.cpp:415:10:415:10 | call to operator[] | map.cpp:415:7:415:16 | call to pair | TAINT | -| map.cpp:416:7:416:9 | m31 | map.cpp:416:11:416:21 | call to try_emplace | TAINT | | map.cpp:416:7:416:9 | ref arg m31 | map.cpp:417:7:417:9 | m31 | | | map.cpp:416:7:416:9 | ref arg m31 | map.cpp:418:7:418:9 | m31 | | | map.cpp:416:7:416:9 | ref arg m31 | map.cpp:438:1:438:1 | m31 | | -| map.cpp:416:11:416:21 | call to try_emplace | map.cpp:416:7:416:41 | call to pair | TAINT | -| map.cpp:416:30:416:35 | call to source | map.cpp:416:7:416:9 | ref arg m31 | TAINT | -| map.cpp:416:30:416:35 | call to source | map.cpp:416:11:416:21 | call to try_emplace | TAINT | -| map.cpp:416:40:416:40 | 2 | map.cpp:416:7:416:9 | ref arg m31 | TAINT | -| map.cpp:416:40:416:40 | 2 | map.cpp:416:11:416:21 | call to try_emplace | TAINT | +| map.cpp:416:44:416:48 | first | map.cpp:416:49:416:49 | call to operator-> | TAINT | | map.cpp:417:7:417:9 | m31 | map.cpp:417:7:417:9 | call to unordered_map | | -| map.cpp:418:7:418:9 | m31 | map.cpp:418:10:418:10 | call to operator[] | TAINT | | map.cpp:418:7:418:9 | ref arg m31 | map.cpp:438:1:438:1 | m31 | | | map.cpp:418:10:418:10 | call to operator[] | map.cpp:418:7:418:16 | call to pair | TAINT | -| map.cpp:419:7:419:9 | m32 | map.cpp:419:11:419:21 | call to try_emplace | TAINT | | map.cpp:419:7:419:9 | ref arg m32 | map.cpp:420:7:420:9 | m32 | | | map.cpp:419:7:419:9 | ref arg m32 | map.cpp:421:7:421:9 | m32 | | | map.cpp:419:7:419:9 | ref arg m32 | map.cpp:438:1:438:1 | m32 | | -| map.cpp:419:11:419:21 | call to try_emplace | map.cpp:419:7:419:41 | call to pair | TAINT | -| map.cpp:419:30:419:30 | 1 | map.cpp:419:7:419:9 | ref arg m32 | TAINT | -| map.cpp:419:30:419:30 | 1 | map.cpp:419:11:419:21 | call to try_emplace | TAINT | -| map.cpp:419:33:419:38 | call to source | map.cpp:419:7:419:9 | ref arg m32 | TAINT | -| map.cpp:419:33:419:38 | call to source | map.cpp:419:11:419:21 | call to try_emplace | TAINT | +| map.cpp:419:44:419:48 | first | map.cpp:419:49:419:49 | call to operator-> | TAINT | | map.cpp:420:7:420:9 | m32 | map.cpp:420:7:420:9 | call to unordered_map | | -| map.cpp:421:7:421:9 | m32 | map.cpp:421:10:421:10 | call to operator[] | TAINT | | map.cpp:421:7:421:9 | ref arg m32 | map.cpp:438:1:438:1 | m32 | | | map.cpp:421:10:421:10 | call to operator[] | map.cpp:421:7:421:16 | call to pair | TAINT | -| map.cpp:424:37:424:39 | call to unordered_map | map.cpp:425:7:425:9 | m33 | | -| map.cpp:424:37:424:39 | call to unordered_map | map.cpp:426:7:426:9 | m33 | | -| map.cpp:424:37:424:39 | call to unordered_map | map.cpp:438:1:438:1 | m33 | | -| map.cpp:425:7:425:9 | m33 | map.cpp:425:11:425:17 | call to emplace | TAINT | +| map.cpp:424:49:424:51 | call to unordered_map | map.cpp:425:7:425:9 | m33 | | +| map.cpp:424:49:424:51 | call to unordered_map | map.cpp:426:7:426:9 | m33 | | +| map.cpp:424:49:424:51 | call to unordered_map | map.cpp:438:1:438:1 | m33 | | | map.cpp:425:7:425:9 | ref arg m33 | map.cpp:426:7:426:9 | m33 | | | map.cpp:425:7:425:9 | ref arg m33 | map.cpp:438:1:438:1 | m33 | | -| map.cpp:425:29:425:33 | def | map.cpp:425:7:425:9 | ref arg m33 | TAINT | -| map.cpp:425:29:425:33 | def | map.cpp:425:11:425:17 | call to emplace | TAINT | | map.cpp:425:36:425:40 | first | map.cpp:425:7:425:40 | call to iterator | | | map.cpp:426:7:426:9 | m33 | map.cpp:426:7:426:9 | call to unordered_map | | -| map.cpp:428:37:428:39 | call to unordered_map | map.cpp:429:7:429:9 | m34 | | -| map.cpp:428:37:428:39 | call to unordered_map | map.cpp:430:7:430:9 | m34 | | -| map.cpp:428:37:428:39 | call to unordered_map | map.cpp:431:7:431:9 | m34 | | -| map.cpp:428:37:428:39 | call to unordered_map | map.cpp:432:7:432:9 | m34 | | -| map.cpp:428:37:428:39 | call to unordered_map | map.cpp:433:7:433:9 | m34 | | -| map.cpp:428:37:428:39 | call to unordered_map | map.cpp:433:24:433:26 | m34 | | -| map.cpp:428:37:428:39 | call to unordered_map | map.cpp:438:1:438:1 | m34 | | -| map.cpp:428:42:428:44 | call to unordered_map | map.cpp:434:7:434:9 | m35 | | -| map.cpp:428:42:428:44 | call to unordered_map | map.cpp:435:7:435:9 | m35 | | -| map.cpp:428:42:428:44 | call to unordered_map | map.cpp:436:7:436:9 | m35 | | -| map.cpp:428:42:428:44 | call to unordered_map | map.cpp:437:7:437:9 | m35 | | -| map.cpp:428:42:428:44 | call to unordered_map | map.cpp:438:1:438:1 | m35 | | -| map.cpp:429:7:429:9 | m34 | map.cpp:429:11:429:17 | call to emplace | TAINT | +| map.cpp:428:49:428:51 | call to unordered_map | map.cpp:429:7:429:9 | m34 | | +| map.cpp:428:49:428:51 | call to unordered_map | map.cpp:430:7:430:9 | m34 | | +| map.cpp:428:49:428:51 | call to unordered_map | map.cpp:431:7:431:9 | m34 | | +| map.cpp:428:49:428:51 | call to unordered_map | map.cpp:432:7:432:9 | m34 | | +| map.cpp:428:49:428:51 | call to unordered_map | map.cpp:433:7:433:9 | m34 | | +| map.cpp:428:49:428:51 | call to unordered_map | map.cpp:433:24:433:26 | m34 | | +| map.cpp:428:49:428:51 | call to unordered_map | map.cpp:438:1:438:1 | m34 | | +| map.cpp:428:54:428:56 | call to unordered_map | map.cpp:434:7:434:9 | m35 | | +| map.cpp:428:54:428:56 | call to unordered_map | map.cpp:435:7:435:9 | m35 | | +| map.cpp:428:54:428:56 | call to unordered_map | map.cpp:436:7:436:9 | m35 | | +| map.cpp:428:54:428:56 | call to unordered_map | map.cpp:437:7:437:9 | m35 | | +| map.cpp:428:54:428:56 | call to unordered_map | map.cpp:438:1:438:1 | m35 | | | map.cpp:429:7:429:9 | ref arg m34 | map.cpp:430:7:430:9 | m34 | | | map.cpp:429:7:429:9 | ref arg m34 | map.cpp:431:7:431:9 | m34 | | | map.cpp:429:7:429:9 | ref arg m34 | map.cpp:432:7:432:9 | m34 | | | map.cpp:429:7:429:9 | ref arg m34 | map.cpp:433:7:433:9 | m34 | | | map.cpp:429:7:429:9 | ref arg m34 | map.cpp:433:24:433:26 | m34 | | | map.cpp:429:7:429:9 | ref arg m34 | map.cpp:438:1:438:1 | m34 | | -| map.cpp:429:19:429:57 | call to pair | map.cpp:429:7:429:9 | ref arg m34 | TAINT | -| map.cpp:429:19:429:57 | call to pair | map.cpp:429:11:429:17 | call to emplace | TAINT | -| map.cpp:429:52:429:56 | def | map.cpp:429:19:429:57 | call to pair | TAINT | -| map.cpp:429:60:429:64 | first | map.cpp:429:7:429:64 | call to iterator | | +| map.cpp:429:72:429:76 | first | map.cpp:429:7:429:76 | call to iterator | | | map.cpp:430:7:430:9 | m34 | map.cpp:430:7:430:9 | call to unordered_map | | -| map.cpp:431:7:431:9 | m34 | map.cpp:431:11:431:17 | call to emplace | TAINT | | map.cpp:431:7:431:9 | ref arg m34 | map.cpp:432:7:432:9 | m34 | | | map.cpp:431:7:431:9 | ref arg m34 | map.cpp:433:7:433:9 | m34 | | | map.cpp:431:7:431:9 | ref arg m34 | map.cpp:433:24:433:26 | m34 | | | map.cpp:431:7:431:9 | ref arg m34 | map.cpp:438:1:438:1 | m34 | | -| map.cpp:431:19:431:60 | call to pair | map.cpp:431:7:431:9 | ref arg m34 | TAINT | -| map.cpp:431:19:431:60 | call to pair | map.cpp:431:11:431:17 | call to emplace | TAINT | -| map.cpp:431:52:431:57 | call to source | map.cpp:431:19:431:60 | call to pair | TAINT | -| map.cpp:431:63:431:67 | first | map.cpp:431:7:431:67 | call to iterator | | +| map.cpp:431:75:431:79 | first | map.cpp:431:7:431:79 | call to iterator | | | map.cpp:432:7:432:9 | m34 | map.cpp:432:7:432:9 | call to unordered_map | | -| map.cpp:433:7:433:9 | m34 | map.cpp:433:11:433:22 | call to emplace_hint | TAINT | | map.cpp:433:7:433:9 | ref arg m34 | map.cpp:438:1:438:1 | m34 | | | map.cpp:433:24:433:26 | m34 | map.cpp:433:28:433:32 | call to begin | TAINT | | map.cpp:433:24:433:26 | ref arg m34 | map.cpp:433:7:433:9 | m34 | | | map.cpp:433:24:433:26 | ref arg m34 | map.cpp:438:1:438:1 | m34 | | | map.cpp:433:28:433:32 | call to begin | map.cpp:433:24:433:34 | call to iterator | TAINT | -| map.cpp:433:44:433:48 | def | map.cpp:433:7:433:9 | ref arg m34 | TAINT | -| map.cpp:433:44:433:48 | def | map.cpp:433:11:433:22 | call to emplace_hint | TAINT | -| map.cpp:434:7:434:9 | m35 | map.cpp:434:7:434:9 | ref arg m35 | TAINT | -| map.cpp:434:7:434:9 | m35 | map.cpp:434:11:434:17 | call to emplace | TAINT | | map.cpp:434:7:434:9 | ref arg m35 | map.cpp:435:7:435:9 | m35 | | | map.cpp:434:7:434:9 | ref arg m35 | map.cpp:436:7:436:9 | m35 | | | map.cpp:434:7:434:9 | ref arg m35 | map.cpp:437:7:437:9 | m35 | | | map.cpp:434:7:434:9 | ref arg m35 | map.cpp:438:1:438:1 | m35 | | | map.cpp:434:21:434:25 | first | map.cpp:434:7:434:25 | call to iterator | | | map.cpp:435:7:435:9 | m35 | map.cpp:435:7:435:9 | call to unordered_map | | -| map.cpp:436:7:436:9 | m35 | map.cpp:436:11:436:17 | call to emplace | TAINT | | map.cpp:436:7:436:9 | ref arg m35 | map.cpp:437:7:437:9 | m35 | | | map.cpp:436:7:436:9 | ref arg m35 | map.cpp:438:1:438:1 | m35 | | -| map.cpp:436:19:436:60 | call to pair | map.cpp:436:7:436:9 | ref arg m35 | TAINT | -| map.cpp:436:19:436:60 | call to pair | map.cpp:436:11:436:17 | call to emplace | TAINT | -| map.cpp:436:55:436:59 | def | map.cpp:436:19:436:60 | call to pair | TAINT | -| map.cpp:436:63:436:67 | first | map.cpp:436:7:436:67 | call to iterator | | +| map.cpp:436:75:436:79 | first | map.cpp:436:7:436:79 | call to iterator | | | map.cpp:437:7:437:9 | m35 | map.cpp:437:7:437:9 | call to unordered_map | | | map.cpp:446:23:446:23 | call to map | map.cpp:448:3:448:3 | m | | | map.cpp:446:23:446:23 | call to map | map.cpp:449:12:449:12 | m | | | map.cpp:446:23:446:23 | call to map | map.cpp:451:1:451:1 | m | | | map.cpp:447:12:447:26 | call to indirect_source | map.cpp:448:10:448:10 | p | | -| map.cpp:448:3:448:3 | m | map.cpp:448:4:448:4 | call to operator[] | TAINT | | map.cpp:448:3:448:3 | ref arg m | map.cpp:449:12:449:12 | m | | | map.cpp:448:3:448:3 | ref arg m | map.cpp:451:1:451:1 | m | | | map.cpp:448:3:448:10 | ... = ... | map.cpp:448:4:448:4 | call to operator[] [post update] | | -| map.cpp:448:4:448:4 | call to operator[] [post update] | map.cpp:448:3:448:3 | ref arg m | TAINT | | map.cpp:448:10:448:10 | p | map.cpp:448:3:448:10 | ... = ... | | -| map.cpp:449:12:449:12 | m | map.cpp:449:13:449:13 | call to operator[] | TAINT | | map.cpp:449:12:449:12 | ref arg m | map.cpp:451:1:451:1 | m | | | map.cpp:449:13:449:13 | call to operator[] | map.cpp:450:8:450:8 | q | | | movableclass.cpp:8:2:8:15 | this | movableclass.cpp:8:27:8:31 | constructor init of field v [pre-this] | | @@ -4928,1039 +4620,979 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | stl.h:95:69:95:69 | x | stl.h:96:42:96:42 | x | | | stl.h:96:42:96:42 | ref arg x | stl.h:95:69:95:69 | x | | | stl.h:96:42:96:42 | ref arg x | stl.h:95:69:95:69 | x | | -| stl.h:292:30:292:40 | 0 | file://:0:0:0:0 | noexcept(...) | TAINT | -| stl.h:292:30:292:40 | 0 | file://:0:0:0:0 | noexcept(...) | TAINT | -| stl.h:292:30:292:40 | call to allocator | stl.h:292:21:292:41 | noexcept(...) | TAINT | -| stl.h:292:30:292:40 | call to allocator | stl.h:292:21:292:41 | noexcept(...) | TAINT | -| stl.h:292:30:292:40 | call to allocator | stl.h:292:21:292:41 | noexcept(...) | TAINT | -| stl.h:292:30:292:40 | call to allocator | stl.h:292:21:292:41 | noexcept(...) | TAINT | -| stl.h:292:30:292:40 | call to allocator | stl.h:292:21:292:41 | noexcept(...) | TAINT | -| stl.h:292:30:292:40 | call to allocator | stl.h:292:21:292:41 | noexcept(...) | TAINT | -| stl.h:292:53:292:63 | 0 | stl.h:292:46:292:64 | constructor init | TAINT | -| stl.h:396:3:396:3 | this | stl.h:396:36:396:43 | constructor init of field first [pre-this] | | -| stl.h:396:3:396:3 | this | stl.h:396:36:396:43 | constructor init of field first [pre-this] | | -| stl.h:396:3:396:3 | this | stl.h:396:36:396:43 | constructor init of field first [pre-this] | | -| stl.h:396:3:396:3 | this | stl.h:396:36:396:43 | constructor init of field first [pre-this] | | -| stl.h:396:3:396:3 | this | stl.h:396:36:396:43 | constructor init of field first [pre-this] | | -| stl.h:396:3:396:6 | this | stl.h:396:36:396:43 | constructor init of field first [pre-this] | | -| stl.h:396:18:396:18 | x | stl.h:396:42:396:42 | x | | -| stl.h:396:18:396:18 | x | stl.h:396:42:396:42 | x | | -| stl.h:396:18:396:18 | x | stl.h:396:42:396:42 | x | | -| stl.h:396:18:396:18 | x | stl.h:396:42:396:42 | x | | -| stl.h:396:18:396:18 | x | stl.h:396:42:396:42 | x | | -| stl.h:396:18:396:18 | x | stl.h:396:42:396:42 | x | | -| stl.h:396:31:396:31 | y | stl.h:396:53:396:53 | y | | -| stl.h:396:31:396:31 | y | stl.h:396:53:396:53 | y | | -| stl.h:396:31:396:31 | y | stl.h:396:53:396:53 | y | | -| stl.h:396:31:396:31 | y | stl.h:396:53:396:53 | y | | -| stl.h:396:31:396:31 | y | stl.h:396:53:396:53 | y | | -| stl.h:396:31:396:31 | y | stl.h:396:53:396:53 | y | | -| stl.h:396:36:396:43 | call to unknown function | stl.h:396:36:396:43 | constructor init of field first | TAINT | -| stl.h:396:36:396:43 | constructor init of field first [post-this] | stl.h:396:46:396:54 | constructor init of field second [pre-this] | | -| stl.h:396:36:396:43 | constructor init of field first [post-this] | stl.h:396:46:396:54 | constructor init of field second [pre-this] | | -| stl.h:396:36:396:43 | constructor init of field first [post-this] | stl.h:396:46:396:54 | constructor init of field second [pre-this] | | -| stl.h:396:36:396:43 | constructor init of field first [post-this] | stl.h:396:46:396:54 | constructor init of field second [pre-this] | | -| stl.h:396:36:396:43 | constructor init of field first [post-this] | stl.h:396:46:396:54 | constructor init of field second [pre-this] | | -| stl.h:396:36:396:43 | constructor init of field first [post-this] | stl.h:396:46:396:54 | constructor init of field second [pre-this] | | -| stl.h:396:36:396:43 | constructor init of field first [pre-this] | stl.h:396:46:396:54 | constructor init of field second [pre-this] | | -| stl.h:396:36:396:43 | constructor init of field first [pre-this] | stl.h:396:46:396:54 | constructor init of field second [pre-this] | | -| stl.h:396:36:396:43 | constructor init of field first [pre-this] | stl.h:396:46:396:54 | constructor init of field second [pre-this] | | -| stl.h:396:36:396:43 | constructor init of field first [pre-this] | stl.h:396:46:396:54 | constructor init of field second [pre-this] | | -| stl.h:396:36:396:43 | constructor init of field first [pre-this] | stl.h:396:46:396:54 | constructor init of field second [pre-this] | | -| stl.h:396:36:396:43 | constructor init of field first [pre-this] | stl.h:396:46:396:54 | constructor init of field second [pre-this] | | -| stl.h:396:42:396:42 | x | stl.h:396:36:396:43 | constructor init of field first | TAINT | -| stl.h:396:42:396:42 | x | stl.h:396:36:396:43 | constructor init of field first | TAINT | -| stl.h:396:42:396:42 | x | stl.h:396:36:396:43 | constructor init of field first | TAINT | -| stl.h:396:42:396:42 | x | stl.h:396:36:396:43 | constructor init of field first | TAINT | -| stl.h:396:42:396:42 | x | stl.h:396:36:396:43 | constructor init of field first | TAINT | -| stl.h:396:46:396:54 | call to unknown function | stl.h:396:46:396:54 | constructor init of field second | TAINT | -| stl.h:396:53:396:53 | y | stl.h:396:46:396:54 | constructor init of field second | TAINT | -| stl.h:396:53:396:53 | y | stl.h:396:46:396:54 | constructor init of field second | TAINT | -| stl.h:396:53:396:53 | y | stl.h:396:46:396:54 | constructor init of field second | TAINT | -| stl.h:396:53:396:53 | y | stl.h:396:46:396:54 | constructor init of field second | TAINT | -| stl.h:396:53:396:53 | y | stl.h:396:46:396:54 | constructor init of field second | TAINT | -| stl.h:402:87:402:87 | x | stl.h:402:87:402:87 | x | | -| stl.h:402:87:402:87 | x | stl.h:402:87:402:87 | x | | -| stl.h:402:87:402:87 | x | stl.h:402:87:402:87 | x | | -| stl.h:402:87:402:87 | x | stl.h:402:87:402:87 | x | | -| stl.h:402:87:402:87 | x | stl.h:402:87:402:87 | x | | -| stl.h:402:87:402:87 | x | stl.h:402:87:402:87 | x | | -| stl.h:402:87:402:87 | x | stl.h:402:87:402:87 | x | | -| stl.h:402:87:402:87 | x | stl.h:403:58:403:58 | x | | -| stl.h:402:87:402:87 | x | stl.h:403:58:403:58 | x | | -| stl.h:402:87:402:87 | x | stl.h:403:58:403:58 | x | | -| stl.h:402:87:402:87 | x | stl.h:403:58:403:58 | x | | -| stl.h:402:87:402:87 | x | stl.h:403:58:403:58 | x | | -| stl.h:402:87:402:87 | x | stl.h:403:58:403:58 | x | | -| stl.h:402:87:402:87 | x | stl.h:403:58:403:58 | x | | -| stl.h:402:95:402:95 | y | stl.h:402:95:402:95 | y | | -| stl.h:402:95:402:95 | y | stl.h:402:95:402:95 | y | | -| stl.h:402:95:402:95 | y | stl.h:402:95:402:95 | y | | -| stl.h:402:95:402:95 | y | stl.h:402:95:402:95 | y | | -| stl.h:402:95:402:95 | y | stl.h:402:95:402:95 | y | | -| stl.h:402:95:402:95 | y | stl.h:402:95:402:95 | y | | -| stl.h:402:95:402:95 | y | stl.h:402:95:402:95 | y | | -| stl.h:402:95:402:95 | y | stl.h:403:79:403:79 | y | | -| stl.h:402:95:402:95 | y | stl.h:403:79:403:79 | y | | -| stl.h:402:95:402:95 | y | stl.h:403:79:403:79 | y | | -| stl.h:402:95:402:95 | y | stl.h:403:79:403:79 | y | | -| stl.h:402:95:402:95 | y | stl.h:403:79:403:79 | y | | -| stl.h:402:95:402:95 | y | stl.h:403:79:403:79 | y | | -| stl.h:402:95:402:95 | y | stl.h:403:79:403:79 | y | | -| stl.h:403:58:403:58 | x | stl.h:403:41:403:56 | call to forward | TAINT | -| stl.h:403:58:403:58 | x | stl.h:403:41:403:56 | call to forward | TAINT | -| stl.h:403:58:403:58 | x | stl.h:403:41:403:56 | call to forward | TAINT | -| stl.h:403:58:403:58 | x | stl.h:403:41:403:56 | call to forward | TAINT | -| stl.h:403:58:403:58 | x | stl.h:403:41:403:56 | call to forward | TAINT | -| stl.h:403:58:403:58 | x | stl.h:403:41:403:56 | call to forward | TAINT | -| stl.h:403:62:403:77 | call to forward | stl.h:403:3:403:82 | call to pair | TAINT | -| stl.h:403:62:403:77 | call to forward | stl.h:403:3:403:82 | call to pair | TAINT | -| stl.h:403:62:403:77 | call to forward | stl.h:403:3:403:82 | call to pair | TAINT | -| stl.h:403:62:403:77 | call to forward | stl.h:403:3:403:82 | call to pair | TAINT | -| stl.h:403:62:403:77 | call to forward | stl.h:403:3:403:82 | call to pair | TAINT | -| stl.h:403:62:403:77 | call to forward | stl.h:403:3:403:82 | call to pair | TAINT | -| stl.h:403:79:403:79 | y | stl.h:403:3:403:82 | call to pair | TAINT | -| stl.h:403:79:403:79 | y | stl.h:403:3:403:82 | call to pair | TAINT | -| stl.h:403:79:403:79 | y | stl.h:403:3:403:82 | call to pair | TAINT | -| stl.h:403:79:403:79 | y | stl.h:403:3:403:82 | call to pair | TAINT | -| stl.h:403:79:403:79 | y | stl.h:403:3:403:82 | call to pair | TAINT | -| stl.h:403:79:403:79 | y | stl.h:403:3:403:82 | call to pair | TAINT | -| stl.h:403:79:403:79 | y | stl.h:403:62:403:77 | call to forward | TAINT | -| stl.h:403:79:403:79 | y | stl.h:403:62:403:77 | call to forward | TAINT | -| stl.h:403:79:403:79 | y | stl.h:403:62:403:77 | call to forward | TAINT | -| stl.h:403:79:403:79 | y | stl.h:403:62:403:77 | call to forward | TAINT | -| stl.h:403:79:403:79 | y | stl.h:403:62:403:77 | call to forward | TAINT | -| stl.h:403:79:403:79 | y | stl.h:403:62:403:77 | call to forward | TAINT | -| string.cpp:25:12:25:17 | call to source | string.cpp:29:7:29:7 | a | | -| string.cpp:26:16:26:20 | 123 | string.cpp:26:16:26:21 | call to basic_string | TAINT | -| string.cpp:26:16:26:21 | call to basic_string | string.cpp:30:7:30:7 | b | | -| string.cpp:26:16:26:21 | call to basic_string | string.cpp:32:7:32:7 | b | | -| string.cpp:27:16:27:21 | call to source | string.cpp:27:16:27:24 | call to basic_string | TAINT | -| string.cpp:27:16:27:24 | call to basic_string | string.cpp:31:7:31:7 | c | | -| string.cpp:27:16:27:24 | call to basic_string | string.cpp:33:7:33:7 | c | | -| string.cpp:32:7:32:7 | b | string.cpp:32:9:32:13 | call to c_str | TAINT | -| string.cpp:33:7:33:7 | c | string.cpp:33:9:33:13 | call to c_str | TAINT | -| string.cpp:38:16:38:28 | call to basic_string | string.cpp:39:7:39:11 | path1 | | -| string.cpp:38:17:38:26 | call to user_input | string.cpp:38:16:38:28 | call to basic_string | TAINT | -| string.cpp:39:7:39:11 | path1 | string.cpp:39:13:39:17 | call to c_str | TAINT | -| string.cpp:42:10:42:19 | call to user_input | string.cpp:42:10:42:21 | call to basic_string | TAINT | -| string.cpp:42:10:42:21 | call to basic_string | string.cpp:42:2:42:21 | ... = ... | | -| string.cpp:42:10:42:21 | call to basic_string | string.cpp:43:7:43:11 | path2 | | -| string.cpp:43:7:43:11 | path2 | string.cpp:43:13:43:17 | call to c_str | TAINT | -| string.cpp:45:15:45:24 | call to user_input | string.cpp:45:15:45:27 | call to basic_string | TAINT | -| string.cpp:45:15:45:27 | call to basic_string | string.cpp:46:7:46:11 | path3 | | -| string.cpp:46:7:46:11 | path3 | string.cpp:46:13:46:17 | call to c_str | TAINT | -| string.cpp:51:19:51:24 | call to source | string.cpp:54:17:54:18 | cs | | -| string.cpp:51:19:51:24 | call to source | string.cpp:56:7:56:8 | cs | | -| string.cpp:54:17:54:18 | cs | string.cpp:54:17:54:19 | call to basic_string | TAINT | -| string.cpp:54:17:54:19 | call to basic_string | string.cpp:57:7:57:8 | ss | | -| string.cpp:62:19:62:24 | call to source | string.cpp:65:17:65:18 | cs | | -| string.cpp:65:17:65:18 | cs | string.cpp:65:17:65:19 | call to basic_string | TAINT | -| string.cpp:65:17:65:19 | call to basic_string | string.cpp:68:7:68:8 | ss | | -| string.cpp:65:17:65:19 | call to basic_string | string.cpp:71:7:71:8 | ss | | -| string.cpp:68:7:68:8 | ss | string.cpp:68:10:68:14 | call to c_str | TAINT | -| string.cpp:68:10:68:14 | call to c_str | string.cpp:68:2:68:16 | ... = ... | | -| string.cpp:68:10:68:14 | call to c_str | string.cpp:70:7:70:8 | cs | | -| string.cpp:77:18:77:24 | hello | string.cpp:77:18:77:25 | call to basic_string | TAINT | -| string.cpp:77:18:77:25 | call to basic_string | string.cpp:82:8:82:9 | s1 | | -| string.cpp:78:19:78:26 | call to basic_string | string.cpp:83:8:83:9 | s2 | | -| string.cpp:78:20:78:26 | hello | string.cpp:78:19:78:26 | call to basic_string | TAINT | -| string.cpp:80:8:80:14 | call to basic_string | string.cpp:80:3:80:14 | ... = ... | | -| string.cpp:80:8:80:14 | call to basic_string | string.cpp:84:8:84:9 | s3 | | -| string.cpp:80:8:80:14 | hello | string.cpp:80:8:80:14 | call to basic_string | TAINT | -| string.cpp:88:18:88:23 | call to source | string.cpp:88:18:88:26 | call to basic_string | TAINT | -| string.cpp:88:18:88:26 | call to basic_string | string.cpp:93:8:93:9 | s1 | | -| string.cpp:89:19:89:27 | call to basic_string | string.cpp:94:8:94:9 | s2 | | -| string.cpp:89:20:89:25 | call to source | string.cpp:89:19:89:27 | call to basic_string | TAINT | -| string.cpp:91:8:91:13 | call to source | string.cpp:91:8:91:15 | call to basic_string | TAINT | -| string.cpp:91:8:91:15 | call to basic_string | string.cpp:91:3:91:15 | ... = ... | | -| string.cpp:91:8:91:15 | call to basic_string | string.cpp:95:8:95:9 | s3 | | -| string.cpp:99:15:99:16 | call to basic_string | string.cpp:100:20:100:21 | s1 | | -| string.cpp:99:15:99:16 | call to basic_string | string.cpp:102:8:102:9 | s1 | | -| string.cpp:99:15:99:16 | call to basic_string | string.cpp:104:8:104:9 | s1 | | -| string.cpp:100:20:100:21 | s1 | string.cpp:105:8:105:9 | s2 | | -| string.cpp:102:8:102:9 | s1 | string.cpp:102:3:102:9 | ... = ... | | -| string.cpp:102:8:102:9 | s1 | string.cpp:106:8:106:9 | s3 | | -| string.cpp:110:19:110:40 | call to basic_string | string.cpp:114:8:114:9 | s1 | | -| string.cpp:110:32:110:37 | call to source | string.cpp:110:19:110:40 | call to basic_string | TAINT | -| string.cpp:112:8:112:28 | call to basic_string | string.cpp:112:3:112:28 | ... = ... | | -| string.cpp:112:8:112:28 | call to basic_string | string.cpp:115:8:115:9 | s2 | | -| string.cpp:112:20:112:25 | call to source | string.cpp:112:8:112:28 | call to basic_string | TAINT | -| string.cpp:120:16:120:21 | call to source | string.cpp:120:16:120:24 | call to basic_string | TAINT | -| string.cpp:120:16:120:24 | call to basic_string | string.cpp:121:15:121:15 | s | | -| string.cpp:120:16:120:24 | call to basic_string | string.cpp:125:33:125:33 | s | | -| string.cpp:120:16:120:24 | call to basic_string | string.cpp:125:50:125:50 | s | | -| string.cpp:120:16:120:24 | call to basic_string | string.cpp:129:16:129:16 | s | | -| string.cpp:121:15:121:15 | (__begin) | string.cpp:121:15:121:15 | call to operator* | TAINT | -| string.cpp:121:15:121:15 | (__begin) | string.cpp:121:15:121:15 | call to operator++ | | -| string.cpp:121:15:121:15 | (__end) | string.cpp:121:15:121:15 | call to iterator | | -| string.cpp:121:15:121:15 | (__range) | string.cpp:121:15:121:15 | call to begin | TAINT | -| string.cpp:121:15:121:15 | (__range) | string.cpp:121:15:121:15 | call to end | TAINT | -| string.cpp:121:15:121:15 | call to begin | string.cpp:121:15:121:15 | (__begin) | | -| string.cpp:121:15:121:15 | call to begin | string.cpp:121:15:121:15 | (__begin) | | -| string.cpp:121:15:121:15 | call to begin | string.cpp:121:15:121:15 | (__begin) | | -| string.cpp:121:15:121:15 | call to end | string.cpp:121:15:121:15 | (__end) | | -| string.cpp:121:15:121:15 | call to operator* | string.cpp:122:8:122:8 | c | | -| string.cpp:121:15:121:15 | ref arg (__begin) | string.cpp:121:15:121:15 | (__begin) | | -| string.cpp:121:15:121:15 | ref arg (__begin) | string.cpp:121:15:121:15 | (__begin) | | -| string.cpp:121:15:121:15 | ref arg (__begin) | string.cpp:121:15:121:15 | (__begin) | | -| string.cpp:121:15:121:15 | ref arg (__begin) | string.cpp:121:15:121:15 | (__begin) | | -| string.cpp:121:15:121:15 | ref arg (__begin) | string.cpp:121:15:121:15 | (__begin) | | -| string.cpp:121:15:121:15 | ref arg (__begin) | string.cpp:121:15:121:15 | (__begin) | | -| string.cpp:121:15:121:15 | ref arg (__range) | string.cpp:121:15:121:15 | (__range) | | -| string.cpp:121:15:121:15 | s | string.cpp:121:15:121:15 | (__range) | | -| string.cpp:121:15:121:15 | s | string.cpp:121:15:121:15 | (__range) | | -| string.cpp:121:15:121:15 | s | string.cpp:121:15:121:15 | call to operator* | TAINT | -| string.cpp:125:33:125:33 | ref arg s | string.cpp:125:50:125:50 | s | | -| string.cpp:125:33:125:33 | ref arg s | string.cpp:129:16:129:16 | s | | -| string.cpp:125:33:125:33 | s | string.cpp:125:35:125:39 | call to begin | TAINT | -| string.cpp:125:35:125:39 | call to begin | string.cpp:125:44:125:45 | it | | -| string.cpp:125:35:125:39 | call to begin | string.cpp:125:61:125:62 | it | | -| string.cpp:125:35:125:39 | call to begin | string.cpp:126:9:126:10 | it | | -| string.cpp:125:50:125:50 | ref arg s | string.cpp:125:50:125:50 | s | | -| string.cpp:125:50:125:50 | ref arg s | string.cpp:129:16:129:16 | s | | -| string.cpp:125:50:125:50 | s | string.cpp:125:52:125:54 | call to end | TAINT | -| string.cpp:125:61:125:62 | it | string.cpp:125:59:125:59 | call to operator++ | | -| string.cpp:125:61:125:62 | ref arg it | string.cpp:125:44:125:45 | it | | -| string.cpp:125:61:125:62 | ref arg it | string.cpp:125:61:125:62 | it | | -| string.cpp:125:61:125:62 | ref arg it | string.cpp:126:9:126:10 | it | | -| string.cpp:126:9:126:10 | it | string.cpp:126:8:126:8 | call to operator* | TAINT | -| string.cpp:126:9:126:10 | ref arg it | string.cpp:125:44:125:45 | it | | -| string.cpp:126:9:126:10 | ref arg it | string.cpp:125:61:125:62 | it | | -| string.cpp:126:9:126:10 | ref arg it | string.cpp:126:9:126:10 | it | | -| string.cpp:129:16:129:16 | (__begin) | string.cpp:129:16:129:16 | call to operator* | TAINT | -| string.cpp:129:16:129:16 | (__begin) | string.cpp:129:16:129:16 | call to operator++ | | -| string.cpp:129:16:129:16 | (__end) | string.cpp:129:16:129:16 | call to iterator | | -| string.cpp:129:16:129:16 | (__range) | string.cpp:129:16:129:16 | call to begin | TAINT | -| string.cpp:129:16:129:16 | (__range) | string.cpp:129:16:129:16 | call to end | TAINT | -| string.cpp:129:16:129:16 | call to begin | string.cpp:129:16:129:16 | (__begin) | | -| string.cpp:129:16:129:16 | call to begin | string.cpp:129:16:129:16 | (__begin) | | -| string.cpp:129:16:129:16 | call to begin | string.cpp:129:16:129:16 | (__begin) | | -| string.cpp:129:16:129:16 | call to end | string.cpp:129:16:129:16 | (__end) | | -| string.cpp:129:16:129:16 | call to operator* | string.cpp:130:8:130:8 | c | | -| string.cpp:129:16:129:16 | ref arg (__begin) | string.cpp:129:16:129:16 | (__begin) | | -| string.cpp:129:16:129:16 | ref arg (__begin) | string.cpp:129:16:129:16 | (__begin) | | -| string.cpp:129:16:129:16 | ref arg (__begin) | string.cpp:129:16:129:16 | (__begin) | | -| string.cpp:129:16:129:16 | ref arg (__begin) | string.cpp:129:16:129:16 | (__begin) | | -| string.cpp:129:16:129:16 | ref arg (__begin) | string.cpp:129:16:129:16 | (__begin) | | -| string.cpp:129:16:129:16 | ref arg (__begin) | string.cpp:129:16:129:16 | (__begin) | | -| string.cpp:129:16:129:16 | ref arg (__range) | string.cpp:129:16:129:16 | (__range) | | -| string.cpp:129:16:129:16 | s | string.cpp:129:16:129:16 | (__range) | | -| string.cpp:129:16:129:16 | s | string.cpp:129:16:129:16 | (__range) | | -| string.cpp:129:16:129:16 | s | string.cpp:129:16:129:16 | call to operator* | TAINT | -| string.cpp:133:28:133:33 | call to source | string.cpp:133:28:133:36 | call to basic_string | TAINT | -| string.cpp:133:28:133:36 | call to basic_string | string.cpp:134:22:134:28 | const_s | | -| string.cpp:134:22:134:22 | (__begin) | string.cpp:134:22:134:22 | call to operator* | TAINT | -| string.cpp:134:22:134:22 | (__begin) | string.cpp:134:22:134:22 | call to operator++ | | -| string.cpp:134:22:134:22 | (__range) | string.cpp:134:22:134:22 | call to begin | TAINT | -| string.cpp:134:22:134:22 | (__range) | string.cpp:134:22:134:22 | call to end | TAINT | -| string.cpp:134:22:134:22 | call to begin | string.cpp:134:22:134:22 | (__begin) | | -| string.cpp:134:22:134:22 | call to begin | string.cpp:134:22:134:22 | (__begin) | | -| string.cpp:134:22:134:22 | call to begin | string.cpp:134:22:134:22 | (__begin) | | -| string.cpp:134:22:134:22 | call to end | string.cpp:134:22:134:22 | (__end) | | -| string.cpp:134:22:134:22 | call to operator* | string.cpp:135:8:135:8 | c | | -| string.cpp:134:22:134:22 | ref arg (__begin) | string.cpp:134:22:134:22 | (__begin) | | -| string.cpp:134:22:134:22 | ref arg (__begin) | string.cpp:134:22:134:22 | (__begin) | | -| string.cpp:134:22:134:22 | ref arg (__begin) | string.cpp:134:22:134:22 | (__begin) | | -| string.cpp:134:22:134:28 | const_s | string.cpp:134:22:134:22 | (__range) | | -| string.cpp:134:22:134:28 | const_s | string.cpp:134:22:134:22 | (__range) | | -| string.cpp:134:22:134:28 | const_s | string.cpp:134:22:134:22 | call to operator* | TAINT | -| string.cpp:141:18:141:24 | hello | string.cpp:141:18:141:25 | call to basic_string | TAINT | -| string.cpp:141:18:141:25 | call to basic_string | string.cpp:144:8:144:9 | s1 | | -| string.cpp:141:18:141:25 | call to basic_string | string.cpp:144:13:144:14 | s1 | | -| string.cpp:141:18:141:25 | call to basic_string | string.cpp:145:8:145:9 | s1 | | -| string.cpp:141:18:141:25 | call to basic_string | string.cpp:146:13:146:14 | s1 | | -| string.cpp:141:18:141:25 | call to basic_string | string.cpp:149:8:149:9 | s1 | | -| string.cpp:141:18:141:25 | call to basic_string | string.cpp:150:8:150:9 | s1 | | -| string.cpp:142:18:142:23 | call to source | string.cpp:142:18:142:26 | call to basic_string | TAINT | -| string.cpp:142:18:142:26 | call to basic_string | string.cpp:145:13:145:14 | s2 | | -| string.cpp:142:18:142:26 | call to basic_string | string.cpp:146:8:146:9 | s2 | | -| string.cpp:142:18:142:26 | call to basic_string | string.cpp:147:8:147:9 | s2 | | -| string.cpp:142:18:142:26 | call to basic_string | string.cpp:147:13:147:14 | s2 | | -| string.cpp:144:8:144:9 | s1 | string.cpp:144:11:144:11 | call to operator+ | TAINT | -| string.cpp:144:13:144:14 | s1 | string.cpp:144:11:144:11 | call to operator+ | TAINT | -| string.cpp:145:8:145:9 | s1 | string.cpp:145:11:145:11 | call to operator+ | TAINT | -| string.cpp:145:13:145:14 | s2 | string.cpp:145:11:145:11 | call to operator+ | TAINT | -| string.cpp:146:8:146:9 | s2 | string.cpp:146:11:146:11 | call to operator+ | TAINT | -| string.cpp:146:13:146:14 | s1 | string.cpp:146:11:146:11 | call to operator+ | TAINT | -| string.cpp:147:8:147:9 | s2 | string.cpp:147:11:147:11 | call to operator+ | TAINT | -| string.cpp:147:13:147:14 | s2 | string.cpp:147:11:147:11 | call to operator+ | TAINT | -| string.cpp:149:8:149:9 | s1 | string.cpp:149:11:149:11 | call to operator+ | TAINT | -| string.cpp:149:13:149:20 | world | string.cpp:149:11:149:11 | call to operator+ | TAINT | -| string.cpp:150:8:150:9 | s1 | string.cpp:150:11:150:11 | call to operator+ | TAINT | -| string.cpp:150:13:150:18 | call to source | string.cpp:150:11:150:11 | call to operator+ | TAINT | -| string.cpp:154:18:154:22 | abc | string.cpp:154:18:154:23 | call to basic_string | TAINT | -| string.cpp:154:18:154:23 | call to basic_string | string.cpp:158:8:158:9 | s3 | | -| string.cpp:154:18:154:23 | call to basic_string | string.cpp:161:8:161:9 | s3 | | -| string.cpp:154:18:154:23 | call to basic_string | string.cpp:165:8:165:9 | s3 | | -| string.cpp:154:18:154:23 | call to basic_string | string.cpp:170:8:170:9 | s3 | | -| string.cpp:154:18:154:23 | call to basic_string | string.cpp:174:8:174:9 | s3 | | -| string.cpp:155:18:155:23 | call to source | string.cpp:155:18:155:26 | call to basic_string | TAINT | -| string.cpp:155:18:155:26 | call to basic_string | string.cpp:158:13:158:14 | s4 | | -| string.cpp:155:18:155:26 | call to basic_string | string.cpp:162:14:162:15 | s4 | | -| string.cpp:155:18:155:26 | call to basic_string | string.cpp:171:13:171:14 | s4 | | -| string.cpp:158:8:158:9 | s3 | string.cpp:158:11:158:11 | call to operator+ | TAINT | -| string.cpp:158:11:158:11 | call to operator+ | string.cpp:158:3:158:14 | ... = ... | | -| string.cpp:158:11:158:11 | call to operator+ | string.cpp:159:8:159:9 | s5 | | -| string.cpp:158:13:158:14 | s4 | string.cpp:158:11:158:11 | call to operator+ | TAINT | -| string.cpp:161:8:161:9 | s3 | string.cpp:161:3:161:9 | ... = ... | | -| string.cpp:161:8:161:9 | s3 | string.cpp:162:8:162:9 | s6 | | -| string.cpp:161:8:161:9 | s3 | string.cpp:163:8:163:9 | s6 | | -| string.cpp:162:8:162:9 | ref arg s6 | string.cpp:163:8:163:9 | s6 | | -| string.cpp:162:8:162:9 | s6 | string.cpp:162:11:162:11 | call to operator+= | TAINT | -| string.cpp:162:14:162:15 | s4 | string.cpp:162:8:162:9 | ref arg s6 | TAINT | -| string.cpp:162:14:162:15 | s4 | string.cpp:162:11:162:11 | call to operator+= | TAINT | -| string.cpp:165:8:165:9 | s3 | string.cpp:165:3:165:9 | ... = ... | | -| string.cpp:165:8:165:9 | s3 | string.cpp:166:8:166:9 | s7 | | -| string.cpp:165:8:165:9 | s3 | string.cpp:167:8:167:9 | s7 | | -| string.cpp:165:8:165:9 | s3 | string.cpp:168:8:168:9 | s7 | | -| string.cpp:166:8:166:9 | ref arg s7 | string.cpp:167:8:167:9 | s7 | | -| string.cpp:166:8:166:9 | ref arg s7 | string.cpp:168:8:168:9 | s7 | | -| string.cpp:166:8:166:9 | s7 | string.cpp:166:11:166:11 | call to operator+= | TAINT | -| string.cpp:166:14:166:19 | call to source | string.cpp:166:8:166:9 | ref arg s7 | TAINT | -| string.cpp:166:14:166:19 | call to source | string.cpp:166:11:166:11 | call to operator+= | TAINT | +| stl.h:346:30:346:40 | 0 | file://:0:0:0:0 | noexcept(...) | TAINT | +| stl.h:346:30:346:40 | 0 | file://:0:0:0:0 | noexcept(...) | TAINT | +| stl.h:346:30:346:40 | call to allocator | stl.h:346:21:346:41 | noexcept(...) | TAINT | +| stl.h:346:30:346:40 | call to allocator | stl.h:346:21:346:41 | noexcept(...) | TAINT | +| stl.h:346:30:346:40 | call to allocator | stl.h:346:21:346:41 | noexcept(...) | TAINT | +| stl.h:346:30:346:40 | call to allocator | stl.h:346:21:346:41 | noexcept(...) | TAINT | +| stl.h:346:30:346:40 | call to allocator | stl.h:346:21:346:41 | noexcept(...) | TAINT | +| stl.h:346:30:346:40 | call to allocator | stl.h:346:21:346:41 | noexcept(...) | TAINT | +| stl.h:346:30:346:40 | call to allocator | stl.h:346:21:346:41 | noexcept(...) | TAINT | +| stl.h:346:53:346:63 | 0 | stl.h:346:46:346:64 | constructor init | TAINT | +| stl.h:457:87:457:87 | x | stl.h:457:87:457:87 | x | | +| stl.h:457:87:457:87 | x | stl.h:457:87:457:87 | x | | +| stl.h:457:87:457:87 | x | stl.h:457:87:457:87 | x | | +| stl.h:457:87:457:87 | x | stl.h:457:87:457:87 | x | | +| stl.h:457:87:457:87 | x | stl.h:457:87:457:87 | x | | +| stl.h:457:87:457:87 | x | stl.h:457:87:457:87 | x | | +| stl.h:457:87:457:87 | x | stl.h:457:87:457:87 | x | | +| stl.h:457:87:457:87 | x | stl.h:458:58:458:58 | x | | +| stl.h:457:87:457:87 | x | stl.h:458:58:458:58 | x | | +| stl.h:457:87:457:87 | x | stl.h:458:58:458:58 | x | | +| stl.h:457:87:457:87 | x | stl.h:458:58:458:58 | x | | +| stl.h:457:87:457:87 | x | stl.h:458:58:458:58 | x | | +| stl.h:457:87:457:87 | x | stl.h:458:58:458:58 | x | | +| stl.h:457:87:457:87 | x | stl.h:458:58:458:58 | x | | +| stl.h:457:95:457:95 | y | stl.h:457:95:457:95 | y | | +| stl.h:457:95:457:95 | y | stl.h:457:95:457:95 | y | | +| stl.h:457:95:457:95 | y | stl.h:457:95:457:95 | y | | +| stl.h:457:95:457:95 | y | stl.h:457:95:457:95 | y | | +| stl.h:457:95:457:95 | y | stl.h:457:95:457:95 | y | | +| stl.h:457:95:457:95 | y | stl.h:457:95:457:95 | y | | +| stl.h:457:95:457:95 | y | stl.h:457:95:457:95 | y | | +| stl.h:457:95:457:95 | y | stl.h:458:79:458:79 | y | | +| stl.h:457:95:457:95 | y | stl.h:458:79:458:79 | y | | +| stl.h:457:95:457:95 | y | stl.h:458:79:458:79 | y | | +| stl.h:457:95:457:95 | y | stl.h:458:79:458:79 | y | | +| stl.h:457:95:457:95 | y | stl.h:458:79:458:79 | y | | +| stl.h:457:95:457:95 | y | stl.h:458:79:458:79 | y | | +| stl.h:457:95:457:95 | y | stl.h:458:79:458:79 | y | | +| stl.h:458:41:458:56 | ref arg call to forward | stl.h:457:87:457:87 | x | | +| stl.h:458:41:458:56 | ref arg call to forward | stl.h:457:87:457:87 | x | | +| stl.h:458:41:458:56 | ref arg call to forward | stl.h:457:87:457:87 | x | | +| stl.h:458:41:458:56 | ref arg call to forward | stl.h:457:87:457:87 | x | | +| stl.h:458:41:458:56 | ref arg call to forward | stl.h:458:58:458:58 | x [inner post update] | | +| stl.h:458:41:458:56 | ref arg call to forward | stl.h:458:58:458:58 | x [inner post update] | | +| stl.h:458:41:458:56 | ref arg call to forward | stl.h:458:58:458:58 | x [inner post update] | | +| stl.h:458:41:458:56 | ref arg call to forward | stl.h:458:58:458:58 | x [inner post update] | | +| stl.h:458:58:458:58 | x | stl.h:458:41:458:56 | call to forward | TAINT | +| stl.h:458:58:458:58 | x | stl.h:458:41:458:56 | call to forward | TAINT | +| stl.h:458:58:458:58 | x | stl.h:458:41:458:56 | call to forward | TAINT | +| stl.h:458:58:458:58 | x | stl.h:458:41:458:56 | call to forward | TAINT | +| stl.h:458:58:458:58 | x | stl.h:458:41:458:56 | call to forward | TAINT | +| stl.h:458:58:458:58 | x | stl.h:458:41:458:56 | call to forward | TAINT | +| stl.h:458:62:458:77 | ref arg call to forward | stl.h:457:95:457:95 | y | | +| stl.h:458:62:458:77 | ref arg call to forward | stl.h:457:95:457:95 | y | | +| stl.h:458:62:458:77 | ref arg call to forward | stl.h:457:95:457:95 | y | | +| stl.h:458:62:458:77 | ref arg call to forward | stl.h:457:95:457:95 | y | | +| stl.h:458:62:458:77 | ref arg call to forward | stl.h:458:79:458:79 | y [inner post update] | | +| stl.h:458:62:458:77 | ref arg call to forward | stl.h:458:79:458:79 | y [inner post update] | | +| stl.h:458:62:458:77 | ref arg call to forward | stl.h:458:79:458:79 | y [inner post update] | | +| stl.h:458:62:458:77 | ref arg call to forward | stl.h:458:79:458:79 | y [inner post update] | | +| stl.h:458:79:458:79 | y | stl.h:458:62:458:77 | call to forward | TAINT | +| stl.h:458:79:458:79 | y | stl.h:458:62:458:77 | call to forward | TAINT | +| stl.h:458:79:458:79 | y | stl.h:458:62:458:77 | call to forward | TAINT | +| stl.h:458:79:458:79 | y | stl.h:458:62:458:77 | call to forward | TAINT | +| stl.h:458:79:458:79 | y | stl.h:458:62:458:77 | call to forward | TAINT | +| stl.h:458:79:458:79 | y | stl.h:458:62:458:77 | call to forward | TAINT | +| string.cpp:26:12:26:17 | call to source | string.cpp:30:7:30:7 | a | | +| string.cpp:27:16:27:20 | 123 | string.cpp:27:16:27:21 | call to basic_string | TAINT | +| string.cpp:27:16:27:21 | call to basic_string | string.cpp:31:7:31:7 | b | | +| string.cpp:27:16:27:21 | call to basic_string | string.cpp:33:7:33:7 | b | | +| string.cpp:28:16:28:21 | call to source | string.cpp:28:16:28:24 | call to basic_string | TAINT | +| string.cpp:28:16:28:24 | call to basic_string | string.cpp:32:7:32:7 | c | | +| string.cpp:28:16:28:24 | call to basic_string | string.cpp:34:7:34:7 | c | | +| string.cpp:39:16:39:28 | call to basic_string | string.cpp:40:7:40:11 | path1 | | +| string.cpp:39:17:39:26 | call to user_input | string.cpp:39:16:39:28 | call to basic_string | TAINT | +| string.cpp:43:10:43:19 | call to user_input | string.cpp:43:10:43:21 | call to basic_string | TAINT | +| string.cpp:43:10:43:21 | call to basic_string | string.cpp:43:2:43:21 | ... = ... | | +| string.cpp:43:10:43:21 | call to basic_string | string.cpp:44:7:44:11 | path2 | | +| string.cpp:46:15:46:24 | call to user_input | string.cpp:46:15:46:27 | call to basic_string | TAINT | +| string.cpp:46:15:46:27 | call to basic_string | string.cpp:47:7:47:11 | path3 | | +| string.cpp:52:19:52:24 | call to source | string.cpp:55:17:55:18 | cs | | +| string.cpp:52:19:52:24 | call to source | string.cpp:57:7:57:8 | cs | | +| string.cpp:55:17:55:18 | cs | string.cpp:55:17:55:19 | call to basic_string | TAINT | +| string.cpp:55:17:55:19 | call to basic_string | string.cpp:58:7:58:8 | ss | | +| string.cpp:63:19:63:24 | call to source | string.cpp:66:17:66:18 | cs | | +| string.cpp:66:17:66:18 | cs | string.cpp:66:17:66:19 | call to basic_string | TAINT | +| string.cpp:66:17:66:19 | call to basic_string | string.cpp:69:7:69:8 | ss | | +| string.cpp:66:17:66:19 | call to basic_string | string.cpp:72:7:72:8 | ss | | +| string.cpp:69:10:69:14 | call to c_str | string.cpp:69:2:69:16 | ... = ... | | +| string.cpp:69:10:69:14 | call to c_str | string.cpp:71:7:71:8 | cs | | +| string.cpp:78:18:78:24 | hello | string.cpp:78:18:78:25 | call to basic_string | TAINT | +| string.cpp:78:18:78:25 | call to basic_string | string.cpp:83:8:83:9 | s1 | | +| string.cpp:79:19:79:26 | call to basic_string | string.cpp:84:8:84:9 | s2 | | +| string.cpp:79:20:79:26 | hello | string.cpp:79:19:79:26 | call to basic_string | TAINT | +| string.cpp:81:8:81:14 | call to basic_string | string.cpp:81:3:81:14 | ... = ... | | +| string.cpp:81:8:81:14 | call to basic_string | string.cpp:85:8:85:9 | s3 | | +| string.cpp:81:8:81:14 | hello | string.cpp:81:8:81:14 | call to basic_string | TAINT | +| string.cpp:89:18:89:23 | call to source | string.cpp:89:18:89:26 | call to basic_string | TAINT | +| string.cpp:89:18:89:26 | call to basic_string | string.cpp:94:8:94:9 | s1 | | +| string.cpp:90:19:90:27 | call to basic_string | string.cpp:95:8:95:9 | s2 | | +| string.cpp:90:20:90:25 | call to source | string.cpp:90:19:90:27 | call to basic_string | TAINT | +| string.cpp:92:8:92:13 | call to source | string.cpp:92:8:92:15 | call to basic_string | TAINT | +| string.cpp:92:8:92:15 | call to basic_string | string.cpp:92:3:92:15 | ... = ... | | +| string.cpp:92:8:92:15 | call to basic_string | string.cpp:96:8:96:9 | s3 | | +| string.cpp:100:15:100:16 | call to basic_string | string.cpp:101:20:101:21 | s1 | | +| string.cpp:100:15:100:16 | call to basic_string | string.cpp:103:8:103:9 | s1 | | +| string.cpp:100:15:100:16 | call to basic_string | string.cpp:105:8:105:9 | s1 | | +| string.cpp:101:20:101:21 | s1 | string.cpp:106:8:106:9 | s2 | | +| string.cpp:103:8:103:9 | s1 | string.cpp:103:3:103:9 | ... = ... | | +| string.cpp:103:8:103:9 | s1 | string.cpp:107:8:107:9 | s3 | | +| string.cpp:111:19:111:40 | call to basic_string | string.cpp:115:8:115:9 | s1 | | +| string.cpp:111:32:111:37 | call to source | string.cpp:111:19:111:40 | call to basic_string | TAINT | +| string.cpp:113:8:113:28 | call to basic_string | string.cpp:113:3:113:28 | ... = ... | | +| string.cpp:113:8:113:28 | call to basic_string | string.cpp:116:8:116:9 | s2 | | +| string.cpp:113:20:113:25 | call to source | string.cpp:113:8:113:28 | call to basic_string | TAINT | +| string.cpp:121:16:121:21 | call to source | string.cpp:121:16:121:24 | call to basic_string | TAINT | +| string.cpp:121:16:121:24 | call to basic_string | string.cpp:122:15:122:15 | s | | +| string.cpp:121:16:121:24 | call to basic_string | string.cpp:126:33:126:33 | s | | +| string.cpp:121:16:121:24 | call to basic_string | string.cpp:126:50:126:50 | s | | +| string.cpp:121:16:121:24 | call to basic_string | string.cpp:130:16:130:16 | s | | +| string.cpp:122:15:122:15 | (__begin) | string.cpp:122:15:122:15 | call to operator* | TAINT | +| string.cpp:122:15:122:15 | (__begin) | string.cpp:122:15:122:15 | call to operator++ | | +| string.cpp:122:15:122:15 | (__end) | string.cpp:122:15:122:15 | call to iterator | | +| string.cpp:122:15:122:15 | (__range) | string.cpp:122:15:122:15 | call to begin | TAINT | +| string.cpp:122:15:122:15 | (__range) | string.cpp:122:15:122:15 | call to end | TAINT | +| string.cpp:122:15:122:15 | call to begin | string.cpp:122:15:122:15 | (__begin) | | +| string.cpp:122:15:122:15 | call to begin | string.cpp:122:15:122:15 | (__begin) | | +| string.cpp:122:15:122:15 | call to begin | string.cpp:122:15:122:15 | (__begin) | | +| string.cpp:122:15:122:15 | call to end | string.cpp:122:15:122:15 | (__end) | | +| string.cpp:122:15:122:15 | call to operator* | string.cpp:123:8:123:8 | c | | +| string.cpp:122:15:122:15 | ref arg (__begin) | string.cpp:122:15:122:15 | (__begin) | | +| string.cpp:122:15:122:15 | ref arg (__begin) | string.cpp:122:15:122:15 | (__begin) | | +| string.cpp:122:15:122:15 | ref arg (__begin) | string.cpp:122:15:122:15 | (__begin) | | +| string.cpp:122:15:122:15 | ref arg (__begin) | string.cpp:122:15:122:15 | (__begin) | | +| string.cpp:122:15:122:15 | ref arg (__begin) | string.cpp:122:15:122:15 | (__begin) | | +| string.cpp:122:15:122:15 | ref arg (__begin) | string.cpp:122:15:122:15 | (__begin) | | +| string.cpp:122:15:122:15 | ref arg (__range) | string.cpp:122:15:122:15 | (__range) | | +| string.cpp:122:15:122:15 | s | string.cpp:122:15:122:15 | (__range) | | +| string.cpp:122:15:122:15 | s | string.cpp:122:15:122:15 | (__range) | | +| string.cpp:122:15:122:15 | s | string.cpp:122:15:122:15 | call to operator* | TAINT | +| string.cpp:126:33:126:33 | ref arg s | string.cpp:126:50:126:50 | s | | +| string.cpp:126:33:126:33 | ref arg s | string.cpp:130:16:130:16 | s | | +| string.cpp:126:33:126:33 | s | string.cpp:126:35:126:39 | call to begin | TAINT | +| string.cpp:126:35:126:39 | call to begin | string.cpp:126:44:126:45 | it | | +| string.cpp:126:35:126:39 | call to begin | string.cpp:126:61:126:62 | it | | +| string.cpp:126:35:126:39 | call to begin | string.cpp:127:9:127:10 | it | | +| string.cpp:126:50:126:50 | ref arg s | string.cpp:126:50:126:50 | s | | +| string.cpp:126:50:126:50 | ref arg s | string.cpp:130:16:130:16 | s | | +| string.cpp:126:50:126:50 | s | string.cpp:126:52:126:54 | call to end | TAINT | +| string.cpp:126:61:126:62 | it | string.cpp:126:59:126:59 | call to operator++ | | +| string.cpp:126:61:126:62 | ref arg it | string.cpp:126:44:126:45 | it | | +| string.cpp:126:61:126:62 | ref arg it | string.cpp:126:61:126:62 | it | | +| string.cpp:126:61:126:62 | ref arg it | string.cpp:127:9:127:10 | it | | +| string.cpp:127:9:127:10 | it | string.cpp:127:8:127:8 | call to operator* | TAINT | +| string.cpp:127:9:127:10 | ref arg it | string.cpp:126:44:126:45 | it | | +| string.cpp:127:9:127:10 | ref arg it | string.cpp:126:61:126:62 | it | | +| string.cpp:127:9:127:10 | ref arg it | string.cpp:127:9:127:10 | it | | +| string.cpp:130:16:130:16 | (__begin) | string.cpp:130:16:130:16 | call to operator* | TAINT | +| string.cpp:130:16:130:16 | (__begin) | string.cpp:130:16:130:16 | call to operator++ | | +| string.cpp:130:16:130:16 | (__end) | string.cpp:130:16:130:16 | call to iterator | | +| string.cpp:130:16:130:16 | (__range) | string.cpp:130:16:130:16 | call to begin | TAINT | +| string.cpp:130:16:130:16 | (__range) | string.cpp:130:16:130:16 | call to end | TAINT | +| string.cpp:130:16:130:16 | call to begin | string.cpp:130:16:130:16 | (__begin) | | +| string.cpp:130:16:130:16 | call to begin | string.cpp:130:16:130:16 | (__begin) | | +| string.cpp:130:16:130:16 | call to begin | string.cpp:130:16:130:16 | (__begin) | | +| string.cpp:130:16:130:16 | call to end | string.cpp:130:16:130:16 | (__end) | | +| string.cpp:130:16:130:16 | call to operator* | string.cpp:131:8:131:8 | c | | +| string.cpp:130:16:130:16 | ref arg (__begin) | string.cpp:130:16:130:16 | (__begin) | | +| string.cpp:130:16:130:16 | ref arg (__begin) | string.cpp:130:16:130:16 | (__begin) | | +| string.cpp:130:16:130:16 | ref arg (__begin) | string.cpp:130:16:130:16 | (__begin) | | +| string.cpp:130:16:130:16 | ref arg (__begin) | string.cpp:130:16:130:16 | (__begin) | | +| string.cpp:130:16:130:16 | ref arg (__begin) | string.cpp:130:16:130:16 | (__begin) | | +| string.cpp:130:16:130:16 | ref arg (__begin) | string.cpp:130:16:130:16 | (__begin) | | +| string.cpp:130:16:130:16 | ref arg (__range) | string.cpp:130:16:130:16 | (__range) | | +| string.cpp:130:16:130:16 | s | string.cpp:130:16:130:16 | (__range) | | +| string.cpp:130:16:130:16 | s | string.cpp:130:16:130:16 | (__range) | | +| string.cpp:130:16:130:16 | s | string.cpp:130:16:130:16 | call to operator* | TAINT | +| string.cpp:134:28:134:33 | call to source | string.cpp:134:28:134:36 | call to basic_string | TAINT | +| string.cpp:134:28:134:36 | call to basic_string | string.cpp:135:22:135:28 | const_s | | +| string.cpp:135:22:135:22 | (__begin) | string.cpp:135:22:135:22 | call to operator* | TAINT | +| string.cpp:135:22:135:22 | (__begin) | string.cpp:135:22:135:22 | call to operator++ | | +| string.cpp:135:22:135:22 | (__range) | string.cpp:135:22:135:22 | call to begin | TAINT | +| string.cpp:135:22:135:22 | (__range) | string.cpp:135:22:135:22 | call to end | TAINT | +| string.cpp:135:22:135:22 | call to begin | string.cpp:135:22:135:22 | (__begin) | | +| string.cpp:135:22:135:22 | call to begin | string.cpp:135:22:135:22 | (__begin) | | +| string.cpp:135:22:135:22 | call to begin | string.cpp:135:22:135:22 | (__begin) | | +| string.cpp:135:22:135:22 | call to end | string.cpp:135:22:135:22 | (__end) | | +| string.cpp:135:22:135:22 | call to operator* | string.cpp:136:8:136:8 | c | | +| string.cpp:135:22:135:22 | ref arg (__begin) | string.cpp:135:22:135:22 | (__begin) | | +| string.cpp:135:22:135:22 | ref arg (__begin) | string.cpp:135:22:135:22 | (__begin) | | +| string.cpp:135:22:135:22 | ref arg (__begin) | string.cpp:135:22:135:22 | (__begin) | | +| string.cpp:135:22:135:28 | const_s | string.cpp:135:22:135:22 | (__range) | | +| string.cpp:135:22:135:28 | const_s | string.cpp:135:22:135:22 | (__range) | | +| string.cpp:135:22:135:28 | const_s | string.cpp:135:22:135:22 | call to operator* | TAINT | +| string.cpp:142:18:142:24 | hello | string.cpp:142:18:142:25 | call to basic_string | TAINT | +| string.cpp:142:18:142:25 | call to basic_string | string.cpp:145:8:145:9 | s1 | | +| string.cpp:142:18:142:25 | call to basic_string | string.cpp:145:13:145:14 | s1 | | +| string.cpp:142:18:142:25 | call to basic_string | string.cpp:146:8:146:9 | s1 | | +| string.cpp:142:18:142:25 | call to basic_string | string.cpp:147:13:147:14 | s1 | | +| string.cpp:142:18:142:25 | call to basic_string | string.cpp:150:8:150:9 | s1 | | +| string.cpp:142:18:142:25 | call to basic_string | string.cpp:151:8:151:9 | s1 | | +| string.cpp:143:18:143:23 | call to source | string.cpp:143:18:143:26 | call to basic_string | TAINT | +| string.cpp:143:18:143:26 | call to basic_string | string.cpp:146:13:146:14 | s2 | | +| string.cpp:143:18:143:26 | call to basic_string | string.cpp:147:8:147:9 | s2 | | +| string.cpp:143:18:143:26 | call to basic_string | string.cpp:148:8:148:9 | s2 | | +| string.cpp:143:18:143:26 | call to basic_string | string.cpp:148:13:148:14 | s2 | | +| string.cpp:150:13:150:20 | world | string.cpp:150:11:150:11 | call to operator+ | TAINT | +| string.cpp:151:13:151:18 | call to source | string.cpp:151:11:151:11 | call to operator+ | TAINT | +| string.cpp:155:18:155:22 | abc | string.cpp:155:18:155:23 | call to basic_string | TAINT | +| string.cpp:155:18:155:23 | call to basic_string | string.cpp:159:8:159:9 | s3 | | +| string.cpp:155:18:155:23 | call to basic_string | string.cpp:162:8:162:9 | s3 | | +| string.cpp:155:18:155:23 | call to basic_string | string.cpp:166:8:166:9 | s3 | | +| string.cpp:155:18:155:23 | call to basic_string | string.cpp:171:8:171:9 | s3 | | +| string.cpp:155:18:155:23 | call to basic_string | string.cpp:175:8:175:9 | s3 | | +| string.cpp:156:18:156:23 | call to source | string.cpp:156:18:156:26 | call to basic_string | TAINT | +| string.cpp:156:18:156:26 | call to basic_string | string.cpp:159:13:159:14 | s4 | | +| string.cpp:156:18:156:26 | call to basic_string | string.cpp:163:14:163:15 | s4 | | +| string.cpp:156:18:156:26 | call to basic_string | string.cpp:172:13:172:14 | s4 | | +| string.cpp:159:11:159:11 | call to operator+ | string.cpp:159:3:159:14 | ... = ... | | +| string.cpp:159:11:159:11 | call to operator+ | string.cpp:160:8:160:9 | s5 | | +| string.cpp:162:8:162:9 | s3 | string.cpp:162:3:162:9 | ... = ... | | +| string.cpp:162:8:162:9 | s3 | string.cpp:163:8:163:9 | s6 | | +| string.cpp:162:8:162:9 | s3 | string.cpp:164:8:164:9 | s6 | | +| string.cpp:163:8:163:9 | ref arg s6 | string.cpp:164:8:164:9 | s6 | | +| string.cpp:166:8:166:9 | s3 | string.cpp:166:3:166:9 | ... = ... | | +| string.cpp:166:8:166:9 | s3 | string.cpp:167:8:167:9 | s7 | | +| string.cpp:166:8:166:9 | s3 | string.cpp:168:8:168:9 | s7 | | +| string.cpp:166:8:166:9 | s3 | string.cpp:169:8:169:9 | s7 | | | string.cpp:167:8:167:9 | ref arg s7 | string.cpp:168:8:168:9 | s7 | | -| string.cpp:167:8:167:9 | s7 | string.cpp:167:11:167:11 | call to operator+= | TAINT | -| string.cpp:167:14:167:16 | | string.cpp:167:8:167:9 | ref arg s7 | TAINT | -| string.cpp:167:14:167:16 | | string.cpp:167:11:167:11 | call to operator+= | TAINT | -| string.cpp:170:8:170:9 | s3 | string.cpp:170:3:170:9 | ... = ... | | -| string.cpp:170:8:170:9 | s3 | string.cpp:171:3:171:4 | s8 | | -| string.cpp:170:8:170:9 | s3 | string.cpp:172:8:172:9 | s8 | | -| string.cpp:171:3:171:4 | ref arg s8 | string.cpp:172:8:172:9 | s8 | | -| string.cpp:171:3:171:4 | s8 | string.cpp:171:6:171:11 | call to append | TAINT | -| string.cpp:171:13:171:14 | s4 | string.cpp:171:3:171:4 | ref arg s8 | TAINT | -| string.cpp:171:13:171:14 | s4 | string.cpp:171:6:171:11 | call to append | TAINT | -| string.cpp:174:8:174:9 | s3 | string.cpp:174:3:174:9 | ... = ... | | -| string.cpp:174:8:174:9 | s3 | string.cpp:175:3:175:4 | s9 | | -| string.cpp:174:8:174:9 | s3 | string.cpp:176:3:176:4 | s9 | | -| string.cpp:174:8:174:9 | s3 | string.cpp:177:8:177:9 | s9 | | -| string.cpp:175:3:175:4 | ref arg s9 | string.cpp:176:3:176:4 | s9 | | -| string.cpp:175:3:175:4 | ref arg s9 | string.cpp:177:8:177:9 | s9 | | -| string.cpp:175:3:175:4 | s9 | string.cpp:175:6:175:11 | call to append | TAINT | -| string.cpp:175:13:175:18 | call to source | string.cpp:175:3:175:4 | ref arg s9 | TAINT | -| string.cpp:175:13:175:18 | call to source | string.cpp:175:6:175:11 | call to append | TAINT | -| string.cpp:176:3:176:4 | ref arg s9 | string.cpp:177:8:177:9 | s9 | | -| string.cpp:176:3:176:4 | s9 | string.cpp:176:6:176:11 | call to append | TAINT | -| string.cpp:176:13:176:15 | | string.cpp:176:3:176:4 | ref arg s9 | TAINT | -| string.cpp:176:13:176:15 | | string.cpp:176:6:176:11 | call to append | TAINT | -| string.cpp:181:19:181:23 | abc | string.cpp:181:19:181:24 | call to basic_string | TAINT | -| string.cpp:181:19:181:24 | call to basic_string | string.cpp:184:3:184:5 | s10 | | -| string.cpp:181:19:181:24 | call to basic_string | string.cpp:185:8:185:10 | s10 | | -| string.cpp:182:12:182:26 | call to source | string.cpp:184:17:184:17 | c | | -| string.cpp:184:3:184:5 | ref arg s10 | string.cpp:185:8:185:10 | s10 | | -| string.cpp:184:3:184:5 | s10 | string.cpp:184:7:184:12 | call to append | TAINT | -| string.cpp:184:17:184:17 | c | string.cpp:184:3:184:5 | ref arg s10 | TAINT | -| string.cpp:184:17:184:17 | c | string.cpp:184:7:184:12 | call to append | TAINT | -| string.cpp:190:17:190:23 | hello | string.cpp:190:17:190:24 | call to basic_string | TAINT | -| string.cpp:190:17:190:24 | call to basic_string | string.cpp:196:17:196:18 | s1 | | -| string.cpp:190:17:190:24 | call to basic_string | string.cpp:205:17:205:18 | s1 | | -| string.cpp:191:17:191:22 | call to source | string.cpp:191:17:191:25 | call to basic_string | TAINT | -| string.cpp:191:17:191:25 | call to basic_string | string.cpp:199:17:199:18 | s2 | | -| string.cpp:192:11:192:25 | call to source | string.cpp:202:21:202:21 | c | | -| string.cpp:193:14:193:15 | call to basic_string | string.cpp:196:7:196:8 | s3 | | -| string.cpp:193:14:193:15 | call to basic_string | string.cpp:197:7:197:8 | s3 | | -| string.cpp:193:18:193:19 | call to basic_string | string.cpp:199:7:199:8 | s4 | | -| string.cpp:193:18:193:19 | call to basic_string | string.cpp:200:7:200:8 | s4 | | -| string.cpp:193:22:193:23 | call to basic_string | string.cpp:202:7:202:8 | s5 | | -| string.cpp:193:22:193:23 | call to basic_string | string.cpp:203:7:203:8 | s5 | | -| string.cpp:194:17:194:22 | call to source | string.cpp:194:17:194:25 | call to basic_string | TAINT | -| string.cpp:194:17:194:25 | call to basic_string | string.cpp:205:7:205:8 | s6 | | -| string.cpp:194:17:194:25 | call to basic_string | string.cpp:206:7:206:8 | s6 | | -| string.cpp:196:7:196:8 | ref arg s3 | string.cpp:197:7:197:8 | s3 | | -| string.cpp:196:17:196:18 | s1 | string.cpp:196:7:196:8 | ref arg s3 | TAINT | -| string.cpp:196:17:196:18 | s1 | string.cpp:196:10:196:15 | call to assign | TAINT | -| string.cpp:199:7:199:8 | ref arg s4 | string.cpp:200:7:200:8 | s4 | | -| string.cpp:199:17:199:18 | s2 | string.cpp:199:7:199:8 | ref arg s4 | TAINT | -| string.cpp:199:17:199:18 | s2 | string.cpp:199:10:199:15 | call to assign | TAINT | -| string.cpp:202:7:202:8 | ref arg s5 | string.cpp:203:7:203:8 | s5 | | -| string.cpp:202:21:202:21 | c | string.cpp:202:7:202:8 | ref arg s5 | TAINT | -| string.cpp:202:21:202:21 | c | string.cpp:202:10:202:15 | call to assign | TAINT | -| string.cpp:205:7:205:8 | ref arg s6 | string.cpp:206:7:206:8 | s6 | | -| string.cpp:205:17:205:18 | s1 | string.cpp:205:7:205:8 | ref arg s6 | TAINT | -| string.cpp:205:17:205:18 | s1 | string.cpp:205:10:205:15 | call to assign | TAINT | -| string.cpp:210:17:210:23 | hello | string.cpp:210:17:210:24 | call to basic_string | TAINT | -| string.cpp:210:17:210:24 | call to basic_string | string.cpp:215:7:215:8 | s1 | | -| string.cpp:210:17:210:24 | call to basic_string | string.cpp:216:20:216:21 | s1 | | -| string.cpp:210:17:210:24 | call to basic_string | string.cpp:220:20:220:21 | s1 | | -| string.cpp:210:17:210:24 | call to basic_string | string.cpp:223:7:223:8 | s1 | | -| string.cpp:210:17:210:24 | call to basic_string | string.cpp:227:7:227:8 | s1 | | -| string.cpp:211:17:211:22 | call to source | string.cpp:211:17:211:25 | call to basic_string | TAINT | -| string.cpp:211:17:211:25 | call to basic_string | string.cpp:219:7:219:8 | s2 | | -| string.cpp:211:17:211:25 | call to basic_string | string.cpp:224:20:224:21 | s2 | | -| string.cpp:212:11:212:25 | call to source | string.cpp:228:24:228:24 | c | | -| string.cpp:215:7:215:8 | s1 | string.cpp:215:2:215:8 | ... = ... | | -| string.cpp:215:7:215:8 | s1 | string.cpp:216:7:216:8 | s3 | | -| string.cpp:215:7:215:8 | s1 | string.cpp:217:7:217:8 | s3 | | -| string.cpp:216:7:216:8 | ref arg s3 | string.cpp:217:7:217:8 | s3 | | -| string.cpp:216:7:216:8 | s3 | string.cpp:216:10:216:15 | call to insert | TAINT | -| string.cpp:216:20:216:21 | s1 | string.cpp:216:7:216:8 | ref arg s3 | TAINT | -| string.cpp:216:20:216:21 | s1 | string.cpp:216:10:216:15 | call to insert | TAINT | -| string.cpp:219:7:219:8 | s2 | string.cpp:219:2:219:8 | ... = ... | | -| string.cpp:219:7:219:8 | s2 | string.cpp:220:7:220:8 | s4 | | -| string.cpp:219:7:219:8 | s2 | string.cpp:221:7:221:8 | s4 | | -| string.cpp:220:7:220:8 | ref arg s4 | string.cpp:221:7:221:8 | s4 | | -| string.cpp:220:7:220:8 | s4 | string.cpp:220:10:220:15 | call to insert | TAINT | -| string.cpp:220:20:220:21 | s1 | string.cpp:220:7:220:8 | ref arg s4 | TAINT | -| string.cpp:220:20:220:21 | s1 | string.cpp:220:10:220:15 | call to insert | TAINT | -| string.cpp:223:7:223:8 | s1 | string.cpp:223:2:223:8 | ... = ... | | -| string.cpp:223:7:223:8 | s1 | string.cpp:224:7:224:8 | s5 | | -| string.cpp:223:7:223:8 | s1 | string.cpp:225:7:225:8 | s5 | | -| string.cpp:224:7:224:8 | ref arg s5 | string.cpp:225:7:225:8 | s5 | | -| string.cpp:224:7:224:8 | s5 | string.cpp:224:10:224:15 | call to insert | TAINT | -| string.cpp:224:20:224:21 | s2 | string.cpp:224:7:224:8 | ref arg s5 | TAINT | -| string.cpp:224:20:224:21 | s2 | string.cpp:224:10:224:15 | call to insert | TAINT | -| string.cpp:227:7:227:8 | s1 | string.cpp:227:2:227:8 | ... = ... | | -| string.cpp:227:7:227:8 | s1 | string.cpp:228:7:228:8 | s6 | | -| string.cpp:227:7:227:8 | s1 | string.cpp:229:7:229:8 | s6 | | -| string.cpp:228:7:228:8 | ref arg s6 | string.cpp:229:7:229:8 | s6 | | -| string.cpp:228:7:228:8 | s6 | string.cpp:228:10:228:15 | call to insert | TAINT | -| string.cpp:228:24:228:24 | c | string.cpp:228:7:228:8 | ref arg s6 | TAINT | -| string.cpp:228:24:228:24 | c | string.cpp:228:10:228:15 | call to insert | TAINT | -| string.cpp:233:17:233:23 | hello | string.cpp:233:17:233:24 | call to basic_string | TAINT | -| string.cpp:233:17:233:24 | call to basic_string | string.cpp:238:7:238:8 | s1 | | -| string.cpp:233:17:233:24 | call to basic_string | string.cpp:239:24:239:25 | s1 | | -| string.cpp:233:17:233:24 | call to basic_string | string.cpp:243:24:243:25 | s1 | | -| string.cpp:233:17:233:24 | call to basic_string | string.cpp:246:7:246:8 | s1 | | -| string.cpp:233:17:233:24 | call to basic_string | string.cpp:250:7:250:8 | s1 | | -| string.cpp:234:17:234:22 | call to source | string.cpp:234:17:234:25 | call to basic_string | TAINT | -| string.cpp:234:17:234:25 | call to basic_string | string.cpp:242:7:242:8 | s2 | | -| string.cpp:234:17:234:25 | call to basic_string | string.cpp:247:24:247:25 | s2 | | -| string.cpp:235:11:235:25 | call to source | string.cpp:251:28:251:28 | c | | -| string.cpp:238:7:238:8 | s1 | string.cpp:238:2:238:8 | ... = ... | | -| string.cpp:238:7:238:8 | s1 | string.cpp:239:7:239:8 | s3 | | -| string.cpp:238:7:238:8 | s1 | string.cpp:240:7:240:8 | s3 | | -| string.cpp:239:7:239:8 | ref arg s3 | string.cpp:240:7:240:8 | s3 | | -| string.cpp:239:7:239:8 | s3 | string.cpp:239:10:239:16 | call to replace | TAINT | -| string.cpp:239:24:239:25 | s1 | string.cpp:239:7:239:8 | ref arg s3 | TAINT | -| string.cpp:239:24:239:25 | s1 | string.cpp:239:10:239:16 | call to replace | TAINT | -| string.cpp:242:7:242:8 | s2 | string.cpp:242:2:242:8 | ... = ... | | -| string.cpp:242:7:242:8 | s2 | string.cpp:243:7:243:8 | s4 | | -| string.cpp:242:7:242:8 | s2 | string.cpp:244:7:244:8 | s4 | | -| string.cpp:243:7:243:8 | ref arg s4 | string.cpp:244:7:244:8 | s4 | | -| string.cpp:243:7:243:8 | s4 | string.cpp:243:10:243:16 | call to replace | TAINT | -| string.cpp:243:24:243:25 | s1 | string.cpp:243:7:243:8 | ref arg s4 | TAINT | -| string.cpp:243:24:243:25 | s1 | string.cpp:243:10:243:16 | call to replace | TAINT | -| string.cpp:246:7:246:8 | s1 | string.cpp:246:2:246:8 | ... = ... | | -| string.cpp:246:7:246:8 | s1 | string.cpp:247:7:247:8 | s5 | | -| string.cpp:246:7:246:8 | s1 | string.cpp:248:7:248:8 | s5 | | -| string.cpp:247:7:247:8 | ref arg s5 | string.cpp:248:7:248:8 | s5 | | -| string.cpp:247:7:247:8 | s5 | string.cpp:247:10:247:16 | call to replace | TAINT | -| string.cpp:247:24:247:25 | s2 | string.cpp:247:7:247:8 | ref arg s5 | TAINT | -| string.cpp:247:24:247:25 | s2 | string.cpp:247:10:247:16 | call to replace | TAINT | -| string.cpp:250:7:250:8 | s1 | string.cpp:250:2:250:8 | ... = ... | | -| string.cpp:250:7:250:8 | s1 | string.cpp:251:7:251:8 | s6 | | -| string.cpp:250:7:250:8 | s1 | string.cpp:252:7:252:8 | s6 | | -| string.cpp:251:7:251:8 | ref arg s6 | string.cpp:252:7:252:8 | s6 | | -| string.cpp:251:7:251:8 | s6 | string.cpp:251:10:251:16 | call to replace | TAINT | -| string.cpp:251:28:251:28 | c | string.cpp:251:7:251:8 | ref arg s6 | TAINT | -| string.cpp:251:28:251:28 | c | string.cpp:251:10:251:16 | call to replace | TAINT | -| string.cpp:256:17:256:20 | {...} | string.cpp:261:10:261:11 | b1 | | -| string.cpp:256:17:256:20 | {...} | string.cpp:262:7:262:8 | b1 | | -| string.cpp:256:19:256:19 | 0 | string.cpp:256:17:256:20 | {...} | TAINT | -| string.cpp:257:17:257:20 | {...} | string.cpp:264:10:264:11 | b2 | | -| string.cpp:257:17:257:20 | {...} | string.cpp:265:7:265:8 | b2 | | +| string.cpp:167:8:167:9 | ref arg s7 | string.cpp:169:8:169:9 | s7 | | +| string.cpp:167:14:167:19 | call to source | string.cpp:167:11:167:11 | call to operator+= | TAINT | +| string.cpp:168:8:168:9 | ref arg s7 | string.cpp:169:8:169:9 | s7 | | +| string.cpp:171:8:171:9 | s3 | string.cpp:171:3:171:9 | ... = ... | | +| string.cpp:171:8:171:9 | s3 | string.cpp:172:3:172:4 | s8 | | +| string.cpp:171:8:171:9 | s3 | string.cpp:173:8:173:9 | s8 | | +| string.cpp:172:3:172:4 | ref arg s8 | string.cpp:173:8:173:9 | s8 | | +| string.cpp:175:8:175:9 | s3 | string.cpp:175:3:175:9 | ... = ... | | +| string.cpp:175:8:175:9 | s3 | string.cpp:176:3:176:4 | s9 | | +| string.cpp:175:8:175:9 | s3 | string.cpp:177:3:177:4 | s9 | | +| string.cpp:175:8:175:9 | s3 | string.cpp:178:8:178:9 | s9 | | +| string.cpp:176:3:176:4 | ref arg s9 | string.cpp:177:3:177:4 | s9 | | +| string.cpp:176:3:176:4 | ref arg s9 | string.cpp:178:8:178:9 | s9 | | +| string.cpp:177:3:177:4 | ref arg s9 | string.cpp:178:8:178:9 | s9 | | +| string.cpp:182:19:182:23 | abc | string.cpp:182:19:182:24 | call to basic_string | TAINT | +| string.cpp:182:19:182:24 | call to basic_string | string.cpp:185:3:185:5 | s10 | | +| string.cpp:182:19:182:24 | call to basic_string | string.cpp:186:8:186:10 | s10 | | +| string.cpp:183:12:183:26 | call to source | string.cpp:185:17:185:17 | c | | +| string.cpp:185:3:185:5 | ref arg s10 | string.cpp:186:8:186:10 | s10 | | +| string.cpp:191:17:191:23 | hello | string.cpp:191:17:191:24 | call to basic_string | TAINT | +| string.cpp:191:17:191:24 | call to basic_string | string.cpp:197:17:197:18 | s1 | | +| string.cpp:191:17:191:24 | call to basic_string | string.cpp:206:17:206:18 | s1 | | +| string.cpp:192:17:192:22 | call to source | string.cpp:192:17:192:25 | call to basic_string | TAINT | +| string.cpp:192:17:192:25 | call to basic_string | string.cpp:200:17:200:18 | s2 | | +| string.cpp:193:11:193:25 | call to source | string.cpp:203:21:203:21 | c | | +| string.cpp:194:14:194:15 | call to basic_string | string.cpp:197:7:197:8 | s3 | | +| string.cpp:194:14:194:15 | call to basic_string | string.cpp:198:7:198:8 | s3 | | +| string.cpp:194:18:194:19 | call to basic_string | string.cpp:200:7:200:8 | s4 | | +| string.cpp:194:18:194:19 | call to basic_string | string.cpp:201:7:201:8 | s4 | | +| string.cpp:194:22:194:23 | call to basic_string | string.cpp:203:7:203:8 | s5 | | +| string.cpp:194:22:194:23 | call to basic_string | string.cpp:204:7:204:8 | s5 | | +| string.cpp:195:17:195:22 | call to source | string.cpp:195:17:195:25 | call to basic_string | TAINT | +| string.cpp:195:17:195:25 | call to basic_string | string.cpp:206:7:206:8 | s6 | | +| string.cpp:195:17:195:25 | call to basic_string | string.cpp:207:7:207:8 | s6 | | +| string.cpp:197:7:197:8 | ref arg s3 | string.cpp:198:7:198:8 | s3 | | +| string.cpp:200:7:200:8 | ref arg s4 | string.cpp:201:7:201:8 | s4 | | +| string.cpp:203:7:203:8 | ref arg s5 | string.cpp:204:7:204:8 | s5 | | +| string.cpp:206:7:206:8 | ref arg s6 | string.cpp:207:7:207:8 | s6 | | +| string.cpp:211:17:211:23 | hello | string.cpp:211:17:211:24 | call to basic_string | TAINT | +| string.cpp:211:17:211:24 | call to basic_string | string.cpp:216:7:216:8 | s1 | | +| string.cpp:211:17:211:24 | call to basic_string | string.cpp:217:20:217:21 | s1 | | +| string.cpp:211:17:211:24 | call to basic_string | string.cpp:221:20:221:21 | s1 | | +| string.cpp:211:17:211:24 | call to basic_string | string.cpp:224:7:224:8 | s1 | | +| string.cpp:211:17:211:24 | call to basic_string | string.cpp:228:7:228:8 | s1 | | +| string.cpp:212:17:212:22 | call to source | string.cpp:212:17:212:25 | call to basic_string | TAINT | +| string.cpp:212:17:212:25 | call to basic_string | string.cpp:220:7:220:8 | s2 | | +| string.cpp:212:17:212:25 | call to basic_string | string.cpp:225:20:225:21 | s2 | | +| string.cpp:213:11:213:25 | call to source | string.cpp:229:24:229:24 | c | | +| string.cpp:216:7:216:8 | s1 | string.cpp:216:2:216:8 | ... = ... | | +| string.cpp:216:7:216:8 | s1 | string.cpp:217:7:217:8 | s3 | | +| string.cpp:216:7:216:8 | s1 | string.cpp:218:7:218:8 | s3 | | +| string.cpp:217:7:217:8 | ref arg s3 | string.cpp:218:7:218:8 | s3 | | +| string.cpp:220:7:220:8 | s2 | string.cpp:220:2:220:8 | ... = ... | | +| string.cpp:220:7:220:8 | s2 | string.cpp:221:7:221:8 | s4 | | +| string.cpp:220:7:220:8 | s2 | string.cpp:222:7:222:8 | s4 | | +| string.cpp:221:7:221:8 | ref arg s4 | string.cpp:222:7:222:8 | s4 | | +| string.cpp:224:7:224:8 | s1 | string.cpp:224:2:224:8 | ... = ... | | +| string.cpp:224:7:224:8 | s1 | string.cpp:225:7:225:8 | s5 | | +| string.cpp:224:7:224:8 | s1 | string.cpp:226:7:226:8 | s5 | | +| string.cpp:225:7:225:8 | ref arg s5 | string.cpp:226:7:226:8 | s5 | | +| string.cpp:228:7:228:8 | s1 | string.cpp:228:2:228:8 | ... = ... | | +| string.cpp:228:7:228:8 | s1 | string.cpp:229:7:229:8 | s6 | | +| string.cpp:228:7:228:8 | s1 | string.cpp:230:7:230:8 | s6 | | +| string.cpp:229:7:229:8 | ref arg s6 | string.cpp:230:7:230:8 | s6 | | +| string.cpp:234:17:234:23 | hello | string.cpp:234:17:234:24 | call to basic_string | TAINT | +| string.cpp:234:17:234:24 | call to basic_string | string.cpp:239:7:239:8 | s1 | | +| string.cpp:234:17:234:24 | call to basic_string | string.cpp:240:24:240:25 | s1 | | +| string.cpp:234:17:234:24 | call to basic_string | string.cpp:244:24:244:25 | s1 | | +| string.cpp:234:17:234:24 | call to basic_string | string.cpp:247:7:247:8 | s1 | | +| string.cpp:234:17:234:24 | call to basic_string | string.cpp:251:7:251:8 | s1 | | +| string.cpp:235:17:235:22 | call to source | string.cpp:235:17:235:25 | call to basic_string | TAINT | +| string.cpp:235:17:235:25 | call to basic_string | string.cpp:243:7:243:8 | s2 | | +| string.cpp:235:17:235:25 | call to basic_string | string.cpp:248:24:248:25 | s2 | | +| string.cpp:236:11:236:25 | call to source | string.cpp:252:28:252:28 | c | | +| string.cpp:239:7:239:8 | s1 | string.cpp:239:2:239:8 | ... = ... | | +| string.cpp:239:7:239:8 | s1 | string.cpp:240:7:240:8 | s3 | | +| string.cpp:239:7:239:8 | s1 | string.cpp:241:7:241:8 | s3 | | +| string.cpp:240:7:240:8 | ref arg s3 | string.cpp:241:7:241:8 | s3 | | +| string.cpp:243:7:243:8 | s2 | string.cpp:243:2:243:8 | ... = ... | | +| string.cpp:243:7:243:8 | s2 | string.cpp:244:7:244:8 | s4 | | +| string.cpp:243:7:243:8 | s2 | string.cpp:245:7:245:8 | s4 | | +| string.cpp:244:7:244:8 | ref arg s4 | string.cpp:245:7:245:8 | s4 | | +| string.cpp:247:7:247:8 | s1 | string.cpp:247:2:247:8 | ... = ... | | +| string.cpp:247:7:247:8 | s1 | string.cpp:248:7:248:8 | s5 | | +| string.cpp:247:7:247:8 | s1 | string.cpp:249:7:249:8 | s5 | | +| string.cpp:248:7:248:8 | ref arg s5 | string.cpp:249:7:249:8 | s5 | | +| string.cpp:251:7:251:8 | s1 | string.cpp:251:2:251:8 | ... = ... | | +| string.cpp:251:7:251:8 | s1 | string.cpp:252:7:252:8 | s6 | | +| string.cpp:251:7:251:8 | s1 | string.cpp:253:7:253:8 | s6 | | +| string.cpp:252:7:252:8 | ref arg s6 | string.cpp:253:7:253:8 | s6 | | +| string.cpp:257:17:257:20 | {...} | string.cpp:262:10:262:11 | b1 | | +| string.cpp:257:17:257:20 | {...} | string.cpp:263:7:263:8 | b1 | | | string.cpp:257:19:257:19 | 0 | string.cpp:257:17:257:20 | {...} | TAINT | -| string.cpp:258:17:258:23 | hello | string.cpp:258:17:258:24 | call to basic_string | TAINT | -| string.cpp:258:17:258:24 | call to basic_string | string.cpp:261:2:261:3 | s1 | | -| string.cpp:258:17:258:24 | call to basic_string | string.cpp:261:14:261:15 | s1 | | -| string.cpp:258:17:258:24 | call to basic_string | string.cpp:264:14:264:15 | s1 | | -| string.cpp:259:17:259:22 | call to source | string.cpp:259:17:259:25 | call to basic_string | TAINT | -| string.cpp:259:17:259:25 | call to basic_string | string.cpp:264:2:264:3 | s2 | | -| string.cpp:261:2:261:3 | s1 | string.cpp:261:10:261:11 | ref arg b1 | TAINT | -| string.cpp:261:10:261:11 | ref arg b1 | string.cpp:262:7:262:8 | b1 | | -| string.cpp:264:2:264:3 | s2 | string.cpp:264:10:264:11 | ref arg b2 | TAINT | -| string.cpp:264:10:264:11 | ref arg b2 | string.cpp:265:7:265:8 | b2 | | -| string.cpp:269:17:269:23 | hello | string.cpp:269:17:269:24 | call to basic_string | TAINT | -| string.cpp:269:17:269:24 | call to basic_string | string.cpp:274:7:274:8 | s1 | | -| string.cpp:269:17:269:24 | call to basic_string | string.cpp:279:2:279:3 | s1 | | -| string.cpp:269:17:269:24 | call to basic_string | string.cpp:282:7:282:8 | s1 | | -| string.cpp:270:17:270:22 | call to source | string.cpp:270:17:270:25 | call to basic_string | TAINT | -| string.cpp:270:17:270:25 | call to basic_string | string.cpp:275:7:275:8 | s2 | | -| string.cpp:270:17:270:25 | call to basic_string | string.cpp:279:10:279:11 | s2 | | -| string.cpp:270:17:270:25 | call to basic_string | string.cpp:283:7:283:8 | s2 | | -| string.cpp:271:17:271:23 | world | string.cpp:271:17:271:24 | call to basic_string | TAINT | -| string.cpp:271:17:271:24 | call to basic_string | string.cpp:276:7:276:8 | s3 | | -| string.cpp:271:17:271:24 | call to basic_string | string.cpp:280:10:280:11 | s3 | | -| string.cpp:271:17:271:24 | call to basic_string | string.cpp:284:7:284:8 | s3 | | -| string.cpp:272:17:272:22 | call to source | string.cpp:272:17:272:25 | call to basic_string | TAINT | -| string.cpp:272:17:272:25 | call to basic_string | string.cpp:277:7:277:8 | s4 | | -| string.cpp:272:17:272:25 | call to basic_string | string.cpp:280:2:280:3 | s4 | | -| string.cpp:272:17:272:25 | call to basic_string | string.cpp:285:7:285:8 | s4 | | -| string.cpp:279:2:279:3 | ref arg s1 | string.cpp:282:7:282:8 | s1 | | -| string.cpp:279:10:279:11 | ref arg s2 | string.cpp:283:7:283:8 | s2 | | -| string.cpp:280:2:280:3 | ref arg s4 | string.cpp:285:7:285:8 | s4 | | -| string.cpp:280:10:280:11 | ref arg s3 | string.cpp:284:7:284:8 | s3 | | -| string.cpp:289:17:289:22 | call to source | string.cpp:289:17:289:25 | call to basic_string | TAINT | -| string.cpp:289:17:289:25 | call to basic_string | string.cpp:293:7:293:8 | s1 | | -| string.cpp:289:17:289:25 | call to basic_string | string.cpp:297:2:297:3 | s1 | | -| string.cpp:289:17:289:25 | call to basic_string | string.cpp:301:7:301:8 | s1 | | +| string.cpp:258:17:258:20 | {...} | string.cpp:265:10:265:11 | b2 | | +| string.cpp:258:17:258:20 | {...} | string.cpp:266:7:266:8 | b2 | | +| string.cpp:258:19:258:19 | 0 | string.cpp:258:17:258:20 | {...} | TAINT | +| string.cpp:259:17:259:23 | hello | string.cpp:259:17:259:24 | call to basic_string | TAINT | +| string.cpp:259:17:259:24 | call to basic_string | string.cpp:262:2:262:3 | s1 | | +| string.cpp:259:17:259:24 | call to basic_string | string.cpp:262:14:262:15 | s1 | | +| string.cpp:259:17:259:24 | call to basic_string | string.cpp:265:14:265:15 | s1 | | +| string.cpp:260:17:260:22 | call to source | string.cpp:260:17:260:25 | call to basic_string | TAINT | +| string.cpp:260:17:260:25 | call to basic_string | string.cpp:265:2:265:3 | s2 | | +| string.cpp:262:10:262:11 | ref arg b1 | string.cpp:263:7:263:8 | b1 | | +| string.cpp:265:10:265:11 | ref arg b2 | string.cpp:266:7:266:8 | b2 | | +| string.cpp:270:17:270:23 | hello | string.cpp:270:17:270:24 | call to basic_string | TAINT | +| string.cpp:270:17:270:24 | call to basic_string | string.cpp:275:7:275:8 | s1 | | +| string.cpp:270:17:270:24 | call to basic_string | string.cpp:280:2:280:3 | s1 | | +| string.cpp:270:17:270:24 | call to basic_string | string.cpp:283:7:283:8 | s1 | | +| string.cpp:271:17:271:22 | call to source | string.cpp:271:17:271:25 | call to basic_string | TAINT | +| string.cpp:271:17:271:25 | call to basic_string | string.cpp:276:7:276:8 | s2 | | +| string.cpp:271:17:271:25 | call to basic_string | string.cpp:280:10:280:11 | s2 | | +| string.cpp:271:17:271:25 | call to basic_string | string.cpp:284:7:284:8 | s2 | | +| string.cpp:272:17:272:23 | world | string.cpp:272:17:272:24 | call to basic_string | TAINT | +| string.cpp:272:17:272:24 | call to basic_string | string.cpp:277:7:277:8 | s3 | | +| string.cpp:272:17:272:24 | call to basic_string | string.cpp:281:10:281:11 | s3 | | +| string.cpp:272:17:272:24 | call to basic_string | string.cpp:285:7:285:8 | s3 | | +| string.cpp:273:17:273:22 | call to source | string.cpp:273:17:273:25 | call to basic_string | TAINT | +| string.cpp:273:17:273:25 | call to basic_string | string.cpp:278:7:278:8 | s4 | | +| string.cpp:273:17:273:25 | call to basic_string | string.cpp:281:2:281:3 | s4 | | +| string.cpp:273:17:273:25 | call to basic_string | string.cpp:286:7:286:8 | s4 | | +| string.cpp:280:2:280:3 | ref arg s1 | string.cpp:283:7:283:8 | s1 | | +| string.cpp:280:10:280:11 | ref arg s2 | string.cpp:284:7:284:8 | s2 | | +| string.cpp:281:2:281:3 | ref arg s4 | string.cpp:286:7:286:8 | s4 | | +| string.cpp:281:10:281:11 | ref arg s3 | string.cpp:285:7:285:8 | s3 | | | string.cpp:290:17:290:22 | call to source | string.cpp:290:17:290:25 | call to basic_string | TAINT | -| string.cpp:290:17:290:25 | call to basic_string | string.cpp:294:7:294:8 | s2 | | +| string.cpp:290:17:290:25 | call to basic_string | string.cpp:294:7:294:8 | s1 | | +| string.cpp:290:17:290:25 | call to basic_string | string.cpp:298:2:298:3 | s1 | | +| string.cpp:290:17:290:25 | call to basic_string | string.cpp:302:7:302:8 | s1 | | | string.cpp:291:17:291:22 | call to source | string.cpp:291:17:291:25 | call to basic_string | TAINT | -| string.cpp:291:17:291:25 | call to basic_string | string.cpp:295:7:295:8 | s3 | | -| string.cpp:291:17:291:25 | call to basic_string | string.cpp:299:7:299:8 | s3 | | -| string.cpp:297:2:297:3 | ref arg s1 | string.cpp:301:7:301:8 | s1 | | -| string.cpp:298:7:298:8 | | string.cpp:298:7:298:8 | call to basic_string | TAINT | -| string.cpp:298:7:298:8 | call to basic_string | string.cpp:298:2:298:8 | ... = ... | | -| string.cpp:298:7:298:8 | call to basic_string | string.cpp:302:7:302:8 | s2 | | -| string.cpp:299:7:299:8 | s3 | string.cpp:299:2:299:8 | ... = ... | | -| string.cpp:299:7:299:8 | s3 | string.cpp:303:7:303:8 | s3 | | -| string.cpp:308:16:308:20 | 123 | string.cpp:308:16:308:21 | call to basic_string | TAINT | -| string.cpp:308:16:308:21 | call to basic_string | string.cpp:311:7:311:7 | a | | -| string.cpp:308:16:308:21 | call to basic_string | string.cpp:313:7:313:7 | a | | -| string.cpp:309:16:309:21 | call to source | string.cpp:309:16:309:24 | call to basic_string | TAINT | -| string.cpp:309:16:309:24 | call to basic_string | string.cpp:312:7:312:7 | b | | -| string.cpp:309:16:309:24 | call to basic_string | string.cpp:314:7:314:7 | b | | -| string.cpp:311:7:311:7 | a | string.cpp:311:9:311:12 | call to data | TAINT | -| string.cpp:311:7:311:7 | ref arg a | string.cpp:313:7:313:7 | a | | -| string.cpp:312:7:312:7 | b | string.cpp:312:9:312:12 | call to data | TAINT | -| string.cpp:312:7:312:7 | ref arg b | string.cpp:314:7:314:7 | b | | -| string.cpp:319:16:319:20 | 123 | string.cpp:319:16:319:21 | call to basic_string | TAINT | -| string.cpp:319:16:319:21 | call to basic_string | string.cpp:322:7:322:7 | a | | -| string.cpp:319:16:319:21 | call to basic_string | string.cpp:322:19:322:19 | a | | -| string.cpp:320:16:320:21 | call to source | string.cpp:320:16:320:24 | call to basic_string | TAINT | -| string.cpp:320:16:320:24 | call to basic_string | string.cpp:323:7:323:7 | b | | -| string.cpp:320:16:320:24 | call to basic_string | string.cpp:323:19:323:19 | b | | -| string.cpp:322:7:322:7 | a | string.cpp:322:9:322:14 | call to substr | TAINT | -| string.cpp:323:7:323:7 | b | string.cpp:323:9:323:14 | call to substr | TAINT | -| string.cpp:328:16:328:20 | 123 | string.cpp:328:16:328:21 | call to basic_string | TAINT | -| string.cpp:328:16:328:21 | call to basic_string | string.cpp:332:7:332:7 | a | | -| string.cpp:328:16:328:21 | call to basic_string | string.cpp:336:2:336:2 | a | | -| string.cpp:328:16:328:21 | call to basic_string | string.cpp:338:9:338:9 | a | | -| string.cpp:328:16:328:21 | call to basic_string | string.cpp:340:7:340:7 | a | | +| string.cpp:291:17:291:25 | call to basic_string | string.cpp:295:7:295:8 | s2 | | +| string.cpp:292:17:292:22 | call to source | string.cpp:292:17:292:25 | call to basic_string | TAINT | +| string.cpp:292:17:292:25 | call to basic_string | string.cpp:296:7:296:8 | s3 | | +| string.cpp:292:17:292:25 | call to basic_string | string.cpp:300:7:300:8 | s3 | | +| string.cpp:298:2:298:3 | ref arg s1 | string.cpp:302:7:302:8 | s1 | | +| string.cpp:299:7:299:8 | | string.cpp:299:7:299:8 | call to basic_string | TAINT | +| string.cpp:299:7:299:8 | call to basic_string | string.cpp:299:2:299:8 | ... = ... | | +| string.cpp:299:7:299:8 | call to basic_string | string.cpp:303:7:303:8 | s2 | | +| string.cpp:300:7:300:8 | s3 | string.cpp:300:2:300:8 | ... = ... | | +| string.cpp:300:7:300:8 | s3 | string.cpp:304:7:304:8 | s3 | | +| string.cpp:309:16:309:20 | 123 | string.cpp:309:16:309:21 | call to basic_string | TAINT | +| string.cpp:309:16:309:21 | call to basic_string | string.cpp:312:7:312:7 | a | | +| string.cpp:309:16:309:21 | call to basic_string | string.cpp:314:7:314:7 | a | | +| string.cpp:310:16:310:21 | call to source | string.cpp:310:16:310:24 | call to basic_string | TAINT | +| string.cpp:310:16:310:24 | call to basic_string | string.cpp:313:7:313:7 | b | | +| string.cpp:310:16:310:24 | call to basic_string | string.cpp:315:7:315:7 | b | | +| string.cpp:312:7:312:7 | ref arg a | string.cpp:314:7:314:7 | a | | +| string.cpp:313:7:313:7 | ref arg b | string.cpp:315:7:315:7 | b | | +| string.cpp:320:16:320:20 | 123 | string.cpp:320:16:320:21 | call to basic_string | TAINT | +| string.cpp:320:16:320:21 | call to basic_string | string.cpp:323:7:323:7 | a | | +| string.cpp:320:16:320:21 | call to basic_string | string.cpp:323:19:323:19 | a | | +| string.cpp:321:16:321:21 | call to source | string.cpp:321:16:321:24 | call to basic_string | TAINT | +| string.cpp:321:16:321:24 | call to basic_string | string.cpp:324:7:324:7 | b | | +| string.cpp:321:16:321:24 | call to basic_string | string.cpp:324:19:324:19 | b | | | string.cpp:329:16:329:20 | 123 | string.cpp:329:16:329:21 | call to basic_string | TAINT | -| string.cpp:329:16:329:21 | call to basic_string | string.cpp:333:7:333:7 | b | | -| string.cpp:329:16:329:21 | call to basic_string | string.cpp:337:2:337:2 | b | | -| string.cpp:329:16:329:21 | call to basic_string | string.cpp:341:7:341:7 | b | | +| string.cpp:329:16:329:21 | call to basic_string | string.cpp:333:7:333:7 | a | | +| string.cpp:329:16:329:21 | call to basic_string | string.cpp:337:2:337:2 | a | | +| string.cpp:329:16:329:21 | call to basic_string | string.cpp:339:9:339:9 | a | | +| string.cpp:329:16:329:21 | call to basic_string | string.cpp:341:7:341:7 | a | | | string.cpp:330:16:330:20 | 123 | string.cpp:330:16:330:21 | call to basic_string | TAINT | -| string.cpp:330:16:330:21 | call to basic_string | string.cpp:334:7:334:7 | c | | -| string.cpp:330:16:330:21 | call to basic_string | string.cpp:338:2:338:2 | c | | -| string.cpp:330:16:330:21 | call to basic_string | string.cpp:342:7:342:7 | c | | -| string.cpp:336:2:336:2 | a | string.cpp:336:3:336:3 | call to operator[] | TAINT | -| string.cpp:336:2:336:2 | ref arg a | string.cpp:338:9:338:9 | a | | -| string.cpp:336:2:336:2 | ref arg a | string.cpp:340:7:340:7 | a | | -| string.cpp:336:2:336:25 | ... = ... | string.cpp:336:3:336:3 | call to operator[] [post update] | | -| string.cpp:336:3:336:3 | call to operator[] [post update] | string.cpp:336:2:336:2 | ref arg a | TAINT | -| string.cpp:336:9:336:23 | call to source | string.cpp:336:2:336:25 | ... = ... | | -| string.cpp:337:2:337:2 | b | string.cpp:337:4:337:5 | call to at | TAINT | -| string.cpp:337:2:337:2 | ref arg b | string.cpp:341:7:341:7 | b | | -| string.cpp:337:2:337:28 | ... = ... | string.cpp:337:4:337:5 | call to at [post update] | | -| string.cpp:337:4:337:5 | call to at [post update] | string.cpp:337:2:337:2 | ref arg b | TAINT | -| string.cpp:337:12:337:26 | call to source | string.cpp:337:2:337:28 | ... = ... | | -| string.cpp:338:2:338:2 | c | string.cpp:338:3:338:3 | call to operator[] | TAINT | -| string.cpp:338:2:338:2 | ref arg c | string.cpp:342:7:342:7 | c | | -| string.cpp:338:2:338:12 | ... = ... | string.cpp:338:3:338:3 | call to operator[] [post update] | | -| string.cpp:338:3:338:3 | call to operator[] [post update] | string.cpp:338:2:338:2 | ref arg c | TAINT | -| string.cpp:338:9:338:9 | a | string.cpp:338:10:338:10 | call to operator[] | TAINT | -| string.cpp:338:9:338:9 | ref arg a | string.cpp:340:7:340:7 | a | | -| string.cpp:338:10:338:10 | call to operator[] | string.cpp:338:2:338:12 | ... = ... | | -| string.cpp:347:18:347:22 | 123 | string.cpp:347:18:347:23 | call to basic_string | TAINT | -| string.cpp:347:18:347:23 | call to basic_string | string.cpp:349:2:349:4 | str | | -| string.cpp:347:18:347:23 | call to basic_string | string.cpp:350:7:350:9 | str | | -| string.cpp:347:18:347:23 | call to basic_string | string.cpp:351:7:351:9 | str | | -| string.cpp:349:2:349:4 | ref arg str | string.cpp:350:7:350:9 | str | | -| string.cpp:349:2:349:4 | ref arg str | string.cpp:351:7:351:9 | str | | -| string.cpp:349:2:349:4 | str | string.cpp:349:6:349:9 | call to data | TAINT | -| string.cpp:349:2:349:14 | access to array [post update] | string.cpp:349:6:349:9 | call to data [inner post update] | | -| string.cpp:349:2:349:34 | ... = ... | string.cpp:349:2:349:14 | access to array [post update] | | -| string.cpp:349:6:349:9 | call to data | string.cpp:349:2:349:14 | access to array | TAINT | -| string.cpp:349:6:349:9 | call to data [inner post update] | string.cpp:349:2:349:4 | ref arg str | TAINT | -| string.cpp:349:13:349:13 | 1 | string.cpp:349:2:349:14 | access to array | TAINT | -| string.cpp:349:18:349:32 | call to source | string.cpp:349:2:349:34 | ... = ... | | -| string.cpp:351:7:351:9 | str | string.cpp:351:11:351:14 | call to data | TAINT | -| string.cpp:357:18:357:24 | hello | string.cpp:357:18:357:25 | call to basic_string | TAINT | -| string.cpp:357:18:357:25 | call to basic_string | string.cpp:362:8:362:9 | s1 | | -| string.cpp:357:18:357:25 | call to basic_string | string.cpp:363:8:363:9 | s1 | | -| string.cpp:357:18:357:25 | call to basic_string | string.cpp:364:8:364:9 | s1 | | -| string.cpp:358:18:358:23 | call to source | string.cpp:358:18:358:26 | call to basic_string | TAINT | -| string.cpp:358:18:358:26 | call to basic_string | string.cpp:363:18:363:19 | s2 | | -| string.cpp:358:18:358:26 | call to basic_string | string.cpp:363:30:363:31 | s2 | | -| string.cpp:359:18:359:24 | hello | string.cpp:359:18:359:25 | call to basic_string | TAINT | -| string.cpp:359:18:359:25 | call to basic_string | string.cpp:366:8:366:9 | s3 | | -| string.cpp:359:18:359:25 | call to basic_string | string.cpp:367:8:367:9 | s3 | | -| string.cpp:359:18:359:25 | call to basic_string | string.cpp:368:8:368:9 | s3 | | -| string.cpp:360:18:360:24 | world | string.cpp:360:18:360:25 | call to basic_string | TAINT | -| string.cpp:360:18:360:25 | call to basic_string | string.cpp:367:18:367:19 | s4 | | -| string.cpp:360:18:360:25 | call to basic_string | string.cpp:367:30:367:31 | s4 | | -| string.cpp:363:8:363:9 | ref arg s1 | string.cpp:364:8:364:9 | s1 | | -| string.cpp:363:8:363:9 | s1 | string.cpp:363:11:363:16 | call to append | TAINT | -| string.cpp:363:18:363:19 | ref arg s2 | string.cpp:363:30:363:31 | s2 | | -| string.cpp:363:18:363:19 | s2 | string.cpp:363:21:363:25 | call to begin | TAINT | -| string.cpp:363:21:363:25 | call to begin | string.cpp:363:8:363:9 | ref arg s1 | TAINT | -| string.cpp:363:21:363:25 | call to begin | string.cpp:363:11:363:16 | call to append | TAINT | -| string.cpp:363:30:363:31 | s2 | string.cpp:363:33:363:35 | call to end | TAINT | -| string.cpp:363:33:363:35 | call to end | string.cpp:363:8:363:9 | ref arg s1 | TAINT | -| string.cpp:363:33:363:35 | call to end | string.cpp:363:11:363:16 | call to append | TAINT | -| string.cpp:367:8:367:9 | ref arg s3 | string.cpp:368:8:368:9 | s3 | | -| string.cpp:367:8:367:9 | s3 | string.cpp:367:11:367:16 | call to append | TAINT | -| string.cpp:367:18:367:19 | ref arg s4 | string.cpp:367:30:367:31 | s4 | | -| string.cpp:367:18:367:19 | s4 | string.cpp:367:21:367:25 | call to begin | TAINT | -| string.cpp:367:21:367:25 | call to begin | string.cpp:367:8:367:9 | ref arg s3 | TAINT | -| string.cpp:367:21:367:25 | call to begin | string.cpp:367:11:367:16 | call to append | TAINT | -| string.cpp:367:30:367:31 | s4 | string.cpp:367:33:367:35 | call to end | TAINT | -| string.cpp:367:33:367:35 | call to end | string.cpp:367:8:367:9 | ref arg s3 | TAINT | -| string.cpp:367:33:367:35 | call to end | string.cpp:367:11:367:16 | call to append | TAINT | -| string.cpp:373:18:373:24 | hello | string.cpp:373:18:373:25 | call to basic_string | TAINT | -| string.cpp:373:18:373:25 | call to basic_string | string.cpp:376:28:376:29 | s1 | | -| string.cpp:374:18:374:23 | call to source | string.cpp:374:18:374:26 | call to basic_string | TAINT | -| string.cpp:374:18:374:26 | call to basic_string | string.cpp:380:28:380:29 | s2 | | -| string.cpp:376:28:376:29 | s1 | string.cpp:376:31:376:35 | call to begin | TAINT | -| string.cpp:376:31:376:35 | call to begin | string.cpp:378:9:378:13 | iter1 | | -| string.cpp:376:31:376:35 | call to begin | string.cpp:379:8:379:12 | iter1 | | -| string.cpp:378:9:378:13 | iter1 | string.cpp:378:8:378:8 | call to operator* | TAINT | -| string.cpp:378:9:378:13 | ref arg iter1 | string.cpp:379:8:379:12 | iter1 | | -| string.cpp:379:8:379:12 | iter1 | string.cpp:379:13:379:13 | call to operator[] | TAINT | -| string.cpp:380:28:380:29 | s2 | string.cpp:380:31:380:35 | call to begin | TAINT | -| string.cpp:380:31:380:35 | call to begin | string.cpp:382:9:382:13 | iter2 | | -| string.cpp:380:31:380:35 | call to begin | string.cpp:383:8:383:12 | iter2 | | -| string.cpp:382:9:382:13 | iter2 | string.cpp:382:8:382:8 | call to operator* | TAINT | -| string.cpp:382:9:382:13 | ref arg iter2 | string.cpp:383:8:383:12 | iter2 | | -| string.cpp:383:8:383:12 | iter2 | string.cpp:383:13:383:13 | call to operator[] | TAINT | -| string.cpp:388:18:388:24 | hello | string.cpp:388:18:388:25 | call to basic_string | TAINT | -| string.cpp:388:18:388:25 | call to basic_string | string.cpp:391:25:391:26 | s1 | | -| string.cpp:389:18:389:23 | call to source | string.cpp:389:18:389:26 | call to basic_string | TAINT | -| string.cpp:389:18:389:26 | call to basic_string | string.cpp:393:25:393:26 | s2 | | -| string.cpp:389:18:389:26 | call to basic_string | string.cpp:413:8:413:9 | s2 | | -| string.cpp:391:25:391:26 | s1 | string.cpp:391:28:391:32 | call to begin | TAINT | -| string.cpp:393:25:393:26 | ref arg s2 | string.cpp:413:8:413:9 | s2 | | -| string.cpp:393:25:393:26 | s2 | string.cpp:393:28:393:32 | call to begin | TAINT | -| string.cpp:393:28:393:32 | call to begin | string.cpp:396:10:396:11 | i2 | | -| string.cpp:393:28:393:32 | call to begin | string.cpp:397:10:397:11 | i2 | | -| string.cpp:393:28:393:32 | call to begin | string.cpp:398:8:398:9 | i2 | | -| string.cpp:393:28:393:32 | call to begin | string.cpp:400:8:400:9 | i2 | | -| string.cpp:393:28:393:32 | call to begin | string.cpp:402:8:402:9 | i2 | | -| string.cpp:393:28:393:32 | call to begin | string.cpp:405:8:405:9 | i2 | | -| string.cpp:393:28:393:32 | call to begin | string.cpp:408:8:408:9 | i2 | | -| string.cpp:393:28:393:32 | call to begin | string.cpp:410:8:410:9 | i2 | | -| string.cpp:393:28:393:32 | call to begin | string.cpp:417:9:417:10 | i2 | | -| string.cpp:393:28:393:32 | call to begin | string.cpp:420:9:420:10 | i2 | | -| string.cpp:396:10:396:11 | i2 | string.cpp:396:12:396:12 | call to operator+ | TAINT | -| string.cpp:396:10:396:11 | ref arg i2 | string.cpp:397:10:397:11 | i2 | | -| string.cpp:396:10:396:11 | ref arg i2 | string.cpp:398:8:398:9 | i2 | | -| string.cpp:396:10:396:11 | ref arg i2 | string.cpp:400:8:400:9 | i2 | | -| string.cpp:396:10:396:11 | ref arg i2 | string.cpp:402:8:402:9 | i2 | | -| string.cpp:396:10:396:11 | ref arg i2 | string.cpp:405:8:405:9 | i2 | | -| string.cpp:396:10:396:11 | ref arg i2 | string.cpp:408:8:408:9 | i2 | | -| string.cpp:396:10:396:11 | ref arg i2 | string.cpp:410:8:410:9 | i2 | | -| string.cpp:396:10:396:11 | ref arg i2 | string.cpp:417:9:417:10 | i2 | | -| string.cpp:396:10:396:11 | ref arg i2 | string.cpp:420:9:420:10 | i2 | | -| string.cpp:396:12:396:12 | call to operator+ | string.cpp:396:8:396:8 | call to operator* | TAINT | -| string.cpp:397:10:397:11 | i2 | string.cpp:397:12:397:12 | call to operator- | TAINT | -| string.cpp:397:10:397:11 | ref arg i2 | string.cpp:398:8:398:9 | i2 | | -| string.cpp:397:10:397:11 | ref arg i2 | string.cpp:400:8:400:9 | i2 | | -| string.cpp:397:10:397:11 | ref arg i2 | string.cpp:402:8:402:9 | i2 | | -| string.cpp:397:10:397:11 | ref arg i2 | string.cpp:405:8:405:9 | i2 | | -| string.cpp:397:10:397:11 | ref arg i2 | string.cpp:408:8:408:9 | i2 | | -| string.cpp:397:10:397:11 | ref arg i2 | string.cpp:410:8:410:9 | i2 | | -| string.cpp:397:10:397:11 | ref arg i2 | string.cpp:417:9:417:10 | i2 | | -| string.cpp:397:10:397:11 | ref arg i2 | string.cpp:420:9:420:10 | i2 | | -| string.cpp:397:12:397:12 | call to operator- | string.cpp:397:8:397:8 | call to operator* | TAINT | -| string.cpp:398:8:398:9 | i2 | string.cpp:398:3:398:9 | ... = ... | | -| string.cpp:398:8:398:9 | i2 | string.cpp:399:12:399:13 | i3 | | -| string.cpp:399:10:399:10 | call to operator++ | string.cpp:399:8:399:8 | call to operator* | TAINT | -| string.cpp:399:10:399:10 | ref arg call to operator++ | string.cpp:399:12:399:13 | ref arg i3 | | -| string.cpp:399:12:399:13 | i3 | string.cpp:399:10:399:10 | call to operator++ | | -| string.cpp:400:8:400:9 | i2 | string.cpp:400:3:400:9 | ... = ... | | -| string.cpp:400:8:400:9 | i2 | string.cpp:401:12:401:13 | i4 | | -| string.cpp:401:10:401:10 | call to operator-- | string.cpp:401:8:401:8 | call to operator* | TAINT | -| string.cpp:401:10:401:10 | ref arg call to operator-- | string.cpp:401:12:401:13 | ref arg i4 | | -| string.cpp:401:12:401:13 | i4 | string.cpp:401:10:401:10 | call to operator-- | | -| string.cpp:402:8:402:9 | i2 | string.cpp:402:3:402:9 | ... = ... | | -| string.cpp:402:8:402:9 | i2 | string.cpp:403:3:403:4 | i5 | | -| string.cpp:402:8:402:9 | i2 | string.cpp:404:9:404:10 | i5 | | -| string.cpp:403:3:403:4 | i5 | string.cpp:403:5:403:5 | call to operator++ | | -| string.cpp:403:3:403:4 | ref arg i5 | string.cpp:404:9:404:10 | i5 | | -| string.cpp:404:9:404:10 | i5 | string.cpp:404:8:404:8 | call to operator* | TAINT | -| string.cpp:405:8:405:9 | i2 | string.cpp:405:3:405:9 | ... = ... | | -| string.cpp:405:8:405:9 | i2 | string.cpp:406:3:406:4 | i6 | | -| string.cpp:405:8:405:9 | i2 | string.cpp:407:9:407:10 | i6 | | -| string.cpp:406:3:406:4 | i6 | string.cpp:406:5:406:5 | call to operator-- | | -| string.cpp:406:3:406:4 | ref arg i6 | string.cpp:407:9:407:10 | i6 | | -| string.cpp:407:9:407:10 | i6 | string.cpp:407:8:407:8 | call to operator* | TAINT | -| string.cpp:408:8:408:9 | i2 | string.cpp:408:3:408:9 | ... = ... | | -| string.cpp:408:8:408:9 | i2 | string.cpp:409:10:409:11 | i7 | | -| string.cpp:409:10:409:11 | i7 | string.cpp:409:12:409:12 | call to operator+= | TAINT | -| string.cpp:409:12:409:12 | call to operator+= | string.cpp:409:8:409:8 | call to operator* | TAINT | -| string.cpp:409:12:409:12 | ref arg call to operator+= | string.cpp:409:10:409:11 | ref arg i7 | TAINT | -| string.cpp:409:14:409:14 | 1 | string.cpp:409:10:409:11 | ref arg i7 | TAINT | -| string.cpp:410:8:410:9 | i2 | string.cpp:410:3:410:9 | ... = ... | | -| string.cpp:410:8:410:9 | i2 | string.cpp:411:10:411:11 | i8 | | -| string.cpp:411:10:411:11 | i8 | string.cpp:411:12:411:12 | call to operator-= | TAINT | -| string.cpp:411:12:411:12 | call to operator-= | string.cpp:411:8:411:8 | call to operator* | TAINT | -| string.cpp:411:12:411:12 | ref arg call to operator-= | string.cpp:411:10:411:11 | ref arg i8 | TAINT | -| string.cpp:411:14:411:14 | 1 | string.cpp:411:10:411:11 | ref arg i8 | TAINT | -| string.cpp:413:8:413:9 | s2 | string.cpp:413:11:413:13 | call to end | TAINT | -| string.cpp:413:11:413:13 | call to end | string.cpp:413:3:413:15 | ... = ... | | -| string.cpp:413:11:413:13 | call to end | string.cpp:414:5:414:6 | i9 | | -| string.cpp:413:11:413:13 | call to end | string.cpp:415:9:415:10 | i9 | | -| string.cpp:414:5:414:6 | i9 | string.cpp:414:3:414:3 | call to operator-- | | -| string.cpp:414:5:414:6 | ref arg i9 | string.cpp:415:9:415:10 | i9 | | -| string.cpp:415:9:415:10 | i9 | string.cpp:415:8:415:8 | call to operator* | TAINT | -| string.cpp:417:9:417:10 | i2 | string.cpp:417:3:417:10 | ... = ... | | -| string.cpp:417:9:417:10 | i2 | string.cpp:418:10:418:12 | i10 | | -| string.cpp:417:9:417:10 | i2 | string.cpp:419:8:419:10 | i10 | | -| string.cpp:418:10:418:12 | i10 | string.cpp:418:13:418:13 | call to operator++ | | -| string.cpp:418:10:418:12 | ref arg i10 | string.cpp:419:8:419:10 | i10 | | -| string.cpp:418:13:418:13 | call to operator++ | string.cpp:418:8:418:8 | call to operator* | TAINT | -| string.cpp:419:8:419:10 | i10 | string.cpp:419:8:419:10 | call to iterator | | -| string.cpp:420:9:420:10 | i2 | string.cpp:420:3:420:10 | ... = ... | | -| string.cpp:420:9:420:10 | i2 | string.cpp:421:10:421:12 | i11 | | -| string.cpp:420:9:420:10 | i2 | string.cpp:422:8:422:10 | i11 | | -| string.cpp:421:10:421:12 | i11 | string.cpp:421:13:421:13 | call to operator-- | | -| string.cpp:421:10:421:12 | ref arg i11 | string.cpp:422:8:422:10 | i11 | | -| string.cpp:421:13:421:13 | call to operator-- | string.cpp:421:8:421:8 | call to operator* | TAINT | -| string.cpp:422:8:422:10 | i11 | string.cpp:422:8:422:10 | call to iterator | | -| string.cpp:428:17:428:20 | aa | string.cpp:428:17:428:21 | call to basic_string | TAINT | -| string.cpp:428:17:428:21 | call to basic_string | string.cpp:433:7:433:8 | s1 | | -| string.cpp:428:17:428:21 | call to basic_string | string.cpp:434:7:434:8 | s1 | | -| string.cpp:429:17:429:20 | bb | string.cpp:429:17:429:21 | call to basic_string | TAINT | -| string.cpp:429:17:429:21 | call to basic_string | string.cpp:436:7:436:8 | s2 | | -| string.cpp:429:17:429:21 | call to basic_string | string.cpp:437:7:437:8 | s2 | | -| string.cpp:430:14:430:17 | cc | string.cpp:433:20:433:22 | cs1 | | -| string.cpp:431:14:431:19 | call to source | string.cpp:436:20:436:22 | cs2 | | -| string.cpp:433:7:433:8 | ref arg s1 | string.cpp:434:7:434:8 | s1 | | -| string.cpp:433:7:433:8 | s1 | string.cpp:433:10:433:15 | call to insert | TAINT | -| string.cpp:433:20:433:22 | cs1 | string.cpp:433:7:433:8 | ref arg s1 | TAINT | -| string.cpp:433:20:433:22 | cs1 | string.cpp:433:10:433:15 | call to insert | TAINT | -| string.cpp:436:7:436:8 | ref arg s2 | string.cpp:437:7:437:8 | s2 | | -| string.cpp:436:7:436:8 | s2 | string.cpp:436:10:436:15 | call to insert | TAINT | -| string.cpp:436:20:436:22 | cs2 | string.cpp:436:7:436:8 | ref arg s2 | TAINT | -| string.cpp:436:20:436:22 | cs2 | string.cpp:436:10:436:15 | call to insert | TAINT | -| string.cpp:443:17:443:20 | aa | string.cpp:443:17:443:21 | call to basic_string | TAINT | -| string.cpp:443:17:443:21 | call to basic_string | string.cpp:446:8:446:8 | a | | -| string.cpp:443:17:443:21 | call to basic_string | string.cpp:446:17:446:17 | a | | -| string.cpp:443:17:443:21 | call to basic_string | string.cpp:447:8:447:8 | a | | -| string.cpp:444:17:444:20 | bb | string.cpp:444:17:444:21 | call to basic_string | TAINT | -| string.cpp:444:17:444:21 | call to basic_string | string.cpp:449:8:449:8 | b | | -| string.cpp:444:17:444:21 | call to basic_string | string.cpp:449:17:449:17 | b | | -| string.cpp:444:17:444:21 | call to basic_string | string.cpp:450:8:450:8 | b | | -| string.cpp:446:8:446:8 | a | string.cpp:446:10:446:15 | call to insert | TAINT | -| string.cpp:446:8:446:8 | ref arg a | string.cpp:447:8:447:8 | a | | -| string.cpp:446:17:446:17 | a | string.cpp:446:19:446:23 | call to begin | TAINT | -| string.cpp:446:17:446:17 | ref arg a | string.cpp:446:8:446:8 | a | | -| string.cpp:446:17:446:17 | ref arg a | string.cpp:447:8:447:8 | a | | -| string.cpp:446:17:446:25 | call to iterator | string.cpp:446:8:446:8 | ref arg a | TAINT | -| string.cpp:446:17:446:25 | call to iterator | string.cpp:446:10:446:15 | call to insert | TAINT | -| string.cpp:446:19:446:23 | call to begin | string.cpp:446:17:446:25 | call to iterator | TAINT | -| string.cpp:446:32:446:34 | 120 | string.cpp:446:8:446:8 | ref arg a | TAINT | -| string.cpp:446:32:446:34 | 120 | string.cpp:446:10:446:15 | call to insert | TAINT | -| string.cpp:449:8:449:8 | b | string.cpp:449:10:449:15 | call to insert | TAINT | -| string.cpp:449:8:449:8 | ref arg b | string.cpp:450:8:450:8 | b | | -| string.cpp:449:17:449:17 | b | string.cpp:449:19:449:23 | call to begin | TAINT | -| string.cpp:449:17:449:17 | ref arg b | string.cpp:449:8:449:8 | b | | -| string.cpp:449:17:449:17 | ref arg b | string.cpp:450:8:450:8 | b | | -| string.cpp:449:17:449:25 | call to iterator | string.cpp:449:8:449:8 | ref arg b | TAINT | -| string.cpp:449:17:449:25 | call to iterator | string.cpp:449:10:449:15 | call to insert | TAINT | -| string.cpp:449:19:449:23 | call to begin | string.cpp:449:17:449:25 | call to iterator | TAINT | -| string.cpp:449:32:449:46 | call to source | string.cpp:449:8:449:8 | ref arg b | TAINT | -| string.cpp:449:32:449:46 | call to source | string.cpp:449:10:449:15 | call to insert | TAINT | -| string.cpp:454:17:454:20 | cc | string.cpp:454:17:454:21 | call to basic_string | TAINT | -| string.cpp:454:17:454:21 | call to basic_string | string.cpp:459:8:459:8 | c | | -| string.cpp:454:17:454:21 | call to basic_string | string.cpp:459:17:459:17 | c | | -| string.cpp:454:17:454:21 | call to basic_string | string.cpp:460:8:460:8 | c | | -| string.cpp:455:17:455:20 | dd | string.cpp:455:17:455:21 | call to basic_string | TAINT | -| string.cpp:455:17:455:21 | call to basic_string | string.cpp:462:8:462:8 | d | | -| string.cpp:455:17:455:21 | call to basic_string | string.cpp:462:17:462:17 | d | | -| string.cpp:455:17:455:21 | call to basic_string | string.cpp:463:8:463:8 | d | | -| string.cpp:456:18:456:21 | 11 | string.cpp:456:18:456:22 | call to basic_string | TAINT | -| string.cpp:456:18:456:22 | call to basic_string | string.cpp:459:26:459:27 | s1 | | -| string.cpp:456:18:456:22 | call to basic_string | string.cpp:459:38:459:39 | s1 | | -| string.cpp:456:18:456:22 | call to basic_string | string.cpp:465:28:465:29 | s1 | | -| string.cpp:456:18:456:22 | call to basic_string | string.cpp:465:40:465:41 | s1 | | -| string.cpp:457:18:457:23 | call to source | string.cpp:457:18:457:26 | call to basic_string | TAINT | -| string.cpp:457:18:457:26 | call to basic_string | string.cpp:462:26:462:27 | s2 | | -| string.cpp:457:18:457:26 | call to basic_string | string.cpp:462:38:462:39 | s2 | | -| string.cpp:457:18:457:26 | call to basic_string | string.cpp:465:8:465:9 | s2 | | -| string.cpp:457:18:457:26 | call to basic_string | string.cpp:465:18:465:19 | s2 | | -| string.cpp:457:18:457:26 | call to basic_string | string.cpp:466:8:466:9 | s2 | | -| string.cpp:459:8:459:8 | c | string.cpp:459:10:459:15 | call to insert | TAINT | -| string.cpp:459:8:459:8 | ref arg c | string.cpp:460:8:460:8 | c | | -| string.cpp:459:17:459:17 | c | string.cpp:459:19:459:21 | call to end | TAINT | -| string.cpp:459:17:459:17 | ref arg c | string.cpp:459:8:459:8 | c | | -| string.cpp:459:17:459:17 | ref arg c | string.cpp:460:8:460:8 | c | | -| string.cpp:459:17:459:23 | call to iterator | string.cpp:459:8:459:8 | ref arg c | TAINT | -| string.cpp:459:17:459:23 | call to iterator | string.cpp:459:10:459:15 | call to insert | TAINT | -| string.cpp:459:19:459:21 | call to end | string.cpp:459:17:459:23 | call to iterator | TAINT | -| string.cpp:459:26:459:27 | ref arg s1 | string.cpp:459:38:459:39 | s1 | | -| string.cpp:459:26:459:27 | ref arg s1 | string.cpp:465:28:465:29 | s1 | | -| string.cpp:459:26:459:27 | ref arg s1 | string.cpp:465:40:465:41 | s1 | | -| string.cpp:459:26:459:27 | s1 | string.cpp:459:29:459:33 | call to begin | TAINT | -| string.cpp:459:29:459:33 | call to begin | string.cpp:459:8:459:8 | ref arg c | TAINT | -| string.cpp:459:29:459:33 | call to begin | string.cpp:459:10:459:15 | call to insert | TAINT | -| string.cpp:459:38:459:39 | ref arg s1 | string.cpp:465:28:465:29 | s1 | | -| string.cpp:459:38:459:39 | ref arg s1 | string.cpp:465:40:465:41 | s1 | | -| string.cpp:459:38:459:39 | s1 | string.cpp:459:41:459:43 | call to end | TAINT | -| string.cpp:459:41:459:43 | call to end | string.cpp:459:8:459:8 | ref arg c | TAINT | -| string.cpp:459:41:459:43 | call to end | string.cpp:459:10:459:15 | call to insert | TAINT | -| string.cpp:462:8:462:8 | d | string.cpp:462:10:462:15 | call to insert | TAINT | -| string.cpp:462:8:462:8 | ref arg d | string.cpp:463:8:463:8 | d | | -| string.cpp:462:17:462:17 | d | string.cpp:462:19:462:21 | call to end | TAINT | -| string.cpp:462:17:462:17 | ref arg d | string.cpp:462:8:462:8 | d | | -| string.cpp:462:17:462:17 | ref arg d | string.cpp:463:8:463:8 | d | | -| string.cpp:462:17:462:23 | call to iterator | string.cpp:462:8:462:8 | ref arg d | TAINT | -| string.cpp:462:17:462:23 | call to iterator | string.cpp:462:10:462:15 | call to insert | TAINT | -| string.cpp:462:19:462:21 | call to end | string.cpp:462:17:462:23 | call to iterator | TAINT | -| string.cpp:462:26:462:27 | ref arg s2 | string.cpp:462:38:462:39 | s2 | | -| string.cpp:462:26:462:27 | ref arg s2 | string.cpp:465:8:465:9 | s2 | | -| string.cpp:462:26:462:27 | ref arg s2 | string.cpp:465:18:465:19 | s2 | | -| string.cpp:462:26:462:27 | ref arg s2 | string.cpp:466:8:466:9 | s2 | | -| string.cpp:462:26:462:27 | s2 | string.cpp:462:29:462:33 | call to begin | TAINT | -| string.cpp:462:29:462:33 | call to begin | string.cpp:462:8:462:8 | ref arg d | TAINT | -| string.cpp:462:29:462:33 | call to begin | string.cpp:462:10:462:15 | call to insert | TAINT | -| string.cpp:462:38:462:39 | ref arg s2 | string.cpp:465:8:465:9 | s2 | | -| string.cpp:462:38:462:39 | ref arg s2 | string.cpp:465:18:465:19 | s2 | | -| string.cpp:462:38:462:39 | ref arg s2 | string.cpp:466:8:466:9 | s2 | | -| string.cpp:462:38:462:39 | s2 | string.cpp:462:41:462:43 | call to end | TAINT | -| string.cpp:462:41:462:43 | call to end | string.cpp:462:8:462:8 | ref arg d | TAINT | -| string.cpp:462:41:462:43 | call to end | string.cpp:462:10:462:15 | call to insert | TAINT | -| string.cpp:465:8:465:9 | ref arg s2 | string.cpp:466:8:466:9 | s2 | | -| string.cpp:465:8:465:9 | s2 | string.cpp:465:11:465:16 | call to insert | TAINT | -| string.cpp:465:18:465:19 | ref arg s2 | string.cpp:465:8:465:9 | s2 | | -| string.cpp:465:18:465:19 | ref arg s2 | string.cpp:466:8:466:9 | s2 | | -| string.cpp:465:18:465:19 | s2 | string.cpp:465:21:465:23 | call to end | TAINT | -| string.cpp:465:18:465:25 | call to iterator | string.cpp:465:8:465:9 | ref arg s2 | TAINT | -| string.cpp:465:18:465:25 | call to iterator | string.cpp:465:11:465:16 | call to insert | TAINT | -| string.cpp:465:21:465:23 | call to end | string.cpp:465:18:465:25 | call to iterator | TAINT | -| string.cpp:465:28:465:29 | ref arg s1 | string.cpp:465:40:465:41 | s1 | | -| string.cpp:465:28:465:29 | s1 | string.cpp:465:31:465:35 | call to begin | TAINT | -| string.cpp:465:31:465:35 | call to begin | string.cpp:465:8:465:9 | ref arg s2 | TAINT | -| string.cpp:465:31:465:35 | call to begin | string.cpp:465:11:465:16 | call to insert | TAINT | -| string.cpp:465:40:465:41 | s1 | string.cpp:465:43:465:45 | call to end | TAINT | -| string.cpp:465:43:465:45 | call to end | string.cpp:465:8:465:9 | ref arg s2 | TAINT | -| string.cpp:465:43:465:45 | call to end | string.cpp:465:11:465:16 | call to insert | TAINT | -| string.cpp:470:17:470:20 | ee | string.cpp:470:17:470:21 | call to basic_string | TAINT | -| string.cpp:470:17:470:21 | call to basic_string | string.cpp:475:8:475:8 | e | | -| string.cpp:470:17:470:21 | call to basic_string | string.cpp:476:8:476:8 | e | | -| string.cpp:471:17:471:20 | ff | string.cpp:471:17:471:21 | call to basic_string | TAINT | -| string.cpp:471:17:471:21 | call to basic_string | string.cpp:478:8:478:8 | f | | -| string.cpp:471:17:471:21 | call to basic_string | string.cpp:479:8:479:8 | f | | -| string.cpp:472:18:472:21 | 33 | string.cpp:472:18:472:22 | call to basic_string | TAINT | -| string.cpp:472:18:472:22 | call to basic_string | string.cpp:475:17:475:18 | s3 | | -| string.cpp:472:18:472:22 | call to basic_string | string.cpp:475:29:475:30 | s3 | | -| string.cpp:472:18:472:22 | call to basic_string | string.cpp:481:18:481:19 | s3 | | -| string.cpp:472:18:472:22 | call to basic_string | string.cpp:481:30:481:31 | s3 | | -| string.cpp:473:18:473:23 | call to source | string.cpp:473:18:473:26 | call to basic_string | TAINT | -| string.cpp:473:18:473:26 | call to basic_string | string.cpp:478:17:478:18 | s4 | | -| string.cpp:473:18:473:26 | call to basic_string | string.cpp:478:29:478:30 | s4 | | -| string.cpp:473:18:473:26 | call to basic_string | string.cpp:481:8:481:9 | s4 | | -| string.cpp:473:18:473:26 | call to basic_string | string.cpp:482:8:482:9 | s4 | | -| string.cpp:475:8:475:8 | e | string.cpp:475:10:475:15 | call to append | TAINT | -| string.cpp:475:8:475:8 | ref arg e | string.cpp:476:8:476:8 | e | | -| string.cpp:475:17:475:18 | ref arg s3 | string.cpp:475:29:475:30 | s3 | | -| string.cpp:475:17:475:18 | ref arg s3 | string.cpp:481:18:481:19 | s3 | | -| string.cpp:475:17:475:18 | ref arg s3 | string.cpp:481:30:481:31 | s3 | | -| string.cpp:475:17:475:18 | s3 | string.cpp:475:20:475:24 | call to begin | TAINT | -| string.cpp:475:20:475:24 | call to begin | string.cpp:475:8:475:8 | ref arg e | TAINT | -| string.cpp:475:20:475:24 | call to begin | string.cpp:475:10:475:15 | call to append | TAINT | -| string.cpp:475:29:475:30 | ref arg s3 | string.cpp:481:18:481:19 | s3 | | -| string.cpp:475:29:475:30 | ref arg s3 | string.cpp:481:30:481:31 | s3 | | -| string.cpp:475:29:475:30 | s3 | string.cpp:475:32:475:34 | call to end | TAINT | -| string.cpp:475:32:475:34 | call to end | string.cpp:475:8:475:8 | ref arg e | TAINT | -| string.cpp:475:32:475:34 | call to end | string.cpp:475:10:475:15 | call to append | TAINT | -| string.cpp:478:8:478:8 | f | string.cpp:478:10:478:15 | call to append | TAINT | -| string.cpp:478:8:478:8 | ref arg f | string.cpp:479:8:479:8 | f | | -| string.cpp:478:17:478:18 | ref arg s4 | string.cpp:478:29:478:30 | s4 | | -| string.cpp:478:17:478:18 | ref arg s4 | string.cpp:481:8:481:9 | s4 | | -| string.cpp:478:17:478:18 | ref arg s4 | string.cpp:482:8:482:9 | s4 | | -| string.cpp:478:17:478:18 | s4 | string.cpp:478:20:478:24 | call to begin | TAINT | -| string.cpp:478:20:478:24 | call to begin | string.cpp:478:8:478:8 | ref arg f | TAINT | -| string.cpp:478:20:478:24 | call to begin | string.cpp:478:10:478:15 | call to append | TAINT | -| string.cpp:478:29:478:30 | ref arg s4 | string.cpp:481:8:481:9 | s4 | | -| string.cpp:478:29:478:30 | ref arg s4 | string.cpp:482:8:482:9 | s4 | | -| string.cpp:478:29:478:30 | s4 | string.cpp:478:32:478:34 | call to end | TAINT | -| string.cpp:478:32:478:34 | call to end | string.cpp:478:8:478:8 | ref arg f | TAINT | -| string.cpp:478:32:478:34 | call to end | string.cpp:478:10:478:15 | call to append | TAINT | -| string.cpp:481:8:481:9 | ref arg s4 | string.cpp:482:8:482:9 | s4 | | -| string.cpp:481:8:481:9 | s4 | string.cpp:481:11:481:16 | call to append | TAINT | -| string.cpp:481:18:481:19 | ref arg s3 | string.cpp:481:30:481:31 | s3 | | -| string.cpp:481:18:481:19 | s3 | string.cpp:481:21:481:25 | call to begin | TAINT | -| string.cpp:481:21:481:25 | call to begin | string.cpp:481:8:481:9 | ref arg s4 | TAINT | -| string.cpp:481:21:481:25 | call to begin | string.cpp:481:11:481:16 | call to append | TAINT | -| string.cpp:481:30:481:31 | s3 | string.cpp:481:33:481:35 | call to end | TAINT | -| string.cpp:481:33:481:35 | call to end | string.cpp:481:8:481:9 | ref arg s4 | TAINT | -| string.cpp:481:33:481:35 | call to end | string.cpp:481:11:481:16 | call to append | TAINT | -| string.cpp:486:17:486:20 | gg | string.cpp:486:17:486:21 | call to basic_string | TAINT | -| string.cpp:486:17:486:21 | call to basic_string | string.cpp:491:8:491:8 | g | | -| string.cpp:486:17:486:21 | call to basic_string | string.cpp:492:8:492:8 | g | | -| string.cpp:487:17:487:20 | hh | string.cpp:487:17:487:21 | call to basic_string | TAINT | -| string.cpp:487:17:487:21 | call to basic_string | string.cpp:494:8:494:8 | h | | -| string.cpp:487:17:487:21 | call to basic_string | string.cpp:495:8:495:8 | h | | -| string.cpp:488:18:488:21 | 55 | string.cpp:488:18:488:22 | call to basic_string | TAINT | -| string.cpp:488:18:488:22 | call to basic_string | string.cpp:491:17:491:18 | s5 | | -| string.cpp:488:18:488:22 | call to basic_string | string.cpp:491:30:491:31 | s5 | | -| string.cpp:488:18:488:22 | call to basic_string | string.cpp:497:18:497:19 | s5 | | -| string.cpp:488:18:488:22 | call to basic_string | string.cpp:497:31:497:32 | s5 | | -| string.cpp:489:18:489:23 | call to source | string.cpp:489:18:489:26 | call to basic_string | TAINT | -| string.cpp:489:18:489:26 | call to basic_string | string.cpp:494:17:494:18 | s6 | | -| string.cpp:489:18:489:26 | call to basic_string | string.cpp:494:30:494:31 | s6 | | -| string.cpp:489:18:489:26 | call to basic_string | string.cpp:497:8:497:9 | s6 | | -| string.cpp:489:18:489:26 | call to basic_string | string.cpp:498:8:498:9 | s6 | | -| string.cpp:491:8:491:8 | ref arg g | string.cpp:492:8:492:8 | g | | -| string.cpp:491:17:491:18 | s5 | string.cpp:491:20:491:25 | call to cbegin | TAINT | -| string.cpp:491:20:491:25 | call to cbegin | string.cpp:491:8:491:8 | ref arg g | TAINT | -| string.cpp:491:20:491:25 | call to cbegin | string.cpp:491:10:491:15 | call to assign | TAINT | -| string.cpp:491:30:491:31 | s5 | string.cpp:491:33:491:36 | call to cend | TAINT | -| string.cpp:491:33:491:36 | call to cend | string.cpp:491:8:491:8 | ref arg g | TAINT | -| string.cpp:491:33:491:36 | call to cend | string.cpp:491:10:491:15 | call to assign | TAINT | -| string.cpp:494:8:494:8 | ref arg h | string.cpp:495:8:495:8 | h | | -| string.cpp:494:17:494:18 | s6 | string.cpp:494:20:494:25 | call to cbegin | TAINT | -| string.cpp:494:20:494:25 | call to cbegin | string.cpp:494:8:494:8 | ref arg h | TAINT | -| string.cpp:494:20:494:25 | call to cbegin | string.cpp:494:10:494:15 | call to assign | TAINT | -| string.cpp:494:30:494:31 | s6 | string.cpp:494:33:494:36 | call to cend | TAINT | -| string.cpp:494:33:494:36 | call to cend | string.cpp:494:8:494:8 | ref arg h | TAINT | -| string.cpp:494:33:494:36 | call to cend | string.cpp:494:10:494:15 | call to assign | TAINT | -| string.cpp:497:8:497:9 | ref arg s6 | string.cpp:498:8:498:9 | s6 | | -| string.cpp:497:18:497:19 | s5 | string.cpp:497:21:497:26 | call to cbegin | TAINT | -| string.cpp:497:21:497:26 | call to cbegin | string.cpp:497:8:497:9 | ref arg s6 | TAINT | -| string.cpp:497:21:497:26 | call to cbegin | string.cpp:497:11:497:16 | call to assign | TAINT | -| string.cpp:497:31:497:32 | s5 | string.cpp:497:34:497:37 | call to cend | TAINT | -| string.cpp:497:34:497:37 | call to cend | string.cpp:497:8:497:9 | ref arg s6 | TAINT | -| string.cpp:497:34:497:37 | call to cend | string.cpp:497:11:497:16 | call to assign | TAINT | -| string.cpp:503:14:503:18 | abc | string.cpp:505:17:505:19 | cs1 | | -| string.cpp:504:14:504:19 | call to source | string.cpp:506:17:506:19 | cs2 | | -| string.cpp:505:17:505:19 | cs1 | string.cpp:505:17:505:20 | call to basic_string | TAINT | -| string.cpp:505:17:505:20 | call to basic_string | string.cpp:507:17:507:18 | s1 | | -| string.cpp:505:17:505:20 | call to basic_string | string.cpp:507:29:507:30 | s1 | | -| string.cpp:505:17:505:20 | call to basic_string | string.cpp:510:7:510:8 | s1 | | -| string.cpp:506:17:506:19 | cs2 | string.cpp:506:17:506:20 | call to basic_string | TAINT | -| string.cpp:506:17:506:20 | call to basic_string | string.cpp:508:17:508:18 | s2 | | -| string.cpp:506:17:506:20 | call to basic_string | string.cpp:508:29:508:30 | s2 | | -| string.cpp:506:17:506:20 | call to basic_string | string.cpp:511:7:511:8 | s2 | | -| string.cpp:507:17:507:18 | ref arg s1 | string.cpp:507:29:507:30 | s1 | | -| string.cpp:507:17:507:18 | ref arg s1 | string.cpp:510:7:510:8 | s1 | | -| string.cpp:507:17:507:18 | s1 | string.cpp:507:20:507:24 | call to begin | TAINT | -| string.cpp:507:17:507:37 | call to basic_string | string.cpp:512:7:512:8 | s3 | | -| string.cpp:507:20:507:24 | call to begin | string.cpp:507:17:507:37 | call to basic_string | TAINT | -| string.cpp:507:29:507:30 | ref arg s1 | string.cpp:510:7:510:8 | s1 | | -| string.cpp:507:29:507:30 | s1 | string.cpp:507:32:507:34 | call to end | TAINT | -| string.cpp:507:32:507:34 | call to end | string.cpp:507:17:507:37 | call to basic_string | TAINT | -| string.cpp:508:17:508:18 | ref arg s2 | string.cpp:508:29:508:30 | s2 | | -| string.cpp:508:17:508:18 | ref arg s2 | string.cpp:511:7:511:8 | s2 | | -| string.cpp:508:17:508:18 | s2 | string.cpp:508:20:508:24 | call to begin | TAINT | -| string.cpp:508:17:508:37 | call to basic_string | string.cpp:513:7:513:8 | s4 | | -| string.cpp:508:20:508:24 | call to begin | string.cpp:508:17:508:37 | call to basic_string | TAINT | -| string.cpp:508:29:508:30 | ref arg s2 | string.cpp:511:7:511:8 | s2 | | -| string.cpp:508:29:508:30 | s2 | string.cpp:508:32:508:34 | call to end | TAINT | -| string.cpp:508:32:508:34 | call to end | string.cpp:508:17:508:37 | call to basic_string | TAINT | -| string.cpp:517:16:517:19 | aa | string.cpp:517:16:517:20 | call to basic_string | TAINT | -| string.cpp:517:16:517:20 | call to basic_string | string.cpp:519:7:519:7 | a | | -| string.cpp:517:16:517:20 | call to basic_string | string.cpp:520:7:520:7 | a | | -| string.cpp:517:16:517:20 | call to basic_string | string.cpp:521:2:521:2 | a | | -| string.cpp:517:16:517:20 | call to basic_string | string.cpp:522:7:522:7 | a | | -| string.cpp:517:16:517:20 | call to basic_string | string.cpp:523:7:523:7 | a | | -| string.cpp:519:7:519:7 | a | string.cpp:519:9:519:13 | call to front | TAINT | -| string.cpp:519:7:519:7 | ref arg a | string.cpp:520:7:520:7 | a | | -| string.cpp:519:7:519:7 | ref arg a | string.cpp:521:2:521:2 | a | | -| string.cpp:519:7:519:7 | ref arg a | string.cpp:522:7:522:7 | a | | -| string.cpp:519:7:519:7 | ref arg a | string.cpp:523:7:523:7 | a | | -| string.cpp:520:7:520:7 | a | string.cpp:520:9:520:12 | call to back | TAINT | -| string.cpp:520:7:520:7 | ref arg a | string.cpp:521:2:521:2 | a | | -| string.cpp:520:7:520:7 | ref arg a | string.cpp:522:7:522:7 | a | | +| string.cpp:330:16:330:21 | call to basic_string | string.cpp:334:7:334:7 | b | | +| string.cpp:330:16:330:21 | call to basic_string | string.cpp:338:2:338:2 | b | | +| string.cpp:330:16:330:21 | call to basic_string | string.cpp:342:7:342:7 | b | | +| string.cpp:331:16:331:20 | 123 | string.cpp:331:16:331:21 | call to basic_string | TAINT | +| string.cpp:331:16:331:21 | call to basic_string | string.cpp:335:7:335:7 | c | | +| string.cpp:331:16:331:21 | call to basic_string | string.cpp:339:2:339:2 | c | | +| string.cpp:331:16:331:21 | call to basic_string | string.cpp:343:7:343:7 | c | | +| string.cpp:337:2:337:2 | ref arg a | string.cpp:339:9:339:9 | a | | +| string.cpp:337:2:337:2 | ref arg a | string.cpp:341:7:341:7 | a | | +| string.cpp:337:2:337:25 | ... = ... | string.cpp:337:3:337:3 | call to operator[] [post update] | | +| string.cpp:337:9:337:23 | call to source | string.cpp:337:2:337:25 | ... = ... | | +| string.cpp:338:2:338:2 | ref arg b | string.cpp:342:7:342:7 | b | | +| string.cpp:338:2:338:28 | ... = ... | string.cpp:338:4:338:5 | call to at [post update] | | +| string.cpp:338:12:338:26 | call to source | string.cpp:338:2:338:28 | ... = ... | | +| string.cpp:339:2:339:2 | ref arg c | string.cpp:343:7:343:7 | c | | +| string.cpp:339:2:339:12 | ... = ... | string.cpp:339:3:339:3 | call to operator[] [post update] | | +| string.cpp:339:9:339:9 | ref arg a | string.cpp:341:7:341:7 | a | | +| string.cpp:339:10:339:10 | call to operator[] | string.cpp:339:2:339:12 | ... = ... | | +| string.cpp:348:18:348:22 | 123 | string.cpp:348:18:348:23 | call to basic_string | TAINT | +| string.cpp:348:18:348:23 | call to basic_string | string.cpp:350:2:350:4 | str | | +| string.cpp:348:18:348:23 | call to basic_string | string.cpp:351:7:351:9 | str | | +| string.cpp:348:18:348:23 | call to basic_string | string.cpp:352:7:352:9 | str | | +| string.cpp:350:2:350:4 | ref arg str | string.cpp:351:7:351:9 | str | | +| string.cpp:350:2:350:4 | ref arg str | string.cpp:352:7:352:9 | str | | +| string.cpp:350:2:350:14 | access to array [post update] | string.cpp:350:6:350:9 | call to data [inner post update] | | +| string.cpp:350:2:350:34 | ... = ... | string.cpp:350:2:350:14 | access to array [post update] | | +| string.cpp:350:6:350:9 | call to data | string.cpp:350:2:350:14 | access to array | TAINT | +| string.cpp:350:13:350:13 | 1 | string.cpp:350:2:350:14 | access to array | TAINT | +| string.cpp:350:18:350:32 | call to source | string.cpp:350:2:350:34 | ... = ... | | +| string.cpp:358:18:358:24 | hello | string.cpp:358:18:358:25 | call to basic_string | TAINT | +| string.cpp:358:18:358:25 | call to basic_string | string.cpp:363:8:363:9 | s1 | | +| string.cpp:358:18:358:25 | call to basic_string | string.cpp:364:8:364:9 | s1 | | +| string.cpp:358:18:358:25 | call to basic_string | string.cpp:365:8:365:9 | s1 | | +| string.cpp:359:18:359:23 | call to source | string.cpp:359:18:359:26 | call to basic_string | TAINT | +| string.cpp:359:18:359:26 | call to basic_string | string.cpp:364:18:364:19 | s2 | | +| string.cpp:359:18:359:26 | call to basic_string | string.cpp:364:30:364:31 | s2 | | +| string.cpp:360:18:360:24 | hello | string.cpp:360:18:360:25 | call to basic_string | TAINT | +| string.cpp:360:18:360:25 | call to basic_string | string.cpp:367:8:367:9 | s3 | | +| string.cpp:360:18:360:25 | call to basic_string | string.cpp:368:8:368:9 | s3 | | +| string.cpp:360:18:360:25 | call to basic_string | string.cpp:369:8:369:9 | s3 | | +| string.cpp:361:18:361:24 | world | string.cpp:361:18:361:25 | call to basic_string | TAINT | +| string.cpp:361:18:361:25 | call to basic_string | string.cpp:368:18:368:19 | s4 | | +| string.cpp:361:18:361:25 | call to basic_string | string.cpp:368:30:368:31 | s4 | | +| string.cpp:364:8:364:9 | ref arg s1 | string.cpp:365:8:365:9 | s1 | | +| string.cpp:364:18:364:19 | ref arg s2 | string.cpp:364:30:364:31 | s2 | | +| string.cpp:364:18:364:19 | s2 | string.cpp:364:21:364:25 | call to begin | TAINT | +| string.cpp:364:30:364:31 | s2 | string.cpp:364:33:364:35 | call to end | TAINT | +| string.cpp:368:8:368:9 | ref arg s3 | string.cpp:369:8:369:9 | s3 | | +| string.cpp:368:18:368:19 | ref arg s4 | string.cpp:368:30:368:31 | s4 | | +| string.cpp:368:18:368:19 | s4 | string.cpp:368:21:368:25 | call to begin | TAINT | +| string.cpp:368:30:368:31 | s4 | string.cpp:368:33:368:35 | call to end | TAINT | +| string.cpp:374:18:374:24 | hello | string.cpp:374:18:374:25 | call to basic_string | TAINT | +| string.cpp:374:18:374:25 | call to basic_string | string.cpp:377:28:377:29 | s1 | | +| string.cpp:375:18:375:23 | call to source | string.cpp:375:18:375:26 | call to basic_string | TAINT | +| string.cpp:375:18:375:26 | call to basic_string | string.cpp:381:28:381:29 | s2 | | +| string.cpp:377:28:377:29 | s1 | string.cpp:377:31:377:35 | call to begin | TAINT | +| string.cpp:377:31:377:35 | call to begin | string.cpp:379:9:379:13 | iter1 | | +| string.cpp:377:31:377:35 | call to begin | string.cpp:380:8:380:12 | iter1 | | +| string.cpp:379:9:379:13 | iter1 | string.cpp:379:8:379:8 | call to operator* | TAINT | +| string.cpp:379:9:379:13 | ref arg iter1 | string.cpp:380:8:380:12 | iter1 | | +| string.cpp:380:8:380:12 | iter1 | string.cpp:380:13:380:13 | call to operator[] | TAINT | +| string.cpp:381:28:381:29 | s2 | string.cpp:381:31:381:35 | call to begin | TAINT | +| string.cpp:381:31:381:35 | call to begin | string.cpp:383:9:383:13 | iter2 | | +| string.cpp:381:31:381:35 | call to begin | string.cpp:384:8:384:12 | iter2 | | +| string.cpp:383:9:383:13 | iter2 | string.cpp:383:8:383:8 | call to operator* | TAINT | +| string.cpp:383:9:383:13 | ref arg iter2 | string.cpp:384:8:384:12 | iter2 | | +| string.cpp:384:8:384:12 | iter2 | string.cpp:384:13:384:13 | call to operator[] | TAINT | +| string.cpp:389:18:389:24 | hello | string.cpp:389:18:389:25 | call to basic_string | TAINT | +| string.cpp:389:18:389:25 | call to basic_string | string.cpp:392:25:392:26 | s1 | | +| string.cpp:390:18:390:23 | call to source | string.cpp:390:18:390:26 | call to basic_string | TAINT | +| string.cpp:390:18:390:26 | call to basic_string | string.cpp:394:25:394:26 | s2 | | +| string.cpp:390:18:390:26 | call to basic_string | string.cpp:414:8:414:9 | s2 | | +| string.cpp:392:25:392:26 | s1 | string.cpp:392:28:392:32 | call to begin | TAINT | +| string.cpp:394:25:394:26 | ref arg s2 | string.cpp:414:8:414:9 | s2 | | +| string.cpp:394:25:394:26 | s2 | string.cpp:394:28:394:32 | call to begin | TAINT | +| string.cpp:394:28:394:32 | call to begin | string.cpp:397:10:397:11 | i2 | | +| string.cpp:394:28:394:32 | call to begin | string.cpp:398:10:398:11 | i2 | | +| string.cpp:394:28:394:32 | call to begin | string.cpp:399:8:399:9 | i2 | | +| string.cpp:394:28:394:32 | call to begin | string.cpp:401:8:401:9 | i2 | | +| string.cpp:394:28:394:32 | call to begin | string.cpp:403:8:403:9 | i2 | | +| string.cpp:394:28:394:32 | call to begin | string.cpp:406:8:406:9 | i2 | | +| string.cpp:394:28:394:32 | call to begin | string.cpp:409:8:409:9 | i2 | | +| string.cpp:394:28:394:32 | call to begin | string.cpp:411:8:411:9 | i2 | | +| string.cpp:394:28:394:32 | call to begin | string.cpp:418:9:418:10 | i2 | | +| string.cpp:394:28:394:32 | call to begin | string.cpp:421:9:421:10 | i2 | | +| string.cpp:397:10:397:11 | i2 | string.cpp:397:12:397:12 | call to operator+ | TAINT | +| string.cpp:397:10:397:11 | ref arg i2 | string.cpp:398:10:398:11 | i2 | | +| string.cpp:397:10:397:11 | ref arg i2 | string.cpp:399:8:399:9 | i2 | | +| string.cpp:397:10:397:11 | ref arg i2 | string.cpp:401:8:401:9 | i2 | | +| string.cpp:397:10:397:11 | ref arg i2 | string.cpp:403:8:403:9 | i2 | | +| string.cpp:397:10:397:11 | ref arg i2 | string.cpp:406:8:406:9 | i2 | | +| string.cpp:397:10:397:11 | ref arg i2 | string.cpp:409:8:409:9 | i2 | | +| string.cpp:397:10:397:11 | ref arg i2 | string.cpp:411:8:411:9 | i2 | | +| string.cpp:397:10:397:11 | ref arg i2 | string.cpp:418:9:418:10 | i2 | | +| string.cpp:397:10:397:11 | ref arg i2 | string.cpp:421:9:421:10 | i2 | | +| string.cpp:397:12:397:12 | call to operator+ | string.cpp:397:8:397:8 | call to operator* | TAINT | +| string.cpp:398:10:398:11 | i2 | string.cpp:398:12:398:12 | call to operator- | TAINT | +| string.cpp:398:10:398:11 | ref arg i2 | string.cpp:399:8:399:9 | i2 | | +| string.cpp:398:10:398:11 | ref arg i2 | string.cpp:401:8:401:9 | i2 | | +| string.cpp:398:10:398:11 | ref arg i2 | string.cpp:403:8:403:9 | i2 | | +| string.cpp:398:10:398:11 | ref arg i2 | string.cpp:406:8:406:9 | i2 | | +| string.cpp:398:10:398:11 | ref arg i2 | string.cpp:409:8:409:9 | i2 | | +| string.cpp:398:10:398:11 | ref arg i2 | string.cpp:411:8:411:9 | i2 | | +| string.cpp:398:10:398:11 | ref arg i2 | string.cpp:418:9:418:10 | i2 | | +| string.cpp:398:10:398:11 | ref arg i2 | string.cpp:421:9:421:10 | i2 | | +| string.cpp:398:12:398:12 | call to operator- | string.cpp:398:8:398:8 | call to operator* | TAINT | +| string.cpp:399:8:399:9 | i2 | string.cpp:399:3:399:9 | ... = ... | | +| string.cpp:399:8:399:9 | i2 | string.cpp:400:12:400:13 | i3 | | +| string.cpp:400:10:400:10 | call to operator++ | string.cpp:400:8:400:8 | call to operator* | TAINT | +| string.cpp:400:10:400:10 | ref arg call to operator++ | string.cpp:400:12:400:13 | ref arg i3 | | +| string.cpp:400:12:400:13 | i3 | string.cpp:400:10:400:10 | call to operator++ | | +| string.cpp:401:8:401:9 | i2 | string.cpp:401:3:401:9 | ... = ... | | +| string.cpp:401:8:401:9 | i2 | string.cpp:402:12:402:13 | i4 | | +| string.cpp:402:10:402:10 | call to operator-- | string.cpp:402:8:402:8 | call to operator* | TAINT | +| string.cpp:402:10:402:10 | ref arg call to operator-- | string.cpp:402:12:402:13 | ref arg i4 | | +| string.cpp:402:12:402:13 | i4 | string.cpp:402:10:402:10 | call to operator-- | | +| string.cpp:403:8:403:9 | i2 | string.cpp:403:3:403:9 | ... = ... | | +| string.cpp:403:8:403:9 | i2 | string.cpp:404:3:404:4 | i5 | | +| string.cpp:403:8:403:9 | i2 | string.cpp:405:9:405:10 | i5 | | +| string.cpp:404:3:404:4 | i5 | string.cpp:404:5:404:5 | call to operator++ | | +| string.cpp:404:3:404:4 | ref arg i5 | string.cpp:405:9:405:10 | i5 | | +| string.cpp:405:9:405:10 | i5 | string.cpp:405:8:405:8 | call to operator* | TAINT | +| string.cpp:406:8:406:9 | i2 | string.cpp:406:3:406:9 | ... = ... | | +| string.cpp:406:8:406:9 | i2 | string.cpp:407:3:407:4 | i6 | | +| string.cpp:406:8:406:9 | i2 | string.cpp:408:9:408:10 | i6 | | +| string.cpp:407:3:407:4 | i6 | string.cpp:407:5:407:5 | call to operator-- | | +| string.cpp:407:3:407:4 | ref arg i6 | string.cpp:408:9:408:10 | i6 | | +| string.cpp:408:9:408:10 | i6 | string.cpp:408:8:408:8 | call to operator* | TAINT | +| string.cpp:409:8:409:9 | i2 | string.cpp:409:3:409:9 | ... = ... | | +| string.cpp:409:8:409:9 | i2 | string.cpp:410:10:410:11 | i7 | | +| string.cpp:410:10:410:11 | i7 | string.cpp:410:12:410:12 | call to operator+= | TAINT | +| string.cpp:410:12:410:12 | call to operator+= | string.cpp:410:8:410:8 | call to operator* | TAINT | +| string.cpp:410:12:410:12 | ref arg call to operator+= | string.cpp:410:10:410:11 | ref arg i7 | TAINT | +| string.cpp:410:14:410:14 | 1 | string.cpp:410:10:410:11 | ref arg i7 | TAINT | +| string.cpp:411:8:411:9 | i2 | string.cpp:411:3:411:9 | ... = ... | | +| string.cpp:411:8:411:9 | i2 | string.cpp:412:10:412:11 | i8 | | +| string.cpp:412:10:412:11 | i8 | string.cpp:412:12:412:12 | call to operator-= | TAINT | +| string.cpp:412:12:412:12 | call to operator-= | string.cpp:412:8:412:8 | call to operator* | TAINT | +| string.cpp:412:12:412:12 | ref arg call to operator-= | string.cpp:412:10:412:11 | ref arg i8 | TAINT | +| string.cpp:412:14:412:14 | 1 | string.cpp:412:10:412:11 | ref arg i8 | TAINT | +| string.cpp:414:8:414:9 | s2 | string.cpp:414:11:414:13 | call to end | TAINT | +| string.cpp:414:11:414:13 | call to end | string.cpp:414:3:414:15 | ... = ... | | +| string.cpp:414:11:414:13 | call to end | string.cpp:415:5:415:6 | i9 | | +| string.cpp:414:11:414:13 | call to end | string.cpp:416:9:416:10 | i9 | | +| string.cpp:415:5:415:6 | i9 | string.cpp:415:3:415:3 | call to operator-- | | +| string.cpp:415:5:415:6 | ref arg i9 | string.cpp:416:9:416:10 | i9 | | +| string.cpp:416:9:416:10 | i9 | string.cpp:416:8:416:8 | call to operator* | TAINT | +| string.cpp:418:9:418:10 | i2 | string.cpp:418:3:418:10 | ... = ... | | +| string.cpp:418:9:418:10 | i2 | string.cpp:419:10:419:12 | i10 | | +| string.cpp:418:9:418:10 | i2 | string.cpp:420:8:420:10 | i10 | | +| string.cpp:419:10:419:12 | i10 | string.cpp:419:13:419:13 | call to operator++ | | +| string.cpp:419:10:419:12 | ref arg i10 | string.cpp:420:8:420:10 | i10 | | +| string.cpp:419:13:419:13 | call to operator++ | string.cpp:419:8:419:8 | call to operator* | TAINT | +| string.cpp:420:8:420:10 | i10 | string.cpp:420:8:420:10 | call to iterator | | +| string.cpp:421:9:421:10 | i2 | string.cpp:421:3:421:10 | ... = ... | | +| string.cpp:421:9:421:10 | i2 | string.cpp:422:10:422:12 | i11 | | +| string.cpp:421:9:421:10 | i2 | string.cpp:423:8:423:10 | i11 | | +| string.cpp:422:10:422:12 | i11 | string.cpp:422:13:422:13 | call to operator-- | | +| string.cpp:422:10:422:12 | ref arg i11 | string.cpp:423:8:423:10 | i11 | | +| string.cpp:422:13:422:13 | call to operator-- | string.cpp:422:8:422:8 | call to operator* | TAINT | +| string.cpp:423:8:423:10 | i11 | string.cpp:423:8:423:10 | call to iterator | | +| string.cpp:429:17:429:20 | aa | string.cpp:429:17:429:21 | call to basic_string | TAINT | +| string.cpp:429:17:429:21 | call to basic_string | string.cpp:434:7:434:8 | s1 | | +| string.cpp:429:17:429:21 | call to basic_string | string.cpp:435:7:435:8 | s1 | | +| string.cpp:430:17:430:20 | bb | string.cpp:430:17:430:21 | call to basic_string | TAINT | +| string.cpp:430:17:430:21 | call to basic_string | string.cpp:437:7:437:8 | s2 | | +| string.cpp:430:17:430:21 | call to basic_string | string.cpp:438:7:438:8 | s2 | | +| string.cpp:431:14:431:17 | cc | string.cpp:434:20:434:22 | cs1 | | +| string.cpp:432:14:432:19 | call to source | string.cpp:437:20:437:22 | cs2 | | +| string.cpp:434:7:434:8 | ref arg s1 | string.cpp:435:7:435:8 | s1 | | +| string.cpp:437:7:437:8 | ref arg s2 | string.cpp:438:7:438:8 | s2 | | +| string.cpp:444:17:444:20 | aa | string.cpp:444:17:444:21 | call to basic_string | TAINT | +| string.cpp:444:17:444:21 | call to basic_string | string.cpp:447:8:447:8 | a | | +| string.cpp:444:17:444:21 | call to basic_string | string.cpp:447:17:447:17 | a | | +| string.cpp:444:17:444:21 | call to basic_string | string.cpp:448:8:448:8 | a | | +| string.cpp:445:17:445:20 | bb | string.cpp:445:17:445:21 | call to basic_string | TAINT | +| string.cpp:445:17:445:21 | call to basic_string | string.cpp:450:8:450:8 | b | | +| string.cpp:445:17:445:21 | call to basic_string | string.cpp:450:17:450:17 | b | | +| string.cpp:445:17:445:21 | call to basic_string | string.cpp:451:8:451:8 | b | | +| string.cpp:447:8:447:8 | ref arg a | string.cpp:448:8:448:8 | a | | +| string.cpp:447:17:447:17 | a | string.cpp:447:19:447:23 | call to begin | TAINT | +| string.cpp:447:17:447:17 | ref arg a | string.cpp:447:8:447:8 | a | | +| string.cpp:447:17:447:17 | ref arg a | string.cpp:448:8:448:8 | a | | +| string.cpp:447:19:447:23 | call to begin | string.cpp:447:17:447:25 | call to iterator | TAINT | +| string.cpp:450:8:450:8 | ref arg b | string.cpp:451:8:451:8 | b | | +| string.cpp:450:17:450:17 | b | string.cpp:450:19:450:23 | call to begin | TAINT | +| string.cpp:450:17:450:17 | ref arg b | string.cpp:450:8:450:8 | b | | +| string.cpp:450:17:450:17 | ref arg b | string.cpp:451:8:451:8 | b | | +| string.cpp:450:19:450:23 | call to begin | string.cpp:450:17:450:25 | call to iterator | TAINT | +| string.cpp:455:17:455:20 | cc | string.cpp:455:17:455:21 | call to basic_string | TAINT | +| string.cpp:455:17:455:21 | call to basic_string | string.cpp:460:8:460:8 | c | | +| string.cpp:455:17:455:21 | call to basic_string | string.cpp:460:17:460:17 | c | | +| string.cpp:455:17:455:21 | call to basic_string | string.cpp:461:8:461:8 | c | | +| string.cpp:456:17:456:20 | dd | string.cpp:456:17:456:21 | call to basic_string | TAINT | +| string.cpp:456:17:456:21 | call to basic_string | string.cpp:463:8:463:8 | d | | +| string.cpp:456:17:456:21 | call to basic_string | string.cpp:463:17:463:17 | d | | +| string.cpp:456:17:456:21 | call to basic_string | string.cpp:464:8:464:8 | d | | +| string.cpp:457:18:457:21 | 11 | string.cpp:457:18:457:22 | call to basic_string | TAINT | +| string.cpp:457:18:457:22 | call to basic_string | string.cpp:460:26:460:27 | s1 | | +| string.cpp:457:18:457:22 | call to basic_string | string.cpp:460:38:460:39 | s1 | | +| string.cpp:457:18:457:22 | call to basic_string | string.cpp:466:28:466:29 | s1 | | +| string.cpp:457:18:457:22 | call to basic_string | string.cpp:466:40:466:41 | s1 | | +| string.cpp:458:18:458:23 | call to source | string.cpp:458:18:458:26 | call to basic_string | TAINT | +| string.cpp:458:18:458:26 | call to basic_string | string.cpp:463:26:463:27 | s2 | | +| string.cpp:458:18:458:26 | call to basic_string | string.cpp:463:38:463:39 | s2 | | +| string.cpp:458:18:458:26 | call to basic_string | string.cpp:466:8:466:9 | s2 | | +| string.cpp:458:18:458:26 | call to basic_string | string.cpp:466:18:466:19 | s2 | | +| string.cpp:458:18:458:26 | call to basic_string | string.cpp:467:8:467:9 | s2 | | +| string.cpp:460:8:460:8 | ref arg c | string.cpp:461:8:461:8 | c | | +| string.cpp:460:17:460:17 | c | string.cpp:460:19:460:21 | call to end | TAINT | +| string.cpp:460:17:460:17 | ref arg c | string.cpp:460:8:460:8 | c | | +| string.cpp:460:17:460:17 | ref arg c | string.cpp:461:8:461:8 | c | | +| string.cpp:460:19:460:21 | call to end | string.cpp:460:17:460:23 | call to iterator | TAINT | +| string.cpp:460:26:460:27 | ref arg s1 | string.cpp:460:38:460:39 | s1 | | +| string.cpp:460:26:460:27 | ref arg s1 | string.cpp:466:28:466:29 | s1 | | +| string.cpp:460:26:460:27 | ref arg s1 | string.cpp:466:40:466:41 | s1 | | +| string.cpp:460:26:460:27 | s1 | string.cpp:460:29:460:33 | call to begin | TAINT | +| string.cpp:460:38:460:39 | ref arg s1 | string.cpp:466:28:466:29 | s1 | | +| string.cpp:460:38:460:39 | ref arg s1 | string.cpp:466:40:466:41 | s1 | | +| string.cpp:460:38:460:39 | s1 | string.cpp:460:41:460:43 | call to end | TAINT | +| string.cpp:463:8:463:8 | ref arg d | string.cpp:464:8:464:8 | d | | +| string.cpp:463:17:463:17 | d | string.cpp:463:19:463:21 | call to end | TAINT | +| string.cpp:463:17:463:17 | ref arg d | string.cpp:463:8:463:8 | d | | +| string.cpp:463:17:463:17 | ref arg d | string.cpp:464:8:464:8 | d | | +| string.cpp:463:19:463:21 | call to end | string.cpp:463:17:463:23 | call to iterator | TAINT | +| string.cpp:463:26:463:27 | ref arg s2 | string.cpp:463:38:463:39 | s2 | | +| string.cpp:463:26:463:27 | ref arg s2 | string.cpp:466:8:466:9 | s2 | | +| string.cpp:463:26:463:27 | ref arg s2 | string.cpp:466:18:466:19 | s2 | | +| string.cpp:463:26:463:27 | ref arg s2 | string.cpp:467:8:467:9 | s2 | | +| string.cpp:463:26:463:27 | s2 | string.cpp:463:29:463:33 | call to begin | TAINT | +| string.cpp:463:38:463:39 | ref arg s2 | string.cpp:466:8:466:9 | s2 | | +| string.cpp:463:38:463:39 | ref arg s2 | string.cpp:466:18:466:19 | s2 | | +| string.cpp:463:38:463:39 | ref arg s2 | string.cpp:467:8:467:9 | s2 | | +| string.cpp:463:38:463:39 | s2 | string.cpp:463:41:463:43 | call to end | TAINT | +| string.cpp:466:8:466:9 | ref arg s2 | string.cpp:467:8:467:9 | s2 | | +| string.cpp:466:18:466:19 | ref arg s2 | string.cpp:466:8:466:9 | s2 | | +| string.cpp:466:18:466:19 | ref arg s2 | string.cpp:467:8:467:9 | s2 | | +| string.cpp:466:18:466:19 | s2 | string.cpp:466:21:466:23 | call to end | TAINT | +| string.cpp:466:21:466:23 | call to end | string.cpp:466:18:466:25 | call to iterator | TAINT | +| string.cpp:466:28:466:29 | ref arg s1 | string.cpp:466:40:466:41 | s1 | | +| string.cpp:466:28:466:29 | s1 | string.cpp:466:31:466:35 | call to begin | TAINT | +| string.cpp:466:40:466:41 | s1 | string.cpp:466:43:466:45 | call to end | TAINT | +| string.cpp:471:17:471:20 | ee | string.cpp:471:17:471:21 | call to basic_string | TAINT | +| string.cpp:471:17:471:21 | call to basic_string | string.cpp:476:8:476:8 | e | | +| string.cpp:471:17:471:21 | call to basic_string | string.cpp:477:8:477:8 | e | | +| string.cpp:472:17:472:20 | ff | string.cpp:472:17:472:21 | call to basic_string | TAINT | +| string.cpp:472:17:472:21 | call to basic_string | string.cpp:479:8:479:8 | f | | +| string.cpp:472:17:472:21 | call to basic_string | string.cpp:480:8:480:8 | f | | +| string.cpp:473:18:473:21 | 33 | string.cpp:473:18:473:22 | call to basic_string | TAINT | +| string.cpp:473:18:473:22 | call to basic_string | string.cpp:476:17:476:18 | s3 | | +| string.cpp:473:18:473:22 | call to basic_string | string.cpp:476:29:476:30 | s3 | | +| string.cpp:473:18:473:22 | call to basic_string | string.cpp:482:18:482:19 | s3 | | +| string.cpp:473:18:473:22 | call to basic_string | string.cpp:482:30:482:31 | s3 | | +| string.cpp:474:18:474:23 | call to source | string.cpp:474:18:474:26 | call to basic_string | TAINT | +| string.cpp:474:18:474:26 | call to basic_string | string.cpp:479:17:479:18 | s4 | | +| string.cpp:474:18:474:26 | call to basic_string | string.cpp:479:29:479:30 | s4 | | +| string.cpp:474:18:474:26 | call to basic_string | string.cpp:482:8:482:9 | s4 | | +| string.cpp:474:18:474:26 | call to basic_string | string.cpp:483:8:483:9 | s4 | | +| string.cpp:476:8:476:8 | ref arg e | string.cpp:477:8:477:8 | e | | +| string.cpp:476:17:476:18 | ref arg s3 | string.cpp:476:29:476:30 | s3 | | +| string.cpp:476:17:476:18 | ref arg s3 | string.cpp:482:18:482:19 | s3 | | +| string.cpp:476:17:476:18 | ref arg s3 | string.cpp:482:30:482:31 | s3 | | +| string.cpp:476:17:476:18 | s3 | string.cpp:476:20:476:24 | call to begin | TAINT | +| string.cpp:476:29:476:30 | ref arg s3 | string.cpp:482:18:482:19 | s3 | | +| string.cpp:476:29:476:30 | ref arg s3 | string.cpp:482:30:482:31 | s3 | | +| string.cpp:476:29:476:30 | s3 | string.cpp:476:32:476:34 | call to end | TAINT | +| string.cpp:479:8:479:8 | ref arg f | string.cpp:480:8:480:8 | f | | +| string.cpp:479:17:479:18 | ref arg s4 | string.cpp:479:29:479:30 | s4 | | +| string.cpp:479:17:479:18 | ref arg s4 | string.cpp:482:8:482:9 | s4 | | +| string.cpp:479:17:479:18 | ref arg s4 | string.cpp:483:8:483:9 | s4 | | +| string.cpp:479:17:479:18 | s4 | string.cpp:479:20:479:24 | call to begin | TAINT | +| string.cpp:479:29:479:30 | ref arg s4 | string.cpp:482:8:482:9 | s4 | | +| string.cpp:479:29:479:30 | ref arg s4 | string.cpp:483:8:483:9 | s4 | | +| string.cpp:479:29:479:30 | s4 | string.cpp:479:32:479:34 | call to end | TAINT | +| string.cpp:482:8:482:9 | ref arg s4 | string.cpp:483:8:483:9 | s4 | | +| string.cpp:482:18:482:19 | ref arg s3 | string.cpp:482:30:482:31 | s3 | | +| string.cpp:482:18:482:19 | s3 | string.cpp:482:21:482:25 | call to begin | TAINT | +| string.cpp:482:30:482:31 | s3 | string.cpp:482:33:482:35 | call to end | TAINT | +| string.cpp:487:17:487:20 | gg | string.cpp:487:17:487:21 | call to basic_string | TAINT | +| string.cpp:487:17:487:21 | call to basic_string | string.cpp:492:8:492:8 | g | | +| string.cpp:487:17:487:21 | call to basic_string | string.cpp:493:8:493:8 | g | | +| string.cpp:488:17:488:20 | hh | string.cpp:488:17:488:21 | call to basic_string | TAINT | +| string.cpp:488:17:488:21 | call to basic_string | string.cpp:495:8:495:8 | h | | +| string.cpp:488:17:488:21 | call to basic_string | string.cpp:496:8:496:8 | h | | +| string.cpp:489:18:489:21 | 55 | string.cpp:489:18:489:22 | call to basic_string | TAINT | +| string.cpp:489:18:489:22 | call to basic_string | string.cpp:492:17:492:18 | s5 | | +| string.cpp:489:18:489:22 | call to basic_string | string.cpp:492:30:492:31 | s5 | | +| string.cpp:489:18:489:22 | call to basic_string | string.cpp:498:18:498:19 | s5 | | +| string.cpp:489:18:489:22 | call to basic_string | string.cpp:498:31:498:32 | s5 | | +| string.cpp:490:18:490:23 | call to source | string.cpp:490:18:490:26 | call to basic_string | TAINT | +| string.cpp:490:18:490:26 | call to basic_string | string.cpp:495:17:495:18 | s6 | | +| string.cpp:490:18:490:26 | call to basic_string | string.cpp:495:30:495:31 | s6 | | +| string.cpp:490:18:490:26 | call to basic_string | string.cpp:498:8:498:9 | s6 | | +| string.cpp:490:18:490:26 | call to basic_string | string.cpp:499:8:499:9 | s6 | | +| string.cpp:492:8:492:8 | ref arg g | string.cpp:493:8:493:8 | g | | +| string.cpp:492:17:492:18 | s5 | string.cpp:492:20:492:25 | call to cbegin | TAINT | +| string.cpp:492:30:492:31 | s5 | string.cpp:492:33:492:36 | call to cend | TAINT | +| string.cpp:495:8:495:8 | ref arg h | string.cpp:496:8:496:8 | h | | +| string.cpp:495:17:495:18 | s6 | string.cpp:495:20:495:25 | call to cbegin | TAINT | +| string.cpp:495:30:495:31 | s6 | string.cpp:495:33:495:36 | call to cend | TAINT | +| string.cpp:498:8:498:9 | ref arg s6 | string.cpp:499:8:499:9 | s6 | | +| string.cpp:498:18:498:19 | s5 | string.cpp:498:21:498:26 | call to cbegin | TAINT | +| string.cpp:498:31:498:32 | s5 | string.cpp:498:34:498:37 | call to cend | TAINT | +| string.cpp:504:14:504:18 | abc | string.cpp:506:17:506:19 | cs1 | | +| string.cpp:505:14:505:19 | call to source | string.cpp:507:17:507:19 | cs2 | | +| string.cpp:506:17:506:19 | cs1 | string.cpp:506:17:506:20 | call to basic_string | TAINT | +| string.cpp:506:17:506:20 | call to basic_string | string.cpp:508:17:508:18 | s1 | | +| string.cpp:506:17:506:20 | call to basic_string | string.cpp:508:29:508:30 | s1 | | +| string.cpp:506:17:506:20 | call to basic_string | string.cpp:511:7:511:8 | s1 | | +| string.cpp:507:17:507:19 | cs2 | string.cpp:507:17:507:20 | call to basic_string | TAINT | +| string.cpp:507:17:507:20 | call to basic_string | string.cpp:509:17:509:18 | s2 | | +| string.cpp:507:17:507:20 | call to basic_string | string.cpp:509:29:509:30 | s2 | | +| string.cpp:507:17:507:20 | call to basic_string | string.cpp:512:7:512:8 | s2 | | +| string.cpp:508:17:508:18 | ref arg s1 | string.cpp:508:29:508:30 | s1 | | +| string.cpp:508:17:508:18 | ref arg s1 | string.cpp:511:7:511:8 | s1 | | +| string.cpp:508:17:508:18 | s1 | string.cpp:508:20:508:24 | call to begin | TAINT | +| string.cpp:508:17:508:37 | call to basic_string | string.cpp:513:7:513:8 | s3 | | +| string.cpp:508:29:508:30 | ref arg s1 | string.cpp:511:7:511:8 | s1 | | +| string.cpp:508:29:508:30 | s1 | string.cpp:508:32:508:34 | call to end | TAINT | +| string.cpp:509:17:509:18 | ref arg s2 | string.cpp:509:29:509:30 | s2 | | +| string.cpp:509:17:509:18 | ref arg s2 | string.cpp:512:7:512:8 | s2 | | +| string.cpp:509:17:509:18 | s2 | string.cpp:509:20:509:24 | call to begin | TAINT | +| string.cpp:509:17:509:37 | call to basic_string | string.cpp:514:7:514:8 | s4 | | +| string.cpp:509:29:509:30 | ref arg s2 | string.cpp:512:7:512:8 | s2 | | +| string.cpp:509:29:509:30 | s2 | string.cpp:509:32:509:34 | call to end | TAINT | +| string.cpp:518:16:518:19 | aa | string.cpp:518:16:518:20 | call to basic_string | TAINT | +| string.cpp:518:16:518:20 | call to basic_string | string.cpp:520:7:520:7 | a | | +| string.cpp:518:16:518:20 | call to basic_string | string.cpp:521:7:521:7 | a | | +| string.cpp:518:16:518:20 | call to basic_string | string.cpp:522:2:522:2 | a | | +| string.cpp:518:16:518:20 | call to basic_string | string.cpp:523:7:523:7 | a | | +| string.cpp:518:16:518:20 | call to basic_string | string.cpp:524:7:524:7 | a | | +| string.cpp:520:7:520:7 | ref arg a | string.cpp:521:7:521:7 | a | | +| string.cpp:520:7:520:7 | ref arg a | string.cpp:522:2:522:2 | a | | | string.cpp:520:7:520:7 | ref arg a | string.cpp:523:7:523:7 | a | | -| string.cpp:521:2:521:2 | ref arg a | string.cpp:522:7:522:7 | a | | -| string.cpp:521:2:521:2 | ref arg a | string.cpp:523:7:523:7 | a | | -| string.cpp:521:14:521:28 | call to source | string.cpp:521:2:521:2 | ref arg a | TAINT | -| string.cpp:522:7:522:7 | a | string.cpp:522:9:522:13 | call to front | TAINT | -| string.cpp:522:7:522:7 | ref arg a | string.cpp:523:7:523:7 | a | | -| string.cpp:523:7:523:7 | a | string.cpp:523:9:523:12 | call to back | TAINT | -| string.cpp:528:17:528:20 | aa | string.cpp:528:17:528:21 | call to basic_string | TAINT | -| string.cpp:528:17:528:21 | call to basic_string | string.cpp:535:9:535:9 | a | | -| string.cpp:528:17:528:21 | call to basic_string | string.cpp:539:8:539:8 | a | | -| string.cpp:529:17:529:20 | bb | string.cpp:529:17:529:21 | call to basic_string | TAINT | -| string.cpp:529:17:529:21 | call to basic_string | string.cpp:535:15:535:15 | b | | -| string.cpp:529:17:529:21 | call to basic_string | string.cpp:540:8:540:8 | b | | -| string.cpp:530:17:530:20 | cc | string.cpp:530:17:530:21 | call to basic_string | TAINT | -| string.cpp:530:17:530:21 | call to basic_string | string.cpp:536:9:536:9 | c | | -| string.cpp:530:17:530:21 | call to basic_string | string.cpp:541:8:541:8 | c | | -| string.cpp:531:17:531:20 | dd | string.cpp:531:17:531:21 | call to basic_string | TAINT | -| string.cpp:531:17:531:21 | call to basic_string | string.cpp:536:15:536:15 | d | | -| string.cpp:531:17:531:21 | call to basic_string | string.cpp:542:8:542:8 | d | | -| string.cpp:532:17:532:20 | ee | string.cpp:532:17:532:21 | call to basic_string | TAINT | -| string.cpp:532:17:532:21 | call to basic_string | string.cpp:537:10:537:10 | e | | -| string.cpp:532:17:532:21 | call to basic_string | string.cpp:543:8:543:8 | e | | -| string.cpp:533:17:533:20 | ff | string.cpp:533:17:533:21 | call to basic_string | TAINT | -| string.cpp:533:17:533:21 | call to basic_string | string.cpp:538:10:538:10 | f | | -| string.cpp:533:17:533:21 | call to basic_string | string.cpp:544:8:544:8 | f | | -| string.cpp:535:9:535:9 | a | string.cpp:535:11:535:11 | call to operator+= | TAINT | -| string.cpp:535:9:535:9 | ref arg a | string.cpp:539:8:539:8 | a | | -| string.cpp:535:15:535:15 | b | string.cpp:535:17:535:17 | call to operator+= | TAINT | -| string.cpp:535:15:535:15 | ref arg b | string.cpp:540:8:540:8 | b | | -| string.cpp:535:17:535:17 | call to operator+= | string.cpp:535:9:535:9 | ref arg a | TAINT | -| string.cpp:535:17:535:17 | call to operator+= | string.cpp:535:11:535:11 | call to operator+= | TAINT | -| string.cpp:535:20:535:23 | bb | string.cpp:535:15:535:15 | ref arg b | TAINT | -| string.cpp:535:20:535:23 | bb | string.cpp:535:17:535:17 | call to operator+= | TAINT | -| string.cpp:536:9:536:9 | c | string.cpp:536:11:536:11 | call to operator+= | TAINT | -| string.cpp:536:9:536:9 | ref arg c | string.cpp:541:8:541:8 | c | | -| string.cpp:536:15:536:15 | d | string.cpp:536:17:536:17 | call to operator+= | TAINT | -| string.cpp:536:15:536:15 | ref arg d | string.cpp:542:8:542:8 | d | | -| string.cpp:536:17:536:17 | call to operator+= | string.cpp:536:9:536:9 | ref arg c | TAINT | -| string.cpp:536:17:536:17 | call to operator+= | string.cpp:536:11:536:11 | call to operator+= | TAINT | -| string.cpp:536:20:536:25 | call to source | string.cpp:536:15:536:15 | ref arg d | TAINT | -| string.cpp:536:20:536:25 | call to source | string.cpp:536:17:536:17 | call to operator+= | TAINT | -| string.cpp:537:10:537:10 | e | string.cpp:537:12:537:12 | call to operator+= | TAINT | -| string.cpp:537:10:537:10 | ref arg e | string.cpp:543:8:543:8 | e | | -| string.cpp:537:12:537:12 | call to operator+= | string.cpp:537:21:537:21 | call to operator+= | TAINT | -| string.cpp:537:12:537:12 | ref arg call to operator+= | string.cpp:537:10:537:10 | ref arg e | TAINT | -| string.cpp:537:15:537:18 | ee | string.cpp:537:10:537:10 | ref arg e | TAINT | -| string.cpp:537:15:537:18 | ee | string.cpp:537:12:537:12 | call to operator+= | TAINT | -| string.cpp:537:24:537:29 | call to source | string.cpp:537:12:537:12 | ref arg call to operator+= | TAINT | -| string.cpp:537:24:537:29 | call to source | string.cpp:537:21:537:21 | call to operator+= | TAINT | -| string.cpp:538:10:538:10 | f | string.cpp:538:12:538:12 | call to operator+= | TAINT | -| string.cpp:538:10:538:10 | ref arg f | string.cpp:544:8:544:8 | f | | -| string.cpp:538:12:538:12 | call to operator+= | string.cpp:538:25:538:25 | call to operator+= | TAINT | -| string.cpp:538:12:538:12 | ref arg call to operator+= | string.cpp:538:10:538:10 | ref arg f | TAINT | -| string.cpp:538:15:538:20 | call to source | string.cpp:538:10:538:10 | ref arg f | TAINT | -| string.cpp:538:15:538:20 | call to source | string.cpp:538:12:538:12 | call to operator+= | TAINT | -| string.cpp:538:28:538:31 | ff | string.cpp:538:12:538:12 | ref arg call to operator+= | TAINT | -| string.cpp:538:28:538:31 | ff | string.cpp:538:25:538:25 | call to operator+= | TAINT | -| string.cpp:548:17:548:20 | aa | string.cpp:548:17:548:21 | call to basic_string | TAINT | -| string.cpp:548:17:548:21 | call to basic_string | string.cpp:555:9:555:9 | a | | -| string.cpp:548:17:548:21 | call to basic_string | string.cpp:559:8:559:8 | a | | -| string.cpp:549:17:549:20 | bb | string.cpp:549:17:549:21 | call to basic_string | TAINT | -| string.cpp:549:17:549:21 | call to basic_string | string.cpp:555:18:555:18 | b | | -| string.cpp:549:17:549:21 | call to basic_string | string.cpp:560:8:560:8 | b | | -| string.cpp:550:17:550:20 | cc | string.cpp:550:17:550:21 | call to basic_string | TAINT | -| string.cpp:550:17:550:21 | call to basic_string | string.cpp:556:9:556:9 | c | | -| string.cpp:550:17:550:21 | call to basic_string | string.cpp:561:8:561:8 | c | | -| string.cpp:551:17:551:20 | dd | string.cpp:551:17:551:21 | call to basic_string | TAINT | -| string.cpp:551:17:551:21 | call to basic_string | string.cpp:556:18:556:18 | d | | -| string.cpp:551:17:551:21 | call to basic_string | string.cpp:562:8:562:8 | d | | -| string.cpp:552:17:552:20 | ee | string.cpp:552:17:552:21 | call to basic_string | TAINT | -| string.cpp:552:17:552:21 | call to basic_string | string.cpp:557:9:557:9 | e | | -| string.cpp:552:17:552:21 | call to basic_string | string.cpp:563:8:563:8 | e | | -| string.cpp:553:17:553:20 | ff | string.cpp:553:17:553:21 | call to basic_string | TAINT | -| string.cpp:553:17:553:21 | call to basic_string | string.cpp:558:9:558:9 | f | | -| string.cpp:553:17:553:21 | call to basic_string | string.cpp:564:8:564:8 | f | | -| string.cpp:555:9:555:9 | ref arg a | string.cpp:559:8:559:8 | a | | -| string.cpp:555:18:555:18 | ref arg b | string.cpp:560:8:560:8 | b | | -| string.cpp:555:20:555:25 | call to assign | string.cpp:555:9:555:9 | ref arg a | TAINT | -| string.cpp:555:20:555:25 | call to assign | string.cpp:555:11:555:16 | call to assign | TAINT | -| string.cpp:555:27:555:30 | bb | string.cpp:555:27:555:30 | call to basic_string | TAINT | -| string.cpp:555:27:555:30 | call to basic_string | string.cpp:555:18:555:18 | ref arg b | TAINT | -| string.cpp:555:27:555:30 | call to basic_string | string.cpp:555:20:555:25 | call to assign | TAINT | -| string.cpp:556:9:556:9 | ref arg c | string.cpp:561:8:561:8 | c | | -| string.cpp:556:18:556:18 | ref arg d | string.cpp:562:8:562:8 | d | | -| string.cpp:556:20:556:25 | call to assign | string.cpp:556:9:556:9 | ref arg c | TAINT | -| string.cpp:556:20:556:25 | call to assign | string.cpp:556:11:556:16 | call to assign | TAINT | -| string.cpp:556:27:556:32 | call to source | string.cpp:556:27:556:34 | call to basic_string | TAINT | -| string.cpp:556:27:556:34 | call to basic_string | string.cpp:556:18:556:18 | ref arg d | TAINT | -| string.cpp:556:27:556:34 | call to basic_string | string.cpp:556:20:556:25 | call to assign | TAINT | -| string.cpp:557:9:557:9 | ref arg e | string.cpp:563:8:563:8 | e | | -| string.cpp:557:11:557:16 | ref arg call to assign | string.cpp:557:9:557:9 | ref arg e | TAINT | -| string.cpp:557:18:557:21 | call to basic_string | string.cpp:557:9:557:9 | ref arg e | TAINT | -| string.cpp:557:18:557:21 | call to basic_string | string.cpp:557:11:557:16 | call to assign | TAINT | -| string.cpp:557:18:557:21 | ee | string.cpp:557:18:557:21 | call to basic_string | TAINT | -| string.cpp:557:31:557:36 | call to source | string.cpp:557:31:557:38 | call to basic_string | TAINT | -| string.cpp:557:31:557:38 | call to basic_string | string.cpp:557:11:557:16 | ref arg call to assign | TAINT | -| string.cpp:557:31:557:38 | call to basic_string | string.cpp:557:24:557:29 | call to assign | TAINT | -| string.cpp:558:9:558:9 | ref arg f | string.cpp:564:8:564:8 | f | | -| string.cpp:558:11:558:16 | ref arg call to assign | string.cpp:558:9:558:9 | ref arg f | TAINT | -| string.cpp:558:18:558:23 | call to source | string.cpp:558:18:558:25 | call to basic_string | TAINT | -| string.cpp:558:18:558:25 | call to basic_string | string.cpp:558:9:558:9 | ref arg f | TAINT | -| string.cpp:558:18:558:25 | call to basic_string | string.cpp:558:11:558:16 | call to assign | TAINT | -| string.cpp:558:35:558:38 | call to basic_string | string.cpp:558:11:558:16 | ref arg call to assign | TAINT | -| string.cpp:558:35:558:38 | call to basic_string | string.cpp:558:28:558:33 | call to assign | TAINT | -| string.cpp:558:35:558:38 | ff | string.cpp:558:35:558:38 | call to basic_string | TAINT | +| string.cpp:520:7:520:7 | ref arg a | string.cpp:524:7:524:7 | a | | +| string.cpp:521:7:521:7 | ref arg a | string.cpp:522:2:522:2 | a | | +| string.cpp:521:7:521:7 | ref arg a | string.cpp:523:7:523:7 | a | | +| string.cpp:521:7:521:7 | ref arg a | string.cpp:524:7:524:7 | a | | +| string.cpp:522:2:522:2 | ref arg a | string.cpp:523:7:523:7 | a | | +| string.cpp:522:2:522:2 | ref arg a | string.cpp:524:7:524:7 | a | | +| string.cpp:523:7:523:7 | ref arg a | string.cpp:524:7:524:7 | a | | +| string.cpp:529:17:529:20 | aa | string.cpp:529:17:529:21 | call to basic_string | TAINT | +| string.cpp:529:17:529:21 | call to basic_string | string.cpp:536:9:536:9 | a | | +| string.cpp:529:17:529:21 | call to basic_string | string.cpp:540:8:540:8 | a | | +| string.cpp:530:17:530:20 | bb | string.cpp:530:17:530:21 | call to basic_string | TAINT | +| string.cpp:530:17:530:21 | call to basic_string | string.cpp:536:15:536:15 | b | | +| string.cpp:530:17:530:21 | call to basic_string | string.cpp:541:8:541:8 | b | | +| string.cpp:531:17:531:20 | cc | string.cpp:531:17:531:21 | call to basic_string | TAINT | +| string.cpp:531:17:531:21 | call to basic_string | string.cpp:537:9:537:9 | c | | +| string.cpp:531:17:531:21 | call to basic_string | string.cpp:542:8:542:8 | c | | +| string.cpp:532:17:532:20 | dd | string.cpp:532:17:532:21 | call to basic_string | TAINT | +| string.cpp:532:17:532:21 | call to basic_string | string.cpp:537:15:537:15 | d | | +| string.cpp:532:17:532:21 | call to basic_string | string.cpp:543:8:543:8 | d | | +| string.cpp:533:17:533:20 | ee | string.cpp:533:17:533:21 | call to basic_string | TAINT | +| string.cpp:533:17:533:21 | call to basic_string | string.cpp:538:10:538:10 | e | | +| string.cpp:533:17:533:21 | call to basic_string | string.cpp:544:8:544:8 | e | | +| string.cpp:534:17:534:20 | ff | string.cpp:534:17:534:21 | call to basic_string | TAINT | +| string.cpp:534:17:534:21 | call to basic_string | string.cpp:539:10:539:10 | f | | +| string.cpp:534:17:534:21 | call to basic_string | string.cpp:545:8:545:8 | f | | +| string.cpp:536:9:536:9 | ref arg a | string.cpp:540:8:540:8 | a | | +| string.cpp:536:15:536:15 | ref arg b | string.cpp:541:8:541:8 | b | | +| string.cpp:537:9:537:9 | ref arg c | string.cpp:542:8:542:8 | c | | +| string.cpp:537:15:537:15 | ref arg d | string.cpp:543:8:543:8 | d | | +| string.cpp:537:20:537:25 | call to source | string.cpp:537:17:537:17 | call to operator+= | TAINT | +| string.cpp:538:10:538:10 | ref arg e | string.cpp:544:8:544:8 | e | | +| string.cpp:538:24:538:29 | call to source | string.cpp:538:21:538:21 | call to operator+= | TAINT | +| string.cpp:539:10:539:10 | ref arg f | string.cpp:545:8:545:8 | f | | +| string.cpp:539:15:539:20 | call to source | string.cpp:539:12:539:12 | call to operator+= | TAINT | +| string.cpp:549:17:549:20 | aa | string.cpp:549:17:549:21 | call to basic_string | TAINT | +| string.cpp:549:17:549:21 | call to basic_string | string.cpp:556:9:556:9 | a | | +| string.cpp:549:17:549:21 | call to basic_string | string.cpp:560:8:560:8 | a | | +| string.cpp:550:17:550:20 | bb | string.cpp:550:17:550:21 | call to basic_string | TAINT | +| string.cpp:550:17:550:21 | call to basic_string | string.cpp:556:18:556:18 | b | | +| string.cpp:550:17:550:21 | call to basic_string | string.cpp:561:8:561:8 | b | | +| string.cpp:551:17:551:20 | cc | string.cpp:551:17:551:21 | call to basic_string | TAINT | +| string.cpp:551:17:551:21 | call to basic_string | string.cpp:557:9:557:9 | c | | +| string.cpp:551:17:551:21 | call to basic_string | string.cpp:562:8:562:8 | c | | +| string.cpp:552:17:552:20 | dd | string.cpp:552:17:552:21 | call to basic_string | TAINT | +| string.cpp:552:17:552:21 | call to basic_string | string.cpp:557:18:557:18 | d | | +| string.cpp:552:17:552:21 | call to basic_string | string.cpp:563:8:563:8 | d | | +| string.cpp:553:17:553:20 | ee | string.cpp:553:17:553:21 | call to basic_string | TAINT | +| string.cpp:553:17:553:21 | call to basic_string | string.cpp:558:9:558:9 | e | | +| string.cpp:553:17:553:21 | call to basic_string | string.cpp:564:8:564:8 | e | | +| string.cpp:554:17:554:20 | ff | string.cpp:554:17:554:21 | call to basic_string | TAINT | +| string.cpp:554:17:554:21 | call to basic_string | string.cpp:559:9:559:9 | f | | +| string.cpp:554:17:554:21 | call to basic_string | string.cpp:565:8:565:8 | f | | +| string.cpp:556:9:556:9 | ref arg a | string.cpp:560:8:560:8 | a | | +| string.cpp:556:18:556:18 | ref arg b | string.cpp:561:8:561:8 | b | | +| string.cpp:556:27:556:30 | bb | string.cpp:556:27:556:30 | call to basic_string | TAINT | +| string.cpp:557:9:557:9 | ref arg c | string.cpp:562:8:562:8 | c | | +| string.cpp:557:18:557:18 | ref arg d | string.cpp:563:8:563:8 | d | | +| string.cpp:557:27:557:32 | call to source | string.cpp:557:27:557:34 | call to basic_string | TAINT | +| string.cpp:558:9:558:9 | ref arg e | string.cpp:564:8:564:8 | e | | +| string.cpp:558:18:558:21 | ee | string.cpp:558:18:558:21 | call to basic_string | TAINT | +| string.cpp:558:31:558:36 | call to source | string.cpp:558:31:558:38 | call to basic_string | TAINT | +| string.cpp:559:9:559:9 | ref arg f | string.cpp:565:8:565:8 | f | | +| string.cpp:559:18:559:23 | call to source | string.cpp:559:18:559:25 | call to basic_string | TAINT | +| string.cpp:559:35:559:38 | ff | string.cpp:559:35:559:38 | call to basic_string | TAINT | +| string.cpp:574:26:574:47 | call to source | string.cpp:575:26:575:29 | view | | +| string.cpp:574:26:574:47 | call to source | string.cpp:575:40:575:43 | view | | +| string.cpp:574:26:574:47 | call to source | string.cpp:580:23:580:26 | view | | +| string.cpp:574:26:574:47 | call to source | string.cpp:581:23:581:26 | view | | +| string.cpp:574:26:574:47 | call to source | string.cpp:582:26:582:29 | view | | +| string.cpp:574:26:574:47 | call to source | string.cpp:583:30:583:33 | view | | +| string.cpp:575:26:575:30 | call to basic_string | string.cpp:576:7:576:17 | constructed | | +| string.cpp:575:40:575:50 | call to basic_string | string.cpp:577:7:577:12 | sliced | | +| string.cpp:579:14:579:21 | call to basic_string | string.cpp:580:7:580:14 | assigned | | +| string.cpp:579:24:579:31 | call to basic_string | string.cpp:581:7:581:14 | appended | | +| string.cpp:579:34:579:41 | call to basic_string | string.cpp:582:7:582:14 | inserted | | +| string.cpp:579:44:579:51 | call to basic_string | string.cpp:583:7:583:14 | replaced | | +| string.cpp:585:17:585:31 | call to source | string.cpp:586:7:586:13 | tainted | | +| string.cpp:586:29:586:35 | clean | string.cpp:586:17:586:36 | call to basic_string | TAINT | +| string.cpp:602:21:602:26 | call to source | string.cpp:603:30:603:33 | data | | +| string.cpp:602:21:602:26 | call to source | string.cpp:607:27:607:30 | data | | +| string.cpp:602:21:602:26 | call to source | string.cpp:611:29:611:32 | data | | +| string.cpp:602:21:602:26 | call to source | string.cpp:611:35:611:38 | data | | +| string.cpp:603:30:603:33 | data | string.cpp:603:30:603:34 | call to basic_string_view | TAINT | +| string.cpp:603:30:603:34 | call to basic_string_view | string.cpp:604:7:604:16 | terminated | | +| string.cpp:603:30:603:34 | call to basic_string_view | string.cpp:605:7:605:16 | terminated | | +| string.cpp:604:7:604:16 | terminated | string.cpp:604:7:604:16 | call to basic_string_view | | +| string.cpp:607:27:607:34 | call to basic_string_view | string.cpp:608:7:608:13 | counted | | +| string.cpp:607:27:607:34 | call to basic_string_view | string.cpp:609:7:609:13 | counted | | +| string.cpp:608:7:608:13 | counted | string.cpp:608:7:608:13 | call to basic_string_view | | +| string.cpp:611:29:611:43 | call to basic_string_view | string.cpp:612:7:612:15 | iterators | | +| string.cpp:611:35:611:38 | data | string.cpp:611:35:611:42 | ... + ... | TAINT | +| string.cpp:611:42:611:42 | 5 | string.cpp:611:35:611:42 | ... + ... | TAINT | +| string.cpp:612:7:612:15 | iterators | string.cpp:612:7:612:15 | call to basic_string_view | | +| string.cpp:616:24:616:45 | call to source | string.cpp:617:26:617:33 | original | | +| string.cpp:616:24:616:45 | call to source | string.cpp:620:63:620:70 | original | | +| string.cpp:616:24:616:45 | call to source | string.cpp:624:18:624:25 | original | | +| string.cpp:616:24:616:45 | call to source | string.cpp:629:22:629:29 | original | | +| string.cpp:617:26:617:33 | original | string.cpp:617:26:617:34 | call to basic_string_view | | +| string.cpp:617:26:617:34 | call to basic_string_view | string.cpp:618:7:618:12 | copied | | +| string.cpp:617:26:617:34 | call to basic_string_view | string.cpp:619:7:619:12 | copied | | +| string.cpp:617:26:617:34 | call to basic_string_view | string.cpp:632:2:632:7 | copied | | +| string.cpp:617:26:617:34 | call to basic_string_view | string.cpp:633:7:633:12 | copied | | +| string.cpp:618:7:618:12 | copied | string.cpp:618:7:618:12 | call to basic_string_view | | +| string.cpp:620:25:620:72 | call to basic_string_view | string.cpp:621:7:621:11 | moved | | +| string.cpp:620:63:620:70 | original | string.cpp:620:25:620:72 | call to basic_string_view | TAINT | +| string.cpp:621:7:621:11 | moved | string.cpp:621:7:621:11 | call to basic_string_view | | +| string.cpp:623:19:623:26 | call to basic_string_view | string.cpp:624:7:624:14 | assigned | | +| string.cpp:623:19:623:26 | call to basic_string_view | string.cpp:625:7:625:14 | assigned | | +| string.cpp:624:7:624:14 | ref arg assigned | string.cpp:625:7:625:14 | assigned | | +| string.cpp:624:16:624:16 | call to operator= | string.cpp:624:7:624:25 | call to basic_string_view | TAINT | +| string.cpp:624:18:624:25 | original | string.cpp:624:7:624:14 | ref arg assigned | TAINT | +| string.cpp:624:18:624:25 | original | string.cpp:624:16:624:16 | call to operator= | TAINT | +| string.cpp:625:7:625:14 | assigned | string.cpp:625:7:625:14 | call to basic_string_view | | +| string.cpp:627:25:627:29 | call to basic_string_view | string.cpp:629:13:629:17 | clean | | +| string.cpp:627:25:627:29 | call to basic_string_view | string.cpp:632:11:632:15 | clean | | +| string.cpp:628:19:628:25 | call to basic_string_view | string.cpp:629:3:629:9 | chained | | +| string.cpp:628:19:628:25 | call to basic_string_view | string.cpp:630:7:630:13 | chained | | +| string.cpp:629:3:629:9 | ref arg chained | string.cpp:630:7:630:13 | chained | | +| string.cpp:629:13:629:17 | clean | string.cpp:629:3:629:9 | ref arg chained | TAINT | +| string.cpp:629:13:629:17 | clean | string.cpp:629:11:629:11 | call to operator= | TAINT | +| string.cpp:629:22:629:29 | original | string.cpp:629:11:629:11 | ref arg call to operator= | TAINT | +| string.cpp:629:22:629:29 | original | string.cpp:629:20:629:20 | call to operator= | TAINT | +| string.cpp:630:7:630:13 | chained | string.cpp:630:7:630:13 | call to basic_string_view | | +| string.cpp:632:2:632:7 | ref arg copied | string.cpp:633:7:633:12 | copied | | +| string.cpp:632:11:632:15 | clean | string.cpp:632:2:632:7 | ref arg copied | TAINT | +| string.cpp:632:11:632:15 | clean | string.cpp:632:9:632:9 | call to operator= | TAINT | +| string.cpp:633:7:633:12 | copied | string.cpp:633:7:633:12 | call to basic_string_view | | +| string.cpp:637:27:637:43 | call to source | string.cpp:638:29:638:30 | it | | +| string.cpp:637:27:637:43 | call to source | string.cpp:638:33:638:34 | it | | +| string.cpp:638:29:638:35 | call to basic_string_view | string.cpp:639:7:639:15 | iterators | | +| string.cpp:639:7:639:15 | iterators | string.cpp:639:7:639:15 | call to basic_string_view | | +| string.cpp:641:24:641:37 | call to source | string.cpp:642:30:642:34 | range | | +| string.cpp:642:30:642:35 | call to basic_string_view | string.cpp:643:7:643:16 | from_range | | +| string.cpp:643:7:643:16 | from_range | string.cpp:643:7:643:16 | call to basic_string_view | | +| string.cpp:645:20:645:28 | call to vector | string.cpp:646:2:646:10 | container | | +| string.cpp:645:20:645:28 | call to vector | string.cpp:647:34:647:42 | container | | +| string.cpp:645:20:645:28 | call to vector | string.cpp:649:44:649:52 | container | | +| string.cpp:645:20:645:28 | call to vector | string.cpp:649:63:649:71 | container | | +| string.cpp:645:20:645:28 | call to vector | string.cpp:651:1:651:1 | container | | +| string.cpp:646:2:646:10 | ref arg container | string.cpp:647:34:647:42 | container | | +| string.cpp:646:2:646:10 | ref arg container | string.cpp:649:44:649:52 | container | | +| string.cpp:646:2:646:10 | ref arg container | string.cpp:649:63:649:71 | container | | +| string.cpp:646:2:646:10 | ref arg container | string.cpp:651:1:651:1 | container | | +| string.cpp:647:34:647:42 | ref arg container | string.cpp:649:44:649:52 | container | | +| string.cpp:647:34:647:42 | ref arg container | string.cpp:649:63:649:71 | container | | +| string.cpp:647:34:647:42 | ref arg container | string.cpp:651:1:651:1 | container | | +| string.cpp:647:34:647:43 | call to basic_string_view | string.cpp:648:7:648:20 | from_container | | +| string.cpp:648:7:648:20 | from_container | string.cpp:648:7:648:20 | call to basic_string_view | | +| string.cpp:649:44:649:52 | container | string.cpp:649:54:649:58 | call to begin | TAINT | +| string.cpp:649:44:649:52 | ref arg container | string.cpp:649:63:649:71 | container | | +| string.cpp:649:44:649:52 | ref arg container | string.cpp:651:1:651:1 | container | | +| string.cpp:649:44:649:78 | call to basic_string_view | string.cpp:650:7:650:30 | from_container_iterators | | +| string.cpp:649:63:649:71 | container | string.cpp:649:73:649:75 | call to end | TAINT | +| string.cpp:649:63:649:71 | ref arg container | string.cpp:651:1:651:1 | container | | +| string.cpp:650:7:650:30 | from_container_iterators | string.cpp:650:7:650:30 | call to basic_string_view | | +| string.cpp:654:14:654:35 | call to source | string.cpp:655:7:655:10 | view | | +| string.cpp:654:14:654:35 | call to source | string.cpp:656:7:656:10 | view | | +| string.cpp:654:14:654:35 | call to source | string.cpp:657:7:657:10 | view | | +| string.cpp:654:14:654:35 | call to source | string.cpp:658:7:658:10 | view | | +| string.cpp:654:14:654:35 | call to source | string.cpp:659:7:659:10 | view | | +| string.cpp:654:14:654:35 | call to source | string.cpp:660:8:660:11 | view | | +| string.cpp:654:14:654:35 | call to source | string.cpp:661:8:661:11 | view | | +| string.cpp:660:8:660:11 | view | string.cpp:660:13:660:17 | call to begin | TAINT | +| string.cpp:660:13:660:17 | call to begin | string.cpp:660:7:660:19 | * ... | TAINT | +| string.cpp:661:8:661:11 | view | string.cpp:661:13:661:18 | call to cbegin | TAINT | +| string.cpp:661:13:661:18 | call to cbegin | string.cpp:661:7:661:20 | * ... | TAINT | +| string.cpp:665:16:665:37 | call to source | string.cpp:666:2:666:7 | prefix | | +| string.cpp:665:16:665:37 | call to source | string.cpp:667:7:667:12 | prefix | | +| string.cpp:665:16:665:37 | call to source | string.cpp:668:7:668:12 | prefix | | +| string.cpp:666:2:666:7 | ref arg prefix | string.cpp:667:7:667:12 | prefix | | +| string.cpp:666:2:666:7 | ref arg prefix | string.cpp:668:7:668:12 | prefix | | +| string.cpp:667:7:667:12 | prefix | string.cpp:667:7:667:12 | call to basic_string_view | | +| string.cpp:670:16:670:37 | call to source | string.cpp:671:2:671:7 | suffix | | +| string.cpp:670:16:670:37 | call to source | string.cpp:672:7:672:12 | suffix | | +| string.cpp:670:16:670:37 | call to source | string.cpp:673:7:673:12 | suffix | | +| string.cpp:671:2:671:7 | ref arg suffix | string.cpp:672:7:672:12 | suffix | | +| string.cpp:671:2:671:7 | ref arg suffix | string.cpp:673:7:673:12 | suffix | | +| string.cpp:672:7:672:12 | suffix | string.cpp:672:7:672:12 | call to basic_string_view | | +| string.cpp:677:14:677:35 | call to source | string.cpp:678:7:678:10 | view | | +| string.cpp:677:14:677:35 | call to source | string.cpp:679:7:679:10 | view | | +| string.cpp:677:14:677:35 | call to source | string.cpp:682:7:682:10 | view | | +| string.cpp:677:14:677:35 | call to source | string.cpp:686:2:686:5 | view | | +| string.cpp:677:14:677:35 | call to source | string.cpp:687:7:687:10 | view | | +| string.cpp:681:19:681:21 | {...} | string.cpp:682:17:682:22 | buffer | | +| string.cpp:681:19:681:21 | {...} | string.cpp:683:7:683:12 | buffer | | +| string.cpp:682:17:682:22 | ref arg buffer | string.cpp:683:7:683:12 | buffer | | +| string.cpp:685:19:685:23 | call to basic_string_view | string.cpp:686:12:686:16 | clean | | +| string.cpp:685:19:685:23 | call to basic_string_view | string.cpp:688:7:688:11 | clean | | +| string.cpp:686:2:686:5 | ref arg view | string.cpp:687:7:687:10 | view | | +| string.cpp:686:12:686:16 | ref arg clean | string.cpp:688:7:688:11 | clean | | +| string.cpp:687:7:687:10 | view | string.cpp:687:7:687:10 | call to basic_string_view | | +| string.cpp:688:7:688:11 | clean | string.cpp:688:7:688:11 | call to basic_string_view | | +| string.cpp:694:17:694:20 | aa | string.cpp:694:17:694:21 | call to basic_string | TAINT | +| string.cpp:695:4:695:4 | s | string.cpp:695:4:695:11 | ... = ... | | +| string.cpp:695:4:695:11 | ... = ... | string.cpp:695:4:695:4 | s [inner post update] | | +| string.cpp:695:4:695:11 | ref arg ... = ... | string.cpp:695:4:695:4 | s [inner post update] | | +| string.cpp:695:4:695:11 | ref arg ... = ... | string.cpp:696:8:696:8 | s | | +| string.cpp:695:8:695:11 | bb | string.cpp:695:8:695:11 | call to basic_string | TAINT | +| string.cpp:695:8:695:11 | call to basic_string | string.cpp:695:4:695:11 | ... = ... | | +| string.cpp:695:8:695:11 | call to basic_string | string.cpp:696:8:696:8 | s | | +| string.cpp:695:17:695:22 | call to source | string.cpp:695:14:695:14 | call to operator+= | TAINT | +| string.cpp:700:17:700:20 | aa | string.cpp:700:17:700:21 | call to basic_string | TAINT | +| string.cpp:700:17:700:21 | call to basic_string | string.cpp:701:3:701:3 | s | | +| string.cpp:700:17:700:21 | call to basic_string | string.cpp:702:8:702:8 | s | | +| string.cpp:701:3:701:3 | ref arg s | string.cpp:702:8:702:8 | s | | +| string.cpp:701:3:701:31 | ... = ... | string.cpp:701:5:701:9 | call to front [post update] | | +| string.cpp:701:15:701:29 | call to source | string.cpp:701:3:701:31 | ... = ... | | +| string.cpp:706:17:706:20 | aa | string.cpp:706:17:706:21 | call to basic_string | TAINT | +| string.cpp:706:17:706:21 | call to basic_string | string.cpp:707:3:707:3 | s | | +| string.cpp:706:17:706:21 | call to basic_string | string.cpp:708:8:708:8 | s | | +| string.cpp:707:3:707:3 | ref arg s | string.cpp:708:8:708:8 | s | | +| string.cpp:707:3:707:30 | ... = ... | string.cpp:707:5:707:8 | call to back [post update] | | +| string.cpp:707:14:707:28 | call to source | string.cpp:707:3:707:30 | ... = ... | | +| string.cpp:712:17:712:20 | aa | string.cpp:712:17:712:21 | call to basic_string | TAINT | +| string.cpp:712:17:712:21 | call to basic_string | string.cpp:713:3:713:3 | s | | +| string.cpp:712:17:712:21 | call to basic_string | string.cpp:714:8:714:8 | s | | +| string.cpp:713:3:713:3 | ref arg s | string.cpp:714:8:714:8 | s | | +| string.cpp:713:3:713:13 | access to array [post update] | string.cpp:713:5:713:8 | call to data [inner post update] | | +| string.cpp:713:3:713:33 | ... = ... | string.cpp:713:3:713:13 | access to array [post update] | | +| string.cpp:713:5:713:8 | call to data | string.cpp:713:3:713:13 | access to array | TAINT | +| string.cpp:713:12:713:12 | 0 | string.cpp:713:3:713:13 | access to array | TAINT | +| string.cpp:713:17:713:31 | call to source | string.cpp:713:3:713:33 | ... = ... | | +| string.cpp:718:17:718:20 | aa | string.cpp:718:17:718:21 | call to basic_string | TAINT | +| string.cpp:718:17:718:21 | call to basic_string | string.cpp:719:3:719:3 | s | | +| string.cpp:718:17:718:21 | call to basic_string | string.cpp:720:8:720:8 | s | | +| string.cpp:719:3:719:3 | ref arg s | string.cpp:720:8:720:8 | s | | +| string.cpp:719:3:719:30 | ... = ... | string.cpp:719:5:719:10 | call to insert [post update] | | +| string.cpp:719:23:719:28 | call to source | string.cpp:719:23:719:30 | call to basic_string | TAINT | +| string.cpp:719:23:719:30 | call to basic_string | string.cpp:719:3:719:30 | ... = ... | | +| string.cpp:724:17:724:20 | aa | string.cpp:724:17:724:21 | call to basic_string | TAINT | +| string.cpp:724:17:724:21 | call to basic_string | string.cpp:725:3:725:3 | s | | +| string.cpp:724:17:724:21 | call to basic_string | string.cpp:726:8:726:8 | s | | +| string.cpp:725:3:725:3 | ref arg s | string.cpp:726:8:726:8 | s | | +| string.cpp:725:3:725:27 | ... = ... | string.cpp:725:5:725:10 | call to append [post update] | | +| string.cpp:725:20:725:25 | call to source | string.cpp:725:20:725:27 | call to basic_string | TAINT | +| string.cpp:725:20:725:27 | call to basic_string | string.cpp:725:3:725:27 | ... = ... | | +| string.cpp:730:17:730:20 | aa | string.cpp:730:17:730:21 | call to basic_string | TAINT | +| string.cpp:730:17:730:21 | call to basic_string | string.cpp:731:4:731:4 | s | | +| string.cpp:730:17:730:21 | call to basic_string | string.cpp:732:8:732:8 | s | | +| string.cpp:731:3:731:24 | ... = ... | string.cpp:731:6:731:6 | call to operator+= [post update] | | +| string.cpp:731:4:731:4 | ref arg s | string.cpp:732:8:732:8 | s | | +| string.cpp:731:17:731:22 | call to source | string.cpp:731:17:731:24 | call to basic_string | TAINT | +| string.cpp:731:17:731:24 | call to basic_string | string.cpp:731:3:731:24 | ... = ... | | +| string.cpp:736:17:736:20 | aa | string.cpp:736:17:736:21 | call to basic_string | TAINT | +| string.cpp:736:17:736:21 | call to basic_string | string.cpp:737:3:737:3 | s | | +| string.cpp:736:17:736:21 | call to basic_string | string.cpp:738:8:738:8 | s | | +| string.cpp:737:3:737:3 | ref arg s | string.cpp:738:8:738:8 | s | | +| string.cpp:737:3:737:34 | ... = ... | string.cpp:737:5:737:11 | call to replace [post update] | | +| string.cpp:737:19:737:22 | bb | string.cpp:737:19:737:22 | call to basic_string | TAINT | +| string.cpp:737:27:737:32 | call to source | string.cpp:737:27:737:34 | call to basic_string | TAINT | +| string.cpp:737:27:737:34 | call to basic_string | string.cpp:737:3:737:34 | ... = ... | | | stringstream.cpp:26:35:26:40 | amount | stringstream.cpp:64:46:64:51 | amount | | | stringstream.cpp:28:20:28:22 | call to basic_stringstream | stringstream.cpp:31:7:31:9 | ss1 | | | stringstream.cpp:28:20:28:22 | call to basic_stringstream | stringstream.cpp:37:7:37:9 | ss1 | | @@ -9517,7 +9149,6 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | vector.cpp:484:13:484:13 | call to operator[] | vector.cpp:484:10:484:22 | & ... | | | vector.cpp:484:14:484:17 | offs | vector.cpp:484:14:484:21 | ... + ... | TAINT | | vector.cpp:484:21:484:21 | 1 | vector.cpp:484:14:484:21 | ... + ... | TAINT | -| vector.cpp:484:25:484:27 | src | vector.cpp:484:29:484:33 | call to c_str | TAINT | | vector.cpp:484:29:484:33 | call to c_str | vector.cpp:484:3:484:8 | call to memcpy | TAINT | | vector.cpp:484:29:484:33 | call to c_str | vector.cpp:484:10:484:22 | ref arg & ... | TAINT | | vector.cpp:486:8:486:9 | ref arg cs | vector.cpp:487:2:487:2 | cs | | diff --git a/cpp/ql/test/library-tests/dataflow/taint-tests/map.cpp b/cpp/ql/test/library-tests/dataflow/taint-tests/map.cpp index 0c6bcedc88bc..8ddc86627688 100644 --- a/cpp/ql/test/library-tests/dataflow/taint-tests/map.cpp +++ b/cpp/ql/test/library-tests/dataflow/taint-tests/map.cpp @@ -3,22 +3,22 @@ using namespace std; namespace { -char *source(); +char *source(); int source(int); } void sink(char *); void sink(const char *); void sink(bool); -void sink(std::pair); -void sink(std::map); -void sink(std::map::iterator); -void sink(std::unordered_map); -void sink(std::unordered_map::iterator); -void sink(std::unordered_map >); -void sink(std::unordered_map >::iterator); +void sink(std::pair); +void sink(std::map); +void sink(std::map::iterator); +void sink(std::unordered_map); +void sink(std::unordered_map::iterator); +void sink(std::unordered_map >); +void sink(std::unordered_map >::iterator); void test_pair() { - std::pair a, b, c; + std::pair a, b, c; a.first = "123"; sink(a.first); @@ -35,47 +35,47 @@ void test_pair() sink(c.second); // $ ast,ir sink(c); // $ ir MISSING: ast - std::pair d("123", "456"); + std::pair d("123", "456"); sink(d.first); sink(d.second); sink(d); - std::pair e(source(), "456"); - sink(e.first); // $ ast,ir + std::pair e(source(), "456"); + sink(e.first); // $ ir MISSING: ast sink(e.second); sink(e); // $ ir MISSING: ast - std::pair f("123", source()); + std::pair f("123", source()); sink(f.first); - sink(f.second); // $ ast,ir - sink(f); // $ ast,ir + sink(f.second); // $ ir MISSING: ast + sink(f); // $ ir MISSING: ast - std::pair g(f); + std::pair g(f); sink(g.first); - sink(g.second); // $ ast,ir - sink(g); // $ ast,ir + sink(g.second); // $ ir MISSING: ast + sink(g); // $ ir MISSING: ast - std::pair h; + std::pair h; h = f; sink(h.first); - sink(h.second); // $ ast,ir - sink(h); // $ ast,ir + sink(h.second); // $ ir MISSING: ast + sink(h); // $ ir MISSING: ast - std::pair i("123", "456"); - std::pair j("123", source()); - std::pair k("123", source()); - std::pair l("123", "456"); + std::pair i("123", "456"); + std::pair j("123", source()); + std::pair k("123", source()); + std::pair l("123", "456"); i.swap(j); k.swap(l); sink(i.first); sink(i.second); // $ ir, MISSING: ast sink(i); // $ ir sink(j.first); - sink(j.second); // $ SPURIOUS: ast - sink(j); // $ SPURIOUS: ast + sink(j.second); + sink(j); sink(k.first); - sink(k.second); // $ SPURIOUS: ast - sink(k); // $ SPURIOUS: ast + sink(k.second); + sink(k); sink(l.first); sink(l.second); // $ ir, MISSING: ast sink(l); // $ ir @@ -83,66 +83,66 @@ void test_pair() sink(make_pair("123", "456")); sink(make_pair("123", "456").first); sink(make_pair("123", "456").second); - sink(make_pair(source(), "456")); // $ MISSING: ast,ir - sink(make_pair(source(), "456").first); // $ ast,ir + sink(make_pair(source(), "456")); // $ ir MISSING: ast + sink(make_pair(source(), "456").first); // $ ir MISSING: ast sink(make_pair(source(), "456").second); - sink(make_pair("123", source())); // $ ast,ir + sink(make_pair("123", source())); // $ ir MISSING: ast sink(make_pair("123", source()).first); - sink(make_pair("123", source()).second); // $ ast,ir + sink(make_pair("123", source()).second); // $ ir MISSING: ast - std::pair, char *> m; + std::pair, const char *> m; m = make_pair(make_pair("123", source()), "789"); - sink(m); // $ MISSING: ast,ir - sink(m.first); // $ MISSING: ast,ir + sink(m); // $ ir MISSING: ast + sink(m.first); // $ ir MISSING: ast sink(m.first.first); - sink(m.first.second); // $ MISSING: ast,ir + sink(m.first.second); // $ ir MISSING: ast sink(m.second); } void test_map() { // insert - std::map m1, m2, m3, m4, m5, m6; + std::map m1, m2, m3, m4, m5, m6; sink(m1.insert(std::make_pair("abc", "def")).first); - sink(m2.insert(std::make_pair("abc", source())).first); + sink(m2.insert(std::make_pair("abc", source())).first); // $ ir MISSING: ast sink(m3.insert(std::make_pair(source(), "def")).first); // $ MISSING: ast,ir - sink(m4.insert(m4.begin(), std::pair("abc", source()))); // $ ast,ir - sink(m5.insert_or_assign("abc", source()).first); - sink(m6.insert_or_assign(m6.begin(), "abc", source())); // $ ast,ir + sink(m4.insert(m4.begin(), std::pair("abc", source()))); // $ ir MISSING: ast + sink(m5.insert_or_assign("abc", source()).first); // $ ir MISSING: ast + sink(m6.insert_or_assign(m6.begin(), "abc", source())); // $ ir MISSING: ast sink(m1); - sink(m2); // $ ast,ir + sink(m2); // $ ir MISSING: ast sink(m3); // $ MISSING: ast,ir - sink(m4); // $ ast,ir - sink(m5); // $ ast,ir - sink(m6); // $ ast,ir + sink(m4); // $ ir MISSING: ast + sink(m5); // $ ir MISSING: ast + sink(m6); // $ ir MISSING: ast sink(m1.find("abc")); - sink(m2.find("abc")); // $ ast,ir + sink(m2.find("abc")); // $ ir MISSING: ast sink(m3.find("abc")); - sink(m4.find("abc")); // $ ast,ir - sink(m5.find("abc")); // $ ast,ir - sink(m6.find("abc")); // $ ast,ir + sink(m4.find("abc")); // $ ir MISSING: ast + sink(m5.find("abc")); // $ ir MISSING: ast + sink(m6.find("abc")); // $ ir MISSING: ast sink(m1.find("def")); - sink(m2.find("def")); // $ SPURIOUS: ast,ir + sink(m2.find("def")); // $ ir MISSING: ast sink(m3.find("def")); - sink(m4.find("def")); // $ SPURIOUS: ast,ir - sink(m5.find("def")); // $ SPURIOUS: ast,ir - sink(m6.find("def")); // $ SPURIOUS: ast,ir + sink(m4.find("def")); // $ ir MISSING: ast + sink(m5.find("def")); // $ ir MISSING: ast + sink(m6.find("def")); // $ ir MISSING: ast // copy constructors and assignment - std::map m7(m2); - std::map m8 = m2; - std::map m9; + std::map m7(m2); + std::map m8 = m2; + std::map m9; m9 = m2; - sink(m7); // $ ast,ir - sink(m8); // $ ast,ir - sink(m9); // $ ast,ir - sink(m7.find("abc")); // $ ast,ir - sink(m8.find("abc")); // $ ast,ir - sink(m9.find("abc")); // $ ast,ir + sink(m7); // $ ir MISSING: ast + sink(m8); // $ ir MISSING: ast + sink(m9); // $ ir MISSING: ast + sink(m7.find("abc")); // $ ir MISSING: ast + sink(m8.find("abc")); // $ ir MISSING: ast + sink(m9.find("abc")); // $ ir MISSING: ast // iterators - std::map::iterator i1, i2, i3; + std::map::iterator i1, i2, i3; for (i1 = m1.begin(); i1 != m1.end(); i1++) { sink(*i1); @@ -151,150 +151,150 @@ void test_map() } for (i2 = m2.begin(); i2 != m2.end(); i2++) { - sink(*i2); // $ ast,ir + sink(*i2); // $ ir MISSING: ast sink(i2->first); // clean sink(i2->second); // $ MISSING: ast,ir } for (i3 = m3.begin(); i3 != m3.end(); i3++) { - sink(*i3); // $ MISSING: ast,ir + sink(*i3); // $ ir MISSING: ast sink(i3->first); // $ MISSING: ast,ir sink(i3->second); // clean } // array-like access - std::map m10, m11, m12, m13; + std::map m10, m11, m12, m13; sink(m10["abc"] = "def"); sink(m11["abc"] = source()); // $ ast,ir sink(m12.at("abc") = "def"); sink(m13.at("abc") = source()); // $ ast,ir sink(m10["abc"]); - sink(m11["abc"]); // $ ast,ir + sink(m11["abc"]); // $ ir MISSING: ast sink(m12["abc"]); - sink(m13["abc"]); // $ ast,ir + sink(m13["abc"]); // $ ir MISSING: ast // ranges - std::map m14; + std::map m14; m14.insert(std::make_pair("a", "a")); m14.insert(std::make_pair("b", source())); m14.insert(std::make_pair("c", source())); m14.insert(std::make_pair("d", "d")); - sink(m14.lower_bound("b")); // $ ast,ir=179:33 ast,ir=180:33 - sink(m14.upper_bound("b")); // $ ast,ir=179:33 ast,ir=180:33 - sink(m14.equal_range("b").first); // $ MISSING: ast,ir - sink(m14.equal_range("b").second); // $ MISSING: ast,ir - sink(m14.upper_bound("c")); // $ SPURIOUS: ast,ir=179:33 ast,ir=180:33 - sink(m14.equal_range("c").second); + sink(m14.lower_bound("b")); // $ ir=179:33 ir=180:33 MISSING: ast=179:33 ast=180:33 + sink(m14.upper_bound("b")); // $ ir=179:33 ir=180:33 MISSING: ast=179:33 ast=180:33 + sink(m14.equal_range("b").first); // $ ir=179:33 ir=180:33 MISSING: ast=179:33 ast=180:33 + sink(m14.equal_range("b").second); // $ ir=179:33 ir=180:33 MISSING: ast=179:33 ast=180:33 + sink(m14.upper_bound("c")); // $ ir=179:33 ir=180:33 MISSING: ast=179:33 ast=180:33 + sink(m14.equal_range("c").second); // $ ir=179:33 ir=180:33 MISSING: ast=179:33 ast=180:33 // swap - std::map m15, m16, m17, m18; - m15.insert(std::pair(source(), source())); - m18.insert(std::pair(source(), source())); - sink(m15); // $ ast,ir + std::map m15, m16, m17, m18; + m15.insert(std::pair(source(), source())); + m18.insert(std::pair(source(), source())); + sink(m15); // $ ir MISSING: ast sink(m16); sink(m17); - sink(m18); // $ ast,ir + sink(m18); // $ ir MISSING: ast m15.swap(m16); m17.swap(m18); - sink(m15); // $ SPURIOUS: ast + sink(m15); sink(m16); // $ ir sink(m17); // $ ir - sink(m18); // $ SPURIOUS: ast + sink(m18); // merge - std::map m19, m20, m21, m22; - m19.insert(std::pair(source(), source())); - m20.insert(std::pair("abc", "def")); - m21.insert(std::pair("abc", "def")); - m22.insert(std::pair(source(), source())); - sink(m19); // $ ast,ir + std::map m19, m20, m21, m22; + m19.insert(std::pair(source(), source())); + m20.insert(std::pair("abc", "def")); + m21.insert(std::pair("abc", "def")); + m22.insert(std::pair(source(), source())); + sink(m19); // $ ir MISSING: ast sink(m20); sink(m21); - sink(m22); // $ ast,ir + sink(m22); // $ ir MISSING: ast m19.merge(m20); m21.merge(m22); - sink(m19); // $ ast,ir + sink(m19); // $ ir MISSING: ast sink(m20); - sink(m21); // $ ast,ir - sink(m22); // $ ast,ir + sink(m21); // $ ir MISSING: ast + sink(m22); // $ ir MISSING: ast // erase, clear - std::map m23; - m23.insert(std::pair(source(), source())); - m23.insert(std::pair(source(), source())); - sink(m23); // $ ast,ir=223:49 ast,ir=224:49 - sink(m23.erase(m23.begin())); // $ ast,ir=223:49 ast,ir=224:49 - sink(m23); // $ ast,ir=223:49 ast,ir=224:49 + std::map m23; std::map::value_type(source(), source()); // ensure instantiation + m23.insert(std::pair(source(), source())); + m23.insert(std::pair(source(), source())); + sink(m23); // $ ir=223:61 ir=224:61 MISSING: ast=223:61 ast=224:61 + sink(m23.erase(m23.begin())); // $ ir=223:61 ir=224:61 MISSING: ast=223:61 ast=224:61 + sink(m23); // $ ir=223:61 ir=224:61 MISSING: ast=223:61 ast=224:61 m23.clear(); - sink(m23); // $ SPURIOUS: ast,ir=223:49 ast,ir=224:49 + sink(m23); // $ SPURIOUS: ir=223:61 ir=224:61 // emplace, emplace_hint - std::map m24, m25; + std::map m24, m25; std::map::value_type("abc", source()); // force the template instantiation sink(m24.emplace("abc", "def").first); sink(m24); - sink(m24.emplace("abc", source()).first); - sink(m24); // $ ast,ir + sink(m24.emplace("abc", source()).first); // $ ir MISSING: ast + sink(m24); // $ ir MISSING: ast sink(m25.emplace_hint(m25.begin(), "abc", "def")); sink(m25); - sink(m25.emplace_hint(m25.begin(), "abc", source())); // $ ast,ir - sink(m25); // $ ast,ir + sink(m25.emplace_hint(m25.begin(), "abc", source())); // $ ir MISSING: ast + sink(m25); // $ ir MISSING: ast // try_emplace - std::map m26, m27; + std::map m26, m27; sink(m26.try_emplace("abc", "def").first); sink(m26); - sink(m26.try_emplace("abc", source()).first); - sink(m26); // $ ast,ir + sink(m26.try_emplace("abc", source()).first); // $ ir MISSING: ast + sink(m26); // $ ir MISSING: ast sink(m27.try_emplace(m27.begin(), "abc", "def")); sink(m27); - sink(m27.try_emplace(m27.begin(), "abc", source())); // $ ast,ir - sink(m27); // $ ast,ir + sink(m27.try_emplace(m27.begin(), "abc", source())); // $ ir MISSING: ast + sink(m27); // $ ir MISSING: ast } void test_unordered_map() { // insert - std::unordered_map m1, m2, m3, m4, m5, m6; + std::unordered_map m1, m2, m3, m4, m5, m6; sink(m1.insert(std::make_pair("abc", "def")).first); - sink(m2.insert(std::make_pair("abc", source())).first); + sink(m2.insert(std::make_pair("abc", source())).first); // $ ir MISSING: ast sink(m3.insert(std::make_pair(source(), "def")).first); // $ MISSING: ast,ir - sink(m4.insert(m4.begin(), std::pair("abc", source()))); // $ ast,ir - sink(m5.insert_or_assign("abc", source()).first); - sink(m6.insert_or_assign(m6.begin(), "abc", source())); // $ ast,ir + sink(m4.insert(m4.begin(), std::pair("abc", source()))); // $ ir MISSING: ast + sink(m5.insert_or_assign("abc", source()).first); // $ ir MISSING: ast + sink(m6.insert_or_assign(m6.begin(), "abc", source())); // $ ir MISSING: ast sink(m1); - sink(m2); // $ ast,ir + sink(m2); // $ ir MISSING: ast sink(m3); // $ MISSING: ast,ir - sink(m4); // $ ast,ir - sink(m5); // $ ast,ir - sink(m6); // $ ast,ir + sink(m4); // $ ir MISSING: ast + sink(m5); // $ ir MISSING: ast + sink(m6); // $ ir MISSING: ast sink(m1.find("abc")); - sink(m2.find("abc")); // $ ast,ir + sink(m2.find("abc")); // $ ir MISSING: ast sink(m3.find("abc")); - sink(m4.find("abc")); // $ ast,ir - sink(m5.find("abc")); // $ ast,ir - sink(m6.find("abc")); // $ ast,ir + sink(m4.find("abc")); // $ ir MISSING: ast + sink(m5.find("abc")); // $ ir MISSING: ast + sink(m6.find("abc")); // $ ir MISSING: ast sink(m1.find("def")); - sink(m2.find("def")); // $ SPURIOUS: ast,ir + sink(m2.find("def")); // $ SPURIOUS: ir sink(m3.find("def")); - sink(m4.find("def")); // $ SPURIOUS: ast,ir - sink(m5.find("def")); // $ SPURIOUS: ast,ir - sink(m6.find("def")); // $ SPURIOUS: ast,ir + sink(m4.find("def")); // $ SPURIOUS: ir + sink(m5.find("def")); // $ SPURIOUS: ir + sink(m6.find("def")); // $ SPURIOUS: ir // copy constructors and assignment - std::unordered_map m7(m2); - std::unordered_map m8 = m2; - std::unordered_map m9; + std::unordered_map m7(m2); + std::unordered_map m8 = m2; + std::unordered_map m9; m9 = m2; - sink(m7); // $ ast,ir - sink(m8); // $ ast,ir - sink(m9); // $ ast,ir - sink(m7.find("abc")); // $ ast,ir - sink(m8.find("abc")); // $ ast,ir - sink(m9.find("abc")); // $ ast,ir + sink(m7); // $ ir MISSING: ast + sink(m8); // $ ir MISSING: ast + sink(m9); // $ ir MISSING: ast + sink(m7.find("abc")); // $ ir MISSING: ast + sink(m8.find("abc")); // $ ir MISSING: ast + sink(m9.find("abc")); // $ ir MISSING: ast // iterators - std::unordered_map::iterator i1, i2, i3; + std::unordered_map::iterator i1, i2, i3; for (i1 = m1.begin(); i1 != m1.end(); i1++) { sink(*i1); @@ -303,137 +303,137 @@ void test_unordered_map() } for (i2 = m2.begin(); i2 != m2.end(); i2++) { - sink(*i2); // $ ast,ir + sink(*i2); // $ ir MISSING: ast sink(i2->first); // clean sink(i2->second); // $ MISSING: ast,ir } for (i3 = m3.begin(); i3 != m3.end(); i3++) { - sink(*i3); // $ MISSING: ast,ir + sink(*i3); // $ ir MISSING: ast sink(i3->first); // $ MISSING: ast,ir sink(i3->second); // clean } // array-like access - std::unordered_map m10, m11, m12, m13; + std::unordered_map m10, m11, m12, m13; sink(m10["abc"] = "def"); sink(m11["abc"] = source()); // $ ast,ir sink(m12.at("abc") = "def"); sink(m13.at("abc") = source()); // $ ast,ir sink(m10["abc"]); - sink(m11["abc"]); // $ ast,ir + sink(m11["abc"]); // $ ir MISSING: ast sink(m12["abc"]); - sink(m13["abc"]); // $ ast,ir + sink(m13["abc"]); // $ ir MISSING: ast // ranges - std::unordered_map m14; + std::unordered_map m14; m14.insert(std::make_pair("a", "a")); m14.insert(std::make_pair("b", source())); m14.insert(std::make_pair("c", source())); m14.insert(std::make_pair("d", "d")); - sink(m14.equal_range("b").first); - sink(m14.equal_range("b").second); // $ MISSING: ast,ir - sink(m14.equal_range("c").second); + sink(m14.equal_range("b").first); // $ ir=331:33 ir=332:33 + sink(m14.equal_range("b").second); // $ ir=331:33 ir=332:33 MISSING: ast + sink(m14.equal_range("c").second); // $ SPURIOUS: ir=331:33 ir=332:33 // swap - std::unordered_map m15, m16, m17, m18; - m15.insert(std::pair(source(), source())); - m18.insert(std::pair(source(), source())); - sink(m15); // $ ast,ir + std::unordered_map m15, m16, m17, m18; + m15.insert(std::pair(source(), source())); + m18.insert(std::pair(source(), source())); + sink(m15); // $ ir MISSING: ast sink(m16); sink(m17); - sink(m18); // $ ast,ir + sink(m18); // $ ir MISSING: ast m15.swap(m16); m17.swap(m18); - sink(m15); // $ SPURIOUS: ast + sink(m15); sink(m16); // $ ir sink(m17); // $ ir - sink(m18); // $ SPURIOUS: ast + sink(m18); // merge - std::unordered_map m19, m20, m21, m22; - m19.insert(std::pair(source(), source())); - m20.insert(std::pair("abc", "def")); - m21.insert(std::pair("abc", "def")); - m22.insert(std::pair(source(), source())); - sink(m19); // $ ast,ir + std::unordered_map m19, m20, m21, m22; + m19.insert(std::pair(source(), source())); + m20.insert(std::pair("abc", "def")); + m21.insert(std::pair("abc", "def")); + m22.insert(std::pair(source(), source())); + sink(m19); // $ ir MISSING: ast sink(m20); sink(m21); - sink(m22); // $ ast,ir + sink(m22); // $ ir MISSING: ast m19.merge(m20); m21.merge(m22); - sink(m19); // $ ast,ir + sink(m19); // $ ir MISSING: ast sink(m20); - sink(m21); // $ ast,ir - sink(m22); // $ ast,ir + sink(m21); // $ ir MISSING: ast + sink(m22); // $ ir MISSING: ast // erase, clear - std::unordered_map m23; - m23.insert(std::pair(source(), source())); - m23.insert(std::pair(source(), source())); - sink(m23); // $ ast,ir=372:49 ast,ir=373:49 - sink(m23.erase(m23.begin())); // $ ast,ir=372:49 ast,ir=373:49 - sink(m23); // $ ast,ir=372:49 ast,ir=373:49 + std::unordered_map m23; + m23.insert(std::pair(source(), source())); + m23.insert(std::pair(source(), source())); + sink(m23); // $ ir=372:61 ir=373:61 MISSING: ast=372:61 ast=373:61 + sink(m23.erase(m23.begin())); // $ ir=372:61 ir=373:61 MISSING: ast=372:61 ast=373:61 + sink(m23); // $ ir=372:61 ir=373:61 MISSING: ast=372:61 ast=373:61 m23.clear(); - sink(m23); // $ SPURIOUS: ast,ir=372:49 ast,ir=373:49 + sink(m23); // $ SPURIOUS: ir=372:61 ir=373:61 // emplace, emplace_hint - std::unordered_map m24, m25; + std::unordered_map m24, m25; sink(m24.emplace("abc", "def").first); sink(m24); - sink(m24.emplace("abc", source()).first); - sink(m24); // $ ast,ir + sink(m24.emplace("abc", source()).first); // $ ir + sink(m24); // $ ir MISSING: ast sink(m25.emplace_hint(m25.begin(), "abc", "def")); sink(m25); - sink(m25.emplace_hint(m25.begin(), "abc", source())); // $ ast,ir - sink(m25); // $ ast,ir + sink(m25.emplace_hint(m25.begin(), "abc", source())); // $ ir MISSING: ast + sink(m25); // $ ir MISSING: ast // try_emplace - std::unordered_map m26, m27, m28; + std::unordered_map m26, m27, m28; sink(m26.try_emplace("abc", "def").first); sink(m26.try_emplace("abc", "def").second); sink(m26); - sink(m26.try_emplace("abc", source()).first); + sink(m26.try_emplace("abc", source()).first); // $ ir sink(m26.try_emplace("abc", source()).second); // $ MISSING: ast,ir=396:30 - sink(m26); // $ ast,ir=396:30 SPURIOUS: ast,ir=397:30 + sink(m26); // $ ir=396:30 MISSING: ast SPURIOUS: ir=397:30 sink(m27.try_emplace(m27.begin(), "abc", "def")); sink(m27); - sink(m27.try_emplace(m27.begin(), "abc", source())); // $ ast,ir - sink(m27); // $ ast,ir + sink(m27.try_emplace(m27.begin(), "abc", source())); // $ ir MISSING: ast + sink(m27); // $ ir MISSING: ast sink(m28.try_emplace(m28.begin(), "abc", "def")); sink(m28); sink(m28.try_emplace(m28.begin(), source(), "def")); // $ MISSING: ast,ir sink(m28); // $ MISSING: ast,ir // additional try_emplace test cases - std::unordered_map> m29, m30, m31, m32; + std::unordered_map> m29, m30, m31, m32; std::pair inst1(0, 0); int x; std::pair inst2(x, x); sink(m29.try_emplace("abc", 1, 2)); sink(m29); sink(m29["abc"]); - sink(m30.try_emplace(source(), 1, 2)); // $ MISSING: ast,ir + sink(m30.try_emplace(source(), 1, 2)); // $ ir MISSING: ast sink(m30); // $ MISSING: ast,ir sink(m30["abc"]); - sink(m31.try_emplace("abc", source(), 2)); // $ ast,ir - sink(m31); // $ ast,ir - sink(m31["abc"]); // $ ast,ir - sink(m32.try_emplace("abc", 1, source())); // $ ast,ir - sink(m32); // $ ast,ir - sink(m32["abc"]); // $ ast,ir + sink(m31.try_emplace("abc", source(0), 2).first->second.first); // $ ir MISSING: ast + sink(m31); + sink(m31["abc"]); // $ ir MISSING: ast + sink(m32.try_emplace("abc", 1, source(0)).first->second.second); // $ ir MISSING: ast + sink(m32); // $ ir MISSING: ast + sink(m32["abc"]); // $ ir MISSING: ast // additional emplace test cases - std::unordered_map m33; + std::unordered_map m33; sink(m33.emplace(source(), "def").first); // $ MISSING: ast,ir sink(m33); // $ MISSING: ast,ir - std::unordered_map m34, m35; - sink(m34.emplace(std::pair("abc", "def")).first); + std::unordered_map m34, m35; + sink(m34.emplace(std::pair("abc", "def")).first); sink(m34); - sink(m34.emplace(std::pair("abc", source())).first); - sink(m34); // $ ast,ir - sink(m34.emplace_hint(m34.begin(), "abc", "def")); // $ ast,ir + sink(m34.emplace(std::pair("abc", source())).first); // $ ir + sink(m34); // $ ir + sink(m34.emplace_hint(m34.begin(), "abc", "def")); // $ ir sink(m35.emplace().first); sink(m35); - sink(m35.emplace(std::pair(source(), "def")).first); // $ MISSING: ast,ir + sink(m35.emplace(std::pair(source(), "def")).first); // $ MISSING: ast,ir sink(m35); // $ MISSING: ast,ir } diff --git a/cpp/ql/test/library-tests/dataflow/taint-tests/stl.h b/cpp/ql/test/library-tests/dataflow/taint-tests/stl.h index 57be2e9769af..13674a48b6e9 100644 --- a/cpp/ql/test/library-tests/dataflow/taint-tests/stl.h +++ b/cpp/ql/test/library-tests/dataflow/taint-tests/stl.h @@ -1,28 +1,4 @@ - -typedef unsigned long size_t; - - - - - - - - - - - - - - - - - - - - - - -#include "type_traits.h" +#include "../../../include/type_traits.h" namespace std { @@ -135,6 +111,25 @@ namespace std typedef size_t size_type; }; + template + struct enable_if {}; + + template + struct enable_if { typedef T type; }; + + template + class basic_string_view; + + template + struct is_string_view_like { + static const bool value = false; + }; + + template + struct is_string_view_like> { + static const bool value = true; + }; + template, class Allocator = allocator > class basic_string { public: @@ -147,10 +142,17 @@ namespace std explicit basic_string(const Allocator& a = Allocator()); basic_string(const charT* s, const Allocator& a = Allocator()); template basic_string(InputIterator begin, InputIterator end, const Allocator& a = Allocator()); + + template::value>::type* = nullptr> + explicit basic_string(const StringViewLike&, const Allocator& = Allocator()); + + template::value>::type* = nullptr> + basic_string(const StringViewLike&, size_type, size_type, const Allocator& = Allocator()); const charT* c_str() const; charT* data() noexcept; size_t length() const; + size_t size() const; typedef std::iterator iterator; typedef std::iterator const_iterator; @@ -176,18 +178,41 @@ namespace std template basic_string& operator+=(const T& t); basic_string& operator+=(const charT* s); basic_string& append(const basic_string& str); + + template::value>::type* = nullptr> + basic_string& append(const StringViewLike&); template::value>::type* = nullptr> basic_string& append(const StringViewLike&, size_type, size_type); + basic_string& append(const charT* s); basic_string& append(size_type n, charT c); template basic_string& append(InputIterator first, InputIterator last); basic_string& assign(const basic_string& str); + + template::value>::type* = nullptr> + basic_string& assign(const StringViewLike&); template::value>::type* = nullptr> + + basic_string& assign(const StringViewLike&, size_type, size_type); + basic_string& assign(size_type n, charT c); template basic_string& assign(InputIterator first, InputIterator last); basic_string& insert(size_type pos, const basic_string& str); + + template::value>::type* = nullptr> + basic_string& insert(size_type, const StringViewLike&); template::value>::type* = nullptr> + basic_string& insert(size_type, const StringViewLike&, size_type, size_type); + basic_string& insert(size_type pos, size_type n, charT c); basic_string& insert(size_type pos, const charT* s); iterator insert(const_iterator p, size_type n, charT c); template iterator insert(const_iterator p, InputIterator first, InputIterator last); basic_string& replace(size_type pos1, size_type n1, const basic_string& str); + + template::value>::type* = nullptr> + basic_string& replace(size_type, size_type, const StringViewLike&); template::value>::type* = nullptr> + + basic_string& replace(const_iterator, const_iterator, const StringViewLike&); + + template::value>::type* = nullptr> + basic_string& replace(size_type, size_type, const StringViewLike&, size_type, size_type); basic_string& replace(size_type pos1, size_type n1, size_type n2, charT c); size_type copy(charT* s, size_type n, size_type pos = 0) const; void clear() noexcept; @@ -197,6 +222,12 @@ namespace std template basic_string operator+(const basic_string& lhs, const basic_string& rhs); template basic_string operator+(const basic_string& lhs, const charT* rhs); + + template + basic_string operator+(charT, const basic_string&); + + template + basic_string operator+(charT, basic_string&&); typedef basic_string string; } @@ -289,7 +320,9 @@ namespace std { using iterator = std::iterator; using const_iterator = std::iterator; - vector() noexcept(noexcept(Allocator())) : vector(Allocator()) { } + vector() noexcept(noexcept(Allocator())); + vector(const vector& x); + vector(vector&& x) noexcept; explicit vector(const Allocator&) noexcept; explicit vector(size_type n, const Allocator& = Allocator()); vector(size_type n, const T& value, const Allocator& = Allocator()); @@ -392,9 +425,10 @@ namespace std { T1 first; T2 second; - pair(); - pair(const T1& x, const T2& y) : first(x), second(y) {}; + pair(); pair(const pair&); pair(pair&&); pair& operator=(const pair&); pair& operator=(pair&&); + pair(const T1& x, const T2& y); template pair(const pair &p); + template pair(U&&, V&&); void swap(pair& p) /*noexcept(...)*/; }; @@ -419,6 +453,11 @@ namespace std { using const_iterator = std::iterator; map() /*: map(Compare()) { }*/; + template map(InputIt, InputIt); + + template map(InputIt, InputIt, const Compare&); + + template map(InputIt, InputIt, const Compare&, const Allocator&); map(const map& x); map(map&& x); ~map(); @@ -433,6 +472,7 @@ namespace std { T& operator[](const key_type& x); T& operator[](key_type&& x); + template T& operator[](K&& x); T& at(const key_type& x); const T& at(const key_type& x) const; @@ -441,9 +481,10 @@ namespace std { pair insert(const value_type& x); pair insert(value_type&& x); + template pair insert(P&& x); iterator insert(const_iterator position, const value_type& x); iterator insert(const_iterator position, value_type&& x); - + template iterator insert(const_iterator position, P&& x); template pair try_emplace(const key_type& k, Args&&... args); template pair try_emplace(key_type&& k, Args&&... args); template iterator try_emplace(const_iterator hint, const key_type& k, Args&&... args); @@ -650,14 +691,43 @@ namespace std { class basic_string_view { public: using size_type = size_t; + using const_iterator = const CharT*; basic_string_view() noexcept; basic_string_view(const basic_string_view&) noexcept; basic_string_view(const CharT*, size_type); basic_string_view(const CharT*); template basic_string_view(It, End); - template explicit basic_string_view(R&&); + template>>::value>::type* = nullptr> + explicit basic_string_view(R&&); basic_string_view& operator=(const basic_string_view&) noexcept; + + const_iterator begin() const; + const_iterator end() const; + const_iterator cbegin() const; + const_iterator cend() const; + const CharT& operator[](size_type) const; + const CharT& at(size_type) const; + const CharT& front() const; + const CharT& back() const; + const CharT* data() const; + void remove_prefix(size_type); + void remove_suffix(size_type); + void swap(basic_string_view&); + size_type copy(CharT*, size_type, size_type = 0) const; + basic_string_view substr(size_type = 0, size_type = -1) const; + basic_string_view subview(size_type = 0, size_type = -1) const; + + size_type size() const; + size_type length() const; + size_type max_size() const; + bool empty() const; + int compare(basic_string_view) const; + bool starts_with(basic_string_view) const; + bool ends_with(basic_string_view) const; + bool contains(basic_string_view) const; + size_type find(basic_string_view) const; + size_type rfind(basic_string_view) const; }; using string_view = basic_string_view; diff --git a/cpp/ql/test/library-tests/dataflow/taint-tests/string.cpp b/cpp/ql/test/library-tests/dataflow/taint-tests/string.cpp index 4da4d3f3fe7a..82b45da442ad 100644 --- a/cpp/ql/test/library-tests/dataflow/taint-tests/string.cpp +++ b/cpp/ql/test/library-tests/dataflow/taint-tests/string.cpp @@ -19,6 +19,7 @@ void sink(const std::string &s); void sink(const char *filename, const char *mode); void sink(char); void sink(std::string::iterator); +void sink(std::string_view); void test_string() { @@ -30,20 +31,20 @@ void test_string() sink(b); sink(c); // $ ast,ir sink(b.c_str()); - sink(c.c_str()); // $ ast,ir + sink(c.c_str()); // $ ir MISSING: ast } void test_strings2() { string path1 = user_input(); - sink(path1.c_str(), "r"); // $ ast,ir + sink(path1.c_str(), "r"); // $ ir MISSING: ast string path2; path2 = user_input(); - sink(path2.c_str(), "r"); // $ ast,ir + sink(path2.c_str(), "r"); // $ ir MISSING: ast string path3(user_input()); - sink(path3.c_str(), "r"); // $ ast,ir + sink(path3.c_str(), "r"); // $ ir MISSING: ast } void test_string3() @@ -67,7 +68,7 @@ void test_string4() // convert back std::string -> char * cs = ss.c_str(); - sink(cs); // $ ast,ir + sink(cs); // $ ir MISSING: ast sink(ss); // $ ast,ir } @@ -142,9 +143,9 @@ void test_string_append() { std::string s2(source()); sink(s1 + s1); - sink(s1 + s2); // $ ast,ir - sink(s2 + s1); // $ ast,ir - sink(s2 + s2); // $ ast,ir + sink(s1 + s2); // $ ir MISSING: ast + sink(s2 + s1); // $ ir MISSING: ast + sink(s2 + s2); // $ ir MISSING: ast sink(s1 + " world"); sink(s1 + source()); // $ ast,ir @@ -156,25 +157,25 @@ void test_string_append() { std::string s5, s6, s7, s8, s9; s5 = s3 + s4; - sink(s5); // $ ast,ir + sink(s5); // $ ir MISSING: ast s6 = s3; - sink(s6 += s4); // $ ast,ir - sink(s6); // $ ast,ir + sink(s6 += s4); // $ ir MISSING: ast + sink(s6); // $ ir MISSING: ast s7 = s3; sink(s7 += source()); // $ ast,ir - sink(s7 += " "); // $ ast,ir - sink(s7); // $ ast,ir + sink(s7 += " "); // $ ir MISSING: ast + sink(s7); // $ ir MISSING: ast s8 = s3; s8.append(s4); - sink(s8); // $ ast,ir + sink(s8); // $ ir MISSING: ast s9 = s3; s9.append(source()); s9.append(" "); - sink(s9); // $ ast,ir + sink(s9); // $ ir MISSING: ast } { @@ -182,7 +183,7 @@ void test_string_append() { char c = ns_char::source(); s10.append(1, c); - sink(s10); // $ ast,ir + sink(s10); // $ ir MISSING: ast } } @@ -196,14 +197,14 @@ void test_string_assign() { sink(s3.assign(s1)); sink(s3); - sink(s4.assign(s2)); // $ ast,ir - sink(s4); // $ ast,ir + sink(s4.assign(s2)); // $ ir MISSING: ast + sink(s4); // $ ir MISSING: ast - sink(s5.assign(10, c)); // $ ast,ir - sink(s5); // $ ast,ir + sink(s5.assign(10, c)); // $ ir MISSING: ast + sink(s5); // $ ir MISSING: ast sink(s6.assign(s1)); - sink(s6); // $ SPURIOUS: ast + sink(s6); // $ SPURIOUS: ast,ir } void test_string_insert() { @@ -217,16 +218,16 @@ void test_string_insert() { sink(s3); s4 = s2; - sink(s4.insert(0, s1)); // $ ast,ir + sink(s4.insert(0, s1)); // $ ir MISSING: ast sink(s4); // $ ast,ir s5 = s1; - sink(s5.insert(0, s2)); // $ ast,ir - sink(s5); // $ ast,ir + sink(s5.insert(0, s2)); // $ ir MISSING: ast + sink(s5); // $ ir MISSING: ast s6 = s1; - sink(s6.insert(0, 10, c)); // $ ast,ir - sink(s6); // $ ast,ir + sink(s6.insert(0, 10, c)); // $ ir MISSING: ast + sink(s6); // $ ir MISSING: ast } void test_string_replace() { @@ -240,16 +241,16 @@ void test_string_replace() { sink(s3); s4 = s2; - sink(s4.replace(1, 2, s1)); // $ ast,ir + sink(s4.replace(1, 2, s1)); // $ ir MISSING: ast sink(s4); // $ ast,ir s5 = s1; - sink(s5.replace(1, 2, s2)); // $ ast,ir - sink(s5); // $ ast,ir + sink(s5.replace(1, 2, s2)); // $ ir MISSING: ast + sink(s5); // $ ir MISSING: ast s6 = s1; - sink(s6.replace(1, 2, 10, c)); // $ ast,ir - sink(s6); // $ ast,ir + sink(s6.replace(1, 2, 10, c)); // $ ir MISSING: ast + sink(s6); // $ ir MISSING: ast } void test_string_copy() { @@ -262,7 +263,7 @@ void test_string_copy() { sink(b1); s2.copy(b2, s1.length(), 0); - sink(b2); // $ ast,ir + sink(b2); // $ ir MISSING: ast } void test_string_swap() { @@ -309,7 +310,7 @@ void test_string_data() std::string b(source()); sink(a.data()); - sink(b.data()); // $ ast,ir + sink(b.data()); // $ ir MISSING: ast sink(a.length()); sink(b.length()); } @@ -320,7 +321,7 @@ void test_string_substr() std::string b(source()); sink(a.substr(0, a.length())); - sink(b.substr(0, b.length())); // $ ast,ir + sink(b.substr(0, b.length())); // $ ir MISSING: ast } void test_string_at() @@ -337,9 +338,9 @@ void test_string_at() b.at(0) = ns_char::source(); c[0] = a[0]; - sink(a); // $ ast,ir - sink(b); // $ ast,ir - sink(c); // $ ast,ir + sink(a); // $ ir MISSING: ast + sink(b); // $ ir MISSING: ast + sink(c); // $ ir MISSING: ast } void test_string_data_more() @@ -347,8 +348,8 @@ void test_string_data_more() std::string str("123"); str.data()[1] = ns_char::source(); - sink(str); // $ ast,ir - sink(str.data()); // $ ast,ir + sink(str); // $ ir MISSING: ast + sink(str.data()); // $ ir MISSING: ast } void test_string_iterators() { @@ -360,8 +361,8 @@ void test_string_iterators() { std::string s4("world"); sink(s1); - sink(s1.append(s2.begin(), s2.end())); // $ ast,ir - sink(s1); // $ ast,ir + sink(s1.append(s2.begin(), s2.end())); // $ ir MISSING: ast + sink(s1); // $ ir MISSING: ast sink(s3); sink(s3.append(s4.begin(), s4.end())); @@ -433,8 +434,8 @@ void test_string_insert_more() sink(s1.insert(0, cs1)); sink(s1); - sink(s2.insert(0, cs2)); // $ ast,ir - sink(s2); // $ ast,ir + sink(s2.insert(0, cs2)); // $ ir MISSING: ast + sink(s2); // $ ir MISSING: ast } void test_string_iterator_methods() @@ -446,8 +447,8 @@ void test_string_iterator_methods() sink(a.insert(a.begin(), 10, 'x')); sink(a); - sink(b.insert(b.begin(), 10, ns_char::source())); // $ ast,ir - sink(b); // $ ast,ir + sink(b.insert(b.begin(), 10, ns_char::source())); // $ ir MISSING: ast + sink(b); // $ ir MISSING: ast } { @@ -459,10 +460,10 @@ void test_string_iterator_methods() sink(c.insert(c.end(), s1.begin(), s1.end())); sink(c); - sink(d.insert(d.end(), s2.begin(), s2.end())); // $ ast,ir - sink(d); // $ ast,ir + sink(d.insert(d.end(), s2.begin(), s2.end())); // $ ir MISSING: ast + sink(d); // $ ir MISSING: ast - sink(s2.insert(s2.end(), s1.begin(), s1.end())); // $ ast,ir + sink(s2.insert(s2.end(), s1.begin(), s1.end())); // $ ir MISSING: ast sink(s2); // $ ast,ir } @@ -475,10 +476,10 @@ void test_string_iterator_methods() sink(e.append(s3.begin(), s3.end())); sink(e); - sink(f.append(s4.begin(), s4.end())); // $ ast,ir - sink(f); // $ ast,ir + sink(f.append(s4.begin(), s4.end())); // $ ir MISSING: ast + sink(f); // $ ir MISSING: ast - sink(s4.append(s3.begin(), s3.end())); // $ ast,ir + sink(s4.append(s3.begin(), s3.end())); // $ ir MISSING: ast sink(s4); // $ ast,ir } @@ -491,11 +492,11 @@ void test_string_iterator_methods() sink(g.assign(s5.cbegin(), s5.cend())); sink(g); - sink(h.assign(s6.cbegin(), s6.cend())); // $ ast,ir - sink(h); // $ ast,ir + sink(h.assign(s6.cbegin(), s6.cend())); // $ ir MISSING: ast + sink(h); // $ ir MISSING: ast sink(s6.assign(s5.cbegin(), s5.cend())); - sink(s6); // $ SPURIOUS: ast + sink(s6); // $ SPURIOUS: ast,ir } } @@ -510,7 +511,7 @@ void test_string_constructors_more() { sink(s1); sink(s2); // $ ast,ir sink(s3); - sink(s4); // $ ast,ir + sink(s4); // $ ir MISSING: ast } void test_string_front_back() { @@ -519,8 +520,8 @@ void test_string_front_back() { sink(a.front()); sink(a.back()); a.push_back(ns_char::source()); - sink(a.front()); // $ SPURIOUS: ast,ir - sink(a.back()); // $ ast,ir + sink(a.front()); // $ SPURIOUS: ir + sink(a.back()); // $ ir MISSING: ast } void test_string_return_assign() { @@ -533,15 +534,15 @@ void test_string_return_assign() { std::string f("ff"); sink( a += (b += "bb") ); - sink( c += (d += source()) ); // $ ast,ir + sink( c += (d += source()) ); // $ ir MISSING: ast sink( (e += "ee") += source() ); // $ ast,ir - sink( (f += source()) += "ff" ); // $ ast,ir + sink( (f += source()) += "ff" ); // $ ir MISSING: ast sink(a); sink(b); - sink(c); // $ ast,ir - sink(d); // $ ast,ir - sink(e); // $ ast,ir - sink(f); // $ ast,ir + sink(c); // $ ir MISSING: ast + sink(d); // $ ir MISSING: ast + sink(e); // $ ir MISSING: ast + sink(f); // $ ir MISSING: ast } { @@ -553,14 +554,187 @@ void test_string_return_assign() { std::string f("ff"); sink( a.assign(b.assign("bb")) ); - sink( c.assign(d.assign(source())) ); // $ ast,ir - sink( e.assign("ee").assign(source()) ); // $ ast,ir + sink( c.assign(d.assign(source())) ); // $ ir MISSING: ast + sink( e.assign("ee").assign(source()) ); // $ ir MISSING: ast sink( f.assign(source()).assign("ff") ); sink(a); sink(b); - sink(c); // $ ast,ir - sink(d); // $ ast,ir - sink(e); // $ ast,ir - sink(f); // $ SPURIOUS: ast,ir + sink(c); // $ ir MISSING: ast + sink(d); // $ ir MISSING: ast + sink(e); // $ ir MISSING: ast + sink(f); // $ SPURIOUS: ir + } +} + +namespace ns_string_view { + std::string_view source(); +} + +void test_string_view_like() { + std::string_view view = ns_string_view::source(); + std::string constructed(view), sliced(view, 0, 1); + sink(constructed); // $ ir + sink(sliced); // $ ir + + std::string assigned, appended, inserted, replaced; + sink(assigned.assign(view)); // $ ir + sink(appended.append(view, 0, 1)); // $ ir + sink(inserted.insert(0, view)); // $ ir + sink(replaced.replace(0, 0, view)); // $ ir + + char tainted = ns_char::source(); + sink(tainted + std::string("clean")); // $ ir +} + +namespace string_view_tests { + +namespace iterators { +struct Iterator {}; +Iterator source(); +} + +namespace ranges { + struct Range {}; + Range source(); +} + +void constructors() { + const char* data = source(); + std::string_view terminated(data); + sink(terminated); // $ ast,ir + sink(terminated.data()); // $ ir MISSING: ast + + std::string_view counted(data, 5); + sink(counted); // $ ir MISSING: ast + sink(counted.data()); // $ ir MISSING: ast + + std::string_view iterators(data, data + 5); + sink(iterators); // $ ir MISSING: ast +} + +void copy_and_assignment() { + const auto original = ns_string_view::source(); + std::string_view copied(original); + sink(copied); // $ ast,ir + sink(copied.data()); // $ ir MISSING: ast + std::string_view moved(static_cast(original)); + sink(moved); // $ ast,ir + + std::string_view assigned; + sink(assigned = original); // $ ast,ir + sink(assigned); // $ ast,ir + + const std::string_view clean; + std::string_view chained; + (chained = clean) = original; + sink(chained); // $ ir MISSING: ast + + copied = clean; + sink(copied); // $ SPURIOUS: ast +} + +void iterator_and_range_constructors() { + iterators::Iterator it = iterators::source(); + std::string_view iterators(it, it); + sink(iterators); // $ ir MISSING: ast + + ranges::Range range = ranges::source(); + std::string_view from_range(range); + sink(from_range); // $ ir MISSING: ast + + std::vector container; + container.push_back(ns_char::source()); + std::string_view from_container(container); + sink(from_container); // $ MISSING: ir + std::string_view from_container_iterators(container.begin(), container.end()); + sink(from_container_iterators); // $ MISSING: ir +} + +void accessors() { + auto view = ns_string_view::source(); + sink(view.data()); // $ ir MISSING: ast + sink(view[0]); // $ ir MISSING: ast + sink(view.at(0)); // $ ir MISSING: ast + sink(view.front()); // $ ir MISSING: ast + sink(view.back()); // $ ir MISSING: ast + sink(*view.begin()); // $ ast,ir + sink(*view.cbegin()); // $ ast,ir +} + +void trimming() { + auto prefix = ns_string_view::source(); + prefix.remove_prefix(1); + sink(prefix); // $ ast,ir + sink(prefix.data()); // $ ir MISSING: ast + + auto suffix = ns_string_view::source(); + suffix.remove_suffix(1); + sink(suffix); // $ ast,ir + sink(suffix.data()); // $ ir MISSING: ast +} + +void operations() { + auto view = ns_string_view::source(); + sink(view.substr(1, 2)); // $ ir MISSING: ast + sink(view.subview(1, 2)); // $ ir MISSING: ast + + char buffer[10] = {}; + sink(view.copy(buffer, 2)); + sink(buffer); // $ ir MISSING: ast + + std::string_view clean; + view.swap(clean); + sink(view); // $ SPURIOUS: ast + sink(clean); // $ ir MISSING: ast +} +} + +void test_string_reverse_flow() { + { + std::string s("aa"); + (s = "bb") += source(); + sink(s); // $ ir MISSING: ast + } + + { + std::string s("aa"); + s.front() = ns_char::source(); + sink(s); // $ ir MISSING: ast + } + + { + std::string s("aa"); + s.back() = ns_char::source(); + sink(s); // $ ir MISSING: ast + } + + { + std::string s("aa"); + s.data()[0] = ns_char::source(); + sink(s); // $ ir MISSING: ast + } + + { + std::string s("aa"); + s.insert(0, "bb") = source(); + sink(s); // $ ir MISSING: ast + } + + { + std::string s("aa"); + s.append("bb") = source(); + sink(s); // $ ir MISSING: ast + } + + { + std::string s("aa"); + (s += "bb") = source(); + sink(s); // $ ir MISSING: ast + } + + { + std::string s("aa"); + s.replace(0, 1, "bb") = source(); + sink(s); // $ ir MISSING: ast } } diff --git a/cpp/ql/test/library-tests/dataflow/taint-tests/test_mad-signatures.expected b/cpp/ql/test/library-tests/dataflow/taint-tests/test_mad-signatures.expected index f2339b9a5084..bbefccb7b812 100644 --- a/cpp/ql/test/library-tests/dataflow/taint-tests/test_mad-signatures.expected +++ b/cpp/ql/test/library-tests/dataflow/taint-tests/test_mad-signatures.expected @@ -97,44 +97,320 @@ signatureMatches | atl.cpp:1333:13:1333:21 | operator= | Microsoft::WRL | (const ComPtr &) | ComPtr | operator= | 0 | | atl.cpp:1334:13:1334:21 | operator= | Microsoft::WRL | (ComPtr &&) | ComPtr | operator= | 0 | | atl.cpp:1336:13:1336:21 | operator= | Microsoft::WRL | (ComPtr &&) | ComPtr | operator= | 0 | -| stl.h:294:12:294:17 | vector | std | (const vector &,const Allocator &) | vector | vector | 1 | -| stl.h:294:12:294:17 | vector | std | (const vector &,const Allocator &) | vector | vector | 1 | -| stl.h:294:12:294:17 | vector | std | (const vector &,const Allocator &) | vector | vector | 1 | -| stl.h:294:12:294:17 | vector | std | (vector &&,const Allocator &) | vector | vector | 1 | -| stl.h:294:12:294:17 | vector | std | (vector &&,const Allocator &) | vector | vector | 1 | -| stl.h:294:12:294:17 | vector | std | (vector &&,const Allocator &) | vector | vector | 1 | -| stl.h:295:3:295:8 | vector | std | (InputIterator,InputIterator,const Allocator &) | vector | vector | 2 | -| stl.h:295:3:295:8 | vector | std | (InputIterator,InputIterator,const Allocator &) | vector | vector | 2 | -| stl.h:295:3:295:8 | vector | std | (size_type,const T &,const Allocator &) | vector | vector | 0 | -| stl.h:295:3:295:8 | vector | std | (size_type,const T &,const Allocator &) | vector | vector | 0 | -| stl.h:295:3:295:8 | vector | std | (size_type,const T &,const Allocator &) | vector | vector | 1 | -| stl.h:295:3:295:8 | vector | std | (size_type,const T &,const Allocator &) | vector | vector | 1 | -| stl.h:295:3:295:8 | vector | std | (size_type,const T &,const Allocator &) | vector | vector | 2 | -| stl.h:295:3:295:8 | vector | std | (size_type,const T &,const Allocator &) | vector | vector | 2 | -| stl.h:296:101:296:106 | vector | std | (InputIterator,InputIterator,const Allocator &) | vector | vector | 0 | -| stl.h:296:101:296:106 | vector | std | (InputIterator,InputIterator,const Allocator &) | vector | vector | 1 | -| stl.h:296:101:296:106 | vector | std | (InputIterator,InputIterator,const Allocator &) | vector | vector | 2 | -| stl.h:296:101:296:106 | vector | std | (size_type,const T &,const Allocator &) | vector | vector | 2 | -| stl.h:303:106:303:111 | assign | std | (InputIt,InputIt) | vector | assign | 0 | -| stl.h:303:106:303:111 | assign | std | (InputIt,InputIt) | vector | assign | 1 | -| stl.h:306:8:306:13 | assign | std | (size_type,const T &) | vector | assign | 0 | -| stl.h:306:8:306:13 | assign | std | (size_type,const T &) | vector | assign | 0 | -| stl.h:306:8:306:13 | assign | std | (size_type,const T &) | vector | assign | 0 | -| stl.h:306:8:306:13 | assign | std | (size_type,const T &) | vector | assign | 1 | -| stl.h:306:8:306:13 | assign | std | (size_type,const T &) | vector | assign | 1 | -| stl.h:306:8:306:13 | assign | std | (size_type,const T &) | vector | assign | 1 | -| stl.h:331:12:331:17 | insert | std | (const_iterator,T &&) | vector | insert | 0 | -| stl.h:331:12:331:17 | insert | std | (const_iterator,T &&) | vector | insert | 1 | -| stl.h:333:42:333:47 | insert | std | (const_iterator,InputIt,InputIt) | vector | insert | 0 | -| stl.h:333:42:333:47 | insert | std | (const_iterator,InputIt,InputIt) | vector | insert | 0 | -| stl.h:333:42:333:47 | insert | std | (const_iterator,InputIt,InputIt) | vector | insert | 1 | -| stl.h:333:42:333:47 | insert | std | (const_iterator,InputIt,InputIt) | vector | insert | 1 | -| stl.h:333:42:333:47 | insert | std | (const_iterator,InputIt,InputIt) | vector | insert | 2 | -| stl.h:333:42:333:47 | insert | std | (const_iterator,InputIt,InputIt) | vector | insert | 2 | -| stl.h:678:33:678:38 | format | std | (format_string,Args &&) | | format | 0 | -| stl.h:678:33:678:38 | format | std | (format_string,Args &&) | | format | 0 | -| stl.h:678:33:678:38 | format | std | (format_string,Args &&) | | format | 1 | -| stl.h:678:33:678:38 | format | std | (format_string,Args &&) | | format | 1 | +| stl.h:167:3:167:14 | basic_string | std | (basic_string &&,const Allocator &) | basic_string | basic_string | 1 | +| stl.h:167:3:167:14 | basic_string | std | (const CharT *,const Allocator &) | basic_string | basic_string | 0 | +| stl.h:167:3:167:14 | basic_string | std | (const CharT *,const Allocator &) | basic_string | basic_string | 1 | +| stl.h:167:3:167:14 | basic_string | std | (const StringViewLike &,const Allocator &) | basic_string | basic_string | 1 | +| stl.h:167:3:167:14 | basic_string | std | (const basic_string &,const Allocator &) | basic_string | basic_string | 1 | +| stl.h:168:33:168:44 | basic_string | std | (InputIt,InputIt,const Allocator &) | basic_string | basic_string | 0 | +| stl.h:168:33:168:44 | basic_string | std | (InputIt,InputIt,const Allocator &) | basic_string | basic_string | 1 | +| stl.h:168:33:168:44 | basic_string | std | (InputIt,InputIt,const Allocator &) | basic_string | basic_string | 2 | +| stl.h:168:33:168:44 | basic_string | std | (basic_string &&,size_type,const Allocator &) | basic_string | basic_string | 2 | +| stl.h:168:33:168:44 | basic_string | std | (const CharT *,size_type,const Allocator &) | basic_string | basic_string | 2 | +| stl.h:168:33:168:44 | basic_string | std | (const basic_string &,size_type,const Allocator &) | basic_string | basic_string | 2 | +| stl.h:168:33:168:44 | basic_string | std | (size_type,CharT,const Allocator &) | basic_string | basic_string | 2 | +| stl.h:171:12:171:23 | basic_string | std | (basic_string &&,const Allocator &) | basic_string | basic_string | 1 | +| stl.h:171:12:171:23 | basic_string | std | (const CharT *,const Allocator &) | basic_string | basic_string | 1 | +| stl.h:171:12:171:23 | basic_string | std | (const StringViewLike &,const Allocator &) | basic_string | basic_string | 0 | +| stl.h:171:12:171:23 | basic_string | std | (const StringViewLike &,const Allocator &) | basic_string | basic_string | 1 | +| stl.h:171:12:171:23 | basic_string | std | (const basic_string &,const Allocator &) | basic_string | basic_string | 1 | +| stl.h:174:3:174:14 | basic_string | std | (basic_string &&,size_type,size_type,const Allocator &) | basic_string | basic_string | 1 | +| stl.h:174:3:174:14 | basic_string | std | (basic_string &&,size_type,size_type,const Allocator &) | basic_string | basic_string | 2 | +| stl.h:174:3:174:14 | basic_string | std | (basic_string &&,size_type,size_type,const Allocator &) | basic_string | basic_string | 3 | +| stl.h:174:3:174:14 | basic_string | std | (const StringViewLike &,size_type,size_type,const Allocator &) | basic_string | basic_string | 0 | +| stl.h:174:3:174:14 | basic_string | std | (const StringViewLike &,size_type,size_type,const Allocator &) | basic_string | basic_string | 1 | +| stl.h:174:3:174:14 | basic_string | std | (const StringViewLike &,size_type,size_type,const Allocator &) | basic_string | basic_string | 2 | +| stl.h:174:3:174:14 | basic_string | std | (const StringViewLike &,size_type,size_type,const Allocator &) | basic_string | basic_string | 3 | +| stl.h:174:3:174:14 | basic_string | std | (const basic_string &,size_type,size_type,const Allocator &) | basic_string | basic_string | 1 | +| stl.h:174:3:174:14 | basic_string | std | (const basic_string &,size_type,size_type,const Allocator &) | basic_string | basic_string | 2 | +| stl.h:174:3:174:14 | basic_string | std | (const basic_string &,size_type,size_type,const Allocator &) | basic_string | basic_string | 3 | +| stl.h:190:8:190:16 | push_back | std | (CharT) | basic_string | push_back | 0 | +| stl.h:201:35:201:44 | operator+= | std | (const StringViewLike &) | basic_string | operator+= | 0 | +| stl.h:201:35:201:44 | operator+= | std | (const StringViewLike &) | basic_string | operator+= | 0 | +| stl.h:202:17:202:26 | operator+= | std | (const CharT *) | basic_string | operator+= | 0 | +| stl.h:203:17:203:22 | append | std | (const basic_string &) | basic_string | append | 0 | +| stl.h:206:174:206:179 | append | std | (const StringViewLike &,size_type,size_type) | basic_string | append | 0 | +| stl.h:206:174:206:179 | append | std | (const StringViewLike &,size_type,size_type) | basic_string | append | 1 | +| stl.h:206:174:206:179 | append | std | (const StringViewLike &,size_type,size_type) | basic_string | append | 2 | +| stl.h:206:174:206:179 | append | std | (const basic_string &,size_type,size_type) | basic_string | append | 1 | +| stl.h:206:174:206:179 | append | std | (const basic_string &,size_type,size_type) | basic_string | append | 2 | +| stl.h:208:17:208:22 | append | std | (const CharT *) | basic_string | append | 0 | +| stl.h:209:17:209:22 | append | std | (size_type,CharT) | basic_string | append | 0 | +| stl.h:209:17:209:22 | append | std | (size_type,CharT) | basic_string | append | 1 | +| stl.h:210:47:210:52 | append | std | (InputIt,InputIt) | basic_string | append | 0 | +| stl.h:210:47:210:52 | append | std | (InputIt,InputIt) | basic_string | append | 1 | +| stl.h:211:17:211:22 | assign | std | (const basic_string &) | basic_string | assign | 0 | +| stl.h:214:17:214:22 | assign | std | (const StringViewLike &) | basic_string | assign | 0 | +| stl.h:218:17:218:22 | assign | std | (size_type,CharT) | basic_string | assign | 0 | +| stl.h:218:17:218:22 | assign | std | (size_type,CharT) | basic_string | assign | 1 | +| stl.h:219:47:219:52 | assign | std | (InputIt,InputIt) | basic_string | assign | 0 | +| stl.h:219:47:219:52 | assign | std | (InputIt,InputIt) | basic_string | assign | 1 | +| stl.h:220:17:220:22 | insert | std | (size_type,const basic_string &) | basic_string | insert | 0 | +| stl.h:220:17:220:22 | insert | std | (size_type,const basic_string &) | basic_string | insert | 1 | +| stl.h:223:17:223:22 | insert | std | (size_type,const StringViewLike &) | basic_string | insert | 0 | +| stl.h:223:17:223:22 | insert | std | (size_type,const StringViewLike &) | basic_string | insert | 1 | +| stl.h:226:17:226:22 | insert | std | (const_iterator,size_type,CharT) | basic_string | insert | 1 | +| stl.h:226:17:226:22 | insert | std | (const_iterator,size_type,CharT) | basic_string | insert | 2 | +| stl.h:226:17:226:22 | insert | std | (iterator,size_type,CharT) | basic_string | insert | 1 | +| stl.h:226:17:226:22 | insert | std | (iterator,size_type,CharT) | basic_string | insert | 2 | +| stl.h:226:17:226:22 | insert | std | (size_type,size_type,CharT) | basic_string | insert | 0 | +| stl.h:226:17:226:22 | insert | std | (size_type,size_type,CharT) | basic_string | insert | 1 | +| stl.h:226:17:226:22 | insert | std | (size_type,size_type,CharT) | basic_string | insert | 2 | +| stl.h:227:17:227:22 | insert | std | (size_type,const CharT *) | basic_string | insert | 0 | +| stl.h:227:17:227:22 | insert | std | (size_type,const CharT *) | basic_string | insert | 1 | +| stl.h:228:12:228:17 | insert | std | (const_iterator,size_type,CharT) | basic_string | insert | 0 | +| stl.h:228:12:228:17 | insert | std | (const_iterator,size_type,CharT) | basic_string | insert | 1 | +| stl.h:228:12:228:17 | insert | std | (const_iterator,size_type,CharT) | basic_string | insert | 2 | +| stl.h:228:12:228:17 | insert | std | (iterator,size_type,CharT) | basic_string | insert | 1 | +| stl.h:228:12:228:17 | insert | std | (iterator,size_type,CharT) | basic_string | insert | 2 | +| stl.h:228:12:228:17 | insert | std | (size_type,size_type,CharT) | basic_string | insert | 1 | +| stl.h:228:12:228:17 | insert | std | (size_type,size_type,CharT) | basic_string | insert | 2 | +| stl.h:229:42:229:47 | insert | std | (const_iterator,InputIt,InputIt) | basic_string | insert | 0 | +| stl.h:229:42:229:47 | insert | std | (const_iterator,InputIt,InputIt) | basic_string | insert | 1 | +| stl.h:229:42:229:47 | insert | std | (const_iterator,InputIt,InputIt) | basic_string | insert | 2 | +| stl.h:229:42:229:47 | insert | std | (iterator,InputIt,InputIt) | basic_string | insert | 1 | +| stl.h:229:42:229:47 | insert | std | (iterator,InputIt,InputIt) | basic_string | insert | 2 | +| stl.h:230:17:230:23 | replace | std | (const_iterator,const_iterator,const basic_string &) | basic_string | replace | 2 | +| stl.h:230:17:230:23 | replace | std | (size_type,size_type,const basic_string &) | basic_string | replace | 0 | +| stl.h:230:17:230:23 | replace | std | (size_type,size_type,const basic_string &) | basic_string | replace | 1 | +| stl.h:230:17:230:23 | replace | std | (size_type,size_type,const basic_string &) | basic_string | replace | 2 | +| stl.h:233:17:233:23 | replace | std | (const_iterator,const_iterator,const StringViewLike &) | basic_string | replace | 2 | +| stl.h:233:17:233:23 | replace | std | (size_type,size_type,const StringViewLike &) | basic_string | replace | 0 | +| stl.h:233:17:233:23 | replace | std | (size_type,size_type,const StringViewLike &) | basic_string | replace | 1 | +| stl.h:233:17:233:23 | replace | std | (size_type,size_type,const StringViewLike &) | basic_string | replace | 2 | +| stl.h:239:17:239:23 | replace | std | (const_iterator,const_iterator,size_type,CharT) | basic_string | replace | 2 | +| stl.h:239:17:239:23 | replace | std | (const_iterator,const_iterator,size_type,CharT) | basic_string | replace | 3 | +| stl.h:239:17:239:23 | replace | std | (size_type,size_type,size_type,CharT) | basic_string | replace | 0 | +| stl.h:239:17:239:23 | replace | std | (size_type,size_type,size_type,CharT) | basic_string | replace | 1 | +| stl.h:239:17:239:23 | replace | std | (size_type,size_type,size_type,CharT) | basic_string | replace | 2 | +| stl.h:239:17:239:23 | replace | std | (size_type,size_type,size_type,CharT) | basic_string | replace | 3 | +| stl.h:246:94:246:102 | operator+ | std | (CharT,const basic_string &) | | operator+ | 1 | +| stl.h:246:94:246:102 | operator+ | std | (basic_string &&,const basic_string &) | | operator+ | 1 | +| stl.h:246:94:246:102 | operator+ | std | (const CharT *,const basic_string &) | | operator+ | 1 | +| stl.h:246:94:246:102 | operator+ | std | (const basic_string &,const basic_string &) | | operator+ | 0 | +| stl.h:246:94:246:102 | operator+ | std | (const basic_string &,const basic_string &) | | operator+ | 1 | +| stl.h:247:94:247:102 | operator+ | std | (basic_string &&,const CharT *) | | operator+ | 1 | +| stl.h:247:94:247:102 | operator+ | std | (const basic_string &,const CharT *) | | operator+ | 0 | +| stl.h:247:94:247:102 | operator+ | std | (const basic_string &,const CharT *) | | operator+ | 1 | +| stl.h:253:41:253:49 | operator+ | std | (CharT,basic_string &&) | | operator+ | 0 | +| stl.h:253:41:253:49 | operator+ | std | (CharT,basic_string &&) | | operator+ | 1 | +| stl.h:253:41:253:49 | operator+ | std | (basic_string &&,basic_string &&) | | operator+ | 1 | +| stl.h:253:41:253:49 | operator+ | std | (const CharT *,basic_string &&) | | operator+ | 1 | +| stl.h:253:41:253:49 | operator+ | std | (const basic_string &,basic_string &&) | | operator+ | 1 | +| stl.h:348:12:348:17 | vector | std | (const vector &,const Allocator &) | vector | vector | 1 | +| stl.h:348:12:348:17 | vector | std | (const vector &,const Allocator &) | vector | vector | 1 | +| stl.h:348:12:348:17 | vector | std | (const vector &,const Allocator &) | vector | vector | 1 | +| stl.h:348:12:348:17 | vector | std | (vector &&,const Allocator &) | vector | vector | 1 | +| stl.h:348:12:348:17 | vector | std | (vector &&,const Allocator &) | vector | vector | 1 | +| stl.h:348:12:348:17 | vector | std | (vector &&,const Allocator &) | vector | vector | 1 | +| stl.h:349:3:349:8 | vector | std | (InputIterator,InputIterator,const Allocator &) | vector | vector | 2 | +| stl.h:349:3:349:8 | vector | std | (InputIterator,InputIterator,const Allocator &) | vector | vector | 2 | +| stl.h:349:3:349:8 | vector | std | (size_type,const T &,const Allocator &) | vector | vector | 0 | +| stl.h:349:3:349:8 | vector | std | (size_type,const T &,const Allocator &) | vector | vector | 0 | +| stl.h:349:3:349:8 | vector | std | (size_type,const T &,const Allocator &) | vector | vector | 1 | +| stl.h:349:3:349:8 | vector | std | (size_type,const T &,const Allocator &) | vector | vector | 1 | +| stl.h:349:3:349:8 | vector | std | (size_type,const T &,const Allocator &) | vector | vector | 2 | +| stl.h:349:3:349:8 | vector | std | (size_type,const T &,const Allocator &) | vector | vector | 2 | +| stl.h:350:101:350:106 | vector | std | (InputIterator,InputIterator,const Allocator &) | vector | vector | 0 | +| stl.h:350:101:350:106 | vector | std | (InputIterator,InputIterator,const Allocator &) | vector | vector | 1 | +| stl.h:350:101:350:106 | vector | std | (InputIterator,InputIterator,const Allocator &) | vector | vector | 2 | +| stl.h:350:101:350:106 | vector | std | (size_type,const T &,const Allocator &) | vector | vector | 2 | +| stl.h:357:106:357:111 | assign | std | (InputIt,InputIt) | vector | assign | 0 | +| stl.h:357:106:357:111 | assign | std | (InputIt,InputIt) | vector | assign | 1 | +| stl.h:360:8:360:13 | assign | std | (size_type,const T &) | vector | assign | 0 | +| stl.h:360:8:360:13 | assign | std | (size_type,const T &) | vector | assign | 0 | +| stl.h:360:8:360:13 | assign | std | (size_type,const T &) | vector | assign | 0 | +| stl.h:360:8:360:13 | assign | std | (size_type,const T &) | vector | assign | 1 | +| stl.h:360:8:360:13 | assign | std | (size_type,const T &) | vector | assign | 1 | +| stl.h:360:8:360:13 | assign | std | (size_type,const T &) | vector | assign | 1 | +| stl.h:385:12:385:17 | insert | std | (const_iterator,T &&) | vector | insert | 0 | +| stl.h:385:12:385:17 | insert | std | (const_iterator,T &&) | vector | insert | 1 | +| stl.h:387:42:387:47 | insert | std | (const_iterator,InputIt,InputIt) | vector | insert | 0 | +| stl.h:387:42:387:47 | insert | std | (const_iterator,InputIt,InputIt) | vector | insert | 0 | +| stl.h:387:42:387:47 | insert | std | (const_iterator,InputIt,InputIt) | vector | insert | 1 | +| stl.h:387:42:387:47 | insert | std | (const_iterator,InputIt,InputIt) | vector | insert | 1 | +| stl.h:387:42:387:47 | insert | std | (const_iterator,InputIt,InputIt) | vector | insert | 2 | +| stl.h:387:42:387:47 | insert | std | (const_iterator,InputIt,InputIt) | vector | insert | 2 | +| stl.h:389:37:389:43 | emplace | std | (const_iterator,Args &&) | vector | emplace | 0 | +| stl.h:389:37:389:43 | emplace | std | (const_iterator,Args &&) | vector | emplace | 1 | +| stl.h:390:33:390:44 | emplace_back | std | (Args &&) | vector | emplace_back | 0 | +| stl.h:449:11:449:14 | pair | std | (const pair &) | pair | pair | 0 | +| stl.h:449:50:449:58 | operator= | std | (const pair &) | pair | operator= | 0 | +| stl.h:449:80:449:88 | operator= | std | (pair &&) | pair | operator= | 0 | +| stl.h:450:3:450:6 | pair | std | (const T1 &,const T2 &) | pair | pair | 0 | +| stl.h:450:3:450:6 | pair | std | (const T1 &,const T2 &) | pair | pair | 1 | +| stl.h:451:30:451:33 | pair | std | (const pair &) | pair | pair | 0 | +| stl.h:451:30:451:33 | pair | std | (const pair &) | pair | pair | 0 | +| stl.h:451:30:451:33 | pair | std | (const pair &) | pair | pair | 0 | +| stl.h:451:30:451:33 | pair | std | (const pair &) | pair | pair | 0 | +| stl.h:451:30:451:33 | pair | std | (const pair &) | pair | pair | 0 | +| stl.h:451:30:451:33 | pair | std | (const pair &) | pair | pair | 0 | +| stl.h:451:30:451:33 | pair | std | (const pair &) | pair | pair | 0 | +| stl.h:451:30:451:33 | pair | std | (const pair &) | pair | pair | 0 | +| stl.h:451:30:451:33 | pair | std | (const pair &) | pair | pair | 0 | +| stl.h:451:30:451:33 | pair | std | (const pair &) | pair | pair | 0 | +| stl.h:452:30:452:33 | pair | std | (U1 &&,U2 &&) | pair | pair | 0 | +| stl.h:452:30:452:33 | pair | std | (U1 &&,U2 &&) | pair | pair | 0 | +| stl.h:452:30:452:33 | pair | std | (U1 &&,U2 &&) | pair | pair | 0 | +| stl.h:452:30:452:33 | pair | std | (U1 &&,U2 &&) | pair | pair | 0 | +| stl.h:452:30:452:33 | pair | std | (U1 &&,U2 &&) | pair | pair | 0 | +| stl.h:452:30:452:33 | pair | std | (U1 &&,U2 &&) | pair | pair | 0 | +| stl.h:452:30:452:33 | pair | std | (U1 &&,U2 &&) | pair | pair | 0 | +| stl.h:452:30:452:33 | pair | std | (U1 &&,U2 &&) | pair | pair | 0 | +| stl.h:452:30:452:33 | pair | std | (U1 &&,U2 &&) | pair | pair | 0 | +| stl.h:452:30:452:33 | pair | std | (U1 &&,U2 &&) | pair | pair | 0 | +| stl.h:452:30:452:33 | pair | std | (U1 &&,U2 &&) | pair | pair | 0 | +| stl.h:452:30:452:33 | pair | std | (U1 &&,U2 &&) | pair | pair | 1 | +| stl.h:452:30:452:33 | pair | std | (U1 &&,U2 &&) | pair | pair | 1 | +| stl.h:452:30:452:33 | pair | std | (U1 &&,U2 &&) | pair | pair | 1 | +| stl.h:452:30:452:33 | pair | std | (U1 &&,U2 &&) | pair | pair | 1 | +| stl.h:452:30:452:33 | pair | std | (U1 &&,U2 &&) | pair | pair | 1 | +| stl.h:452:30:452:33 | pair | std | (U1 &&,U2 &&) | pair | pair | 1 | +| stl.h:452:30:452:33 | pair | std | (U1 &&,U2 &&) | pair | pair | 1 | +| stl.h:452:30:452:33 | pair | std | (U1 &&,U2 &&) | pair | pair | 1 | +| stl.h:452:30:452:33 | pair | std | (U1 &&,U2 &&) | pair | pair | 1 | +| stl.h:452:30:452:33 | pair | std | (U1 &&,U2 &&) | pair | pair | 1 | +| stl.h:452:30:452:33 | pair | std | (U1 &&,U2 &&) | pair | pair | 1 | +| stl.h:457:72:457:72 | make_pair | std | (T1 &&,T2 &&) | | make_pair | 0 | +| stl.h:457:72:457:72 | make_pair | std | (T1 &&,T2 &&) | | make_pair | 0 | +| stl.h:457:72:457:72 | make_pair | std | (T1 &&,T2 &&) | | make_pair | 0 | +| stl.h:457:72:457:72 | make_pair | std | (T1 &&,T2 &&) | | make_pair | 0 | +| stl.h:457:72:457:72 | make_pair | std | (T1 &&,T2 &&) | | make_pair | 0 | +| stl.h:457:72:457:72 | make_pair | std | (T1 &&,T2 &&) | | make_pair | 0 | +| stl.h:457:72:457:72 | make_pair | std | (T1 &&,T2 &&) | | make_pair | 1 | +| stl.h:457:72:457:72 | make_pair | std | (T1 &&,T2 &&) | | make_pair | 1 | +| stl.h:457:72:457:72 | make_pair | std | (T1 &&,T2 &&) | | make_pair | 1 | +| stl.h:457:72:457:72 | make_pair | std | (T1 &&,T2 &&) | | make_pair | 1 | +| stl.h:457:72:457:72 | make_pair | std | (T1 &&,T2 &&) | | make_pair | 1 | +| stl.h:457:72:457:72 | make_pair | std | (T1 &&,T2 &&) | | make_pair | 1 | +| stl.h:482:3:482:5 | map | std | (const map &) | map | map | 0 | +| stl.h:486:8:486:16 | operator= | std | (const map &) | map | operator= | 0 | +| stl.h:495:6:495:15 | operator[] | std | (key_type &&) | map | operator[] | 0 | +| stl.h:495:6:495:15 | operator[] | std | (key_type &&) | map | operator[] | 0 | +| stl.h:500:48:500:54 | emplace | std | (Args &&) | map | emplace | 0 | +| stl.h:500:48:500:54 | emplace | std | (Args &&) | map | emplace | 0 | +| stl.h:501:36:501:47 | emplace_hint | std | (const_iterator,Args &&) | map | emplace_hint | 0 | +| stl.h:501:36:501:47 | emplace_hint | std | (const_iterator,Args &&) | map | emplace_hint | 0 | +| stl.h:501:36:501:47 | emplace_hint | std | (const_iterator,Args &&) | map | emplace_hint | 1 | +| stl.h:501:36:501:47 | emplace_hint | std | (const_iterator,Args &&) | map | emplace_hint | 1 | +| stl.h:505:42:505:47 | insert | std | (P &&) | map | insert

| 0 | +| stl.h:505:42:505:47 | insert | std | (P &&) | map | insert

| 0 | +| stl.h:505:42:505:47 | insert | std | (P &&) | map | insert

| 0 | +| stl.h:508:30:508:35 | insert | std | (const_iterator,P &&) | map | insert

| 0 | +| stl.h:508:30:508:35 | insert | std | (const_iterator,P &&) | map | insert

| 1 | +| stl.h:510:48:510:58 | try_emplace | std | (Key &&,Args &&) | map | try_emplace | 0 | +| stl.h:510:48:510:58 | try_emplace | std | (Key &&,Args &&) | map | try_emplace | 0 | +| stl.h:510:48:510:58 | try_emplace | std | (Key &&,Args &&) | map | try_emplace | 1 | +| stl.h:510:48:510:58 | try_emplace | std | (Key &&,Args &&) | map | try_emplace | 1 | +| stl.h:510:48:510:58 | try_emplace | std | (const Key &,Args &&) | map | try_emplace | 1 | +| stl.h:510:48:510:58 | try_emplace | std | (const Key &,Args &&) | map | try_emplace | 1 | +| stl.h:510:48:510:58 | try_emplace | std | (const key_type &,Args &&) | map | try_emplace | 1 | +| stl.h:510:48:510:58 | try_emplace | std | (const key_type &,Args &&) | map | try_emplace | 1 | +| stl.h:510:48:510:58 | try_emplace | std | (key_type &&,Args &&) | map | try_emplace | 0 | +| stl.h:510:48:510:58 | try_emplace | std | (key_type &&,Args &&) | map | try_emplace | 0 | +| stl.h:510:48:510:58 | try_emplace | std | (key_type &&,Args &&) | map | try_emplace | 1 | +| stl.h:510:48:510:58 | try_emplace | std | (key_type &&,Args &&) | map | try_emplace | 1 | +| stl.h:512:36:512:46 | try_emplace | std | (const_iterator,Key &&,Args &&) | map | try_emplace | 0 | +| stl.h:512:36:512:46 | try_emplace | std | (const_iterator,Key &&,Args &&) | map | try_emplace | 0 | +| stl.h:512:36:512:46 | try_emplace | std | (const_iterator,Key &&,Args &&) | map | try_emplace | 1 | +| stl.h:512:36:512:46 | try_emplace | std | (const_iterator,Key &&,Args &&) | map | try_emplace | 1 | +| stl.h:512:36:512:46 | try_emplace | std | (const_iterator,Key &&,Args &&) | map | try_emplace | 2 | +| stl.h:512:36:512:46 | try_emplace | std | (const_iterator,Key &&,Args &&) | map | try_emplace | 2 | +| stl.h:512:36:512:46 | try_emplace | std | (const_iterator,const Key &,Args &&) | map | try_emplace | 2 | +| stl.h:512:36:512:46 | try_emplace | std | (const_iterator,const Key &,Args &&) | map | try_emplace | 2 | +| stl.h:512:36:512:46 | try_emplace | std | (const_iterator,const key_type &,Args &&) | map | try_emplace | 2 | +| stl.h:512:36:512:46 | try_emplace | std | (const_iterator,const key_type &,Args &&) | map | try_emplace | 2 | +| stl.h:512:36:512:46 | try_emplace | std | (const_iterator,key_type &&,Args &&) | map | try_emplace | 0 | +| stl.h:512:36:512:46 | try_emplace | std | (const_iterator,key_type &&,Args &&) | map | try_emplace | 0 | +| stl.h:512:36:512:46 | try_emplace | std | (const_iterator,key_type &&,Args &&) | map | try_emplace | 1 | +| stl.h:512:36:512:46 | try_emplace | std | (const_iterator,key_type &&,Args &&) | map | try_emplace | 1 | +| stl.h:512:36:512:46 | try_emplace | std | (const_iterator,key_type &&,Args &&) | map | try_emplace | 2 | +| stl.h:512:36:512:46 | try_emplace | std | (const_iterator,key_type &&,Args &&) | map | try_emplace | 2 | +| stl.h:514:42:514:57 | insert_or_assign | std | (const key_type &,M &&) | map | insert_or_assign | 1 | +| stl.h:514:42:514:57 | insert_or_assign | std | (key_type &&,M &&) | map | insert_or_assign | 0 | +| stl.h:514:42:514:57 | insert_or_assign | std | (key_type &&,M &&) | map | insert_or_assign | 1 | +| stl.h:516:30:516:45 | insert_or_assign | std | (const_iterator,const key_type &,M &&) | map | insert_or_assign | 2 | +| stl.h:516:30:516:45 | insert_or_assign | std | (const_iterator,key_type &&,M &&) | map | insert_or_assign | 0 | +| stl.h:516:30:516:45 | insert_or_assign | std | (const_iterator,key_type &&,M &&) | map | insert_or_assign | 1 | +| stl.h:516:30:516:45 | insert_or_assign | std | (const_iterator,key_type &&,M &&) | map | insert_or_assign | 2 | +| stl.h:524:27:524:31 | merge | std | (map &) | map | merge | 0 | +| stl.h:552:3:552:15 | unordered_map | std | (const unordered_map &) | unordered_map | unordered_map | 0 | +| stl.h:552:3:552:15 | unordered_map | std | (const unordered_map &) | unordered_map | unordered_map | 0 | +| stl.h:556:18:556:26 | operator= | std | (const unordered_map &) | unordered_map | operator= | 0 | +| stl.h:565:16:565:25 | operator[] | std | (key_type &&) | unordered_map | operator[] | 0 | +| stl.h:565:16:565:25 | operator[] | std | (key_type &&) | unordered_map | operator[] | 0 | +| stl.h:569:48:569:54 | emplace | std | (Args &&) | unordered_map | emplace | 0 | +| stl.h:569:48:569:54 | emplace | std | (Args &&) | unordered_map | emplace | 0 | +| stl.h:569:48:569:54 | emplace | std | (Args &&) | unordered_map | emplace | 0 | +| stl.h:569:48:569:54 | emplace | std | (Args &&) | unordered_map | emplace | 0 | +| stl.h:569:48:569:54 | emplace | std | (Args &&) | unordered_map | emplace | 0 | +| stl.h:570:36:570:47 | emplace_hint | std | (const_iterator,Args &&) | unordered_map | emplace_hint | 0 | +| stl.h:570:36:570:47 | emplace_hint | std | (const_iterator,Args &&) | unordered_map | emplace_hint | 0 | +| stl.h:570:36:570:47 | emplace_hint | std | (const_iterator,Args &&) | unordered_map | emplace_hint | 1 | +| stl.h:570:36:570:47 | emplace_hint | std | (const_iterator,Args &&) | unordered_map | emplace_hint | 1 | +| stl.h:573:24:573:29 | insert | std | (value_type &&) | unordered_map | insert | 0 | +| stl.h:575:12:575:17 | insert | std | (const_iterator,value_type &&) | unordered_map | insert | 0 | +| stl.h:575:12:575:17 | insert | std | (const_iterator,value_type &&) | unordered_map | insert | 1 | +| stl.h:578:48:578:58 | try_emplace | std | (Key &&,Args &&) | unordered_map | try_emplace | 0 | +| stl.h:578:48:578:58 | try_emplace | std | (Key &&,Args &&) | unordered_map | try_emplace | 0 | +| stl.h:578:48:578:58 | try_emplace | std | (Key &&,Args &&) | unordered_map | try_emplace | 0 | +| stl.h:578:48:578:58 | try_emplace | std | (Key &&,Args &&) | unordered_map | try_emplace | 1 | +| stl.h:578:48:578:58 | try_emplace | std | (Key &&,Args &&) | unordered_map | try_emplace | 1 | +| stl.h:578:48:578:58 | try_emplace | std | (Key &&,Args &&) | unordered_map | try_emplace | 1 | +| stl.h:578:48:578:58 | try_emplace | std | (const Key &,Args &&) | unordered_map | try_emplace | 1 | +| stl.h:578:48:578:58 | try_emplace | std | (const Key &,Args &&) | unordered_map | try_emplace | 1 | +| stl.h:578:48:578:58 | try_emplace | std | (const Key &,Args &&) | unordered_map | try_emplace | 1 | +| stl.h:578:48:578:58 | try_emplace | std | (const key_type &,Args &&) | unordered_map | try_emplace | 1 | +| stl.h:578:48:578:58 | try_emplace | std | (const key_type &,Args &&) | unordered_map | try_emplace | 1 | +| stl.h:578:48:578:58 | try_emplace | std | (const key_type &,Args &&) | unordered_map | try_emplace | 1 | +| stl.h:578:48:578:58 | try_emplace | std | (key_type &&,Args &&) | unordered_map | try_emplace | 0 | +| stl.h:578:48:578:58 | try_emplace | std | (key_type &&,Args &&) | unordered_map | try_emplace | 0 | +| stl.h:578:48:578:58 | try_emplace | std | (key_type &&,Args &&) | unordered_map | try_emplace | 0 | +| stl.h:578:48:578:58 | try_emplace | std | (key_type &&,Args &&) | unordered_map | try_emplace | 1 | +| stl.h:578:48:578:58 | try_emplace | std | (key_type &&,Args &&) | unordered_map | try_emplace | 1 | +| stl.h:578:48:578:58 | try_emplace | std | (key_type &&,Args &&) | unordered_map | try_emplace | 1 | +| stl.h:580:36:580:46 | try_emplace | std | (const_iterator,Key &&,Args &&) | unordered_map | try_emplace | 0 | +| stl.h:580:36:580:46 | try_emplace | std | (const_iterator,Key &&,Args &&) | unordered_map | try_emplace | 0 | +| stl.h:580:36:580:46 | try_emplace | std | (const_iterator,Key &&,Args &&) | unordered_map | try_emplace | 1 | +| stl.h:580:36:580:46 | try_emplace | std | (const_iterator,Key &&,Args &&) | unordered_map | try_emplace | 1 | +| stl.h:580:36:580:46 | try_emplace | std | (const_iterator,Key &&,Args &&) | unordered_map | try_emplace | 2 | +| stl.h:580:36:580:46 | try_emplace | std | (const_iterator,Key &&,Args &&) | unordered_map | try_emplace | 2 | +| stl.h:580:36:580:46 | try_emplace | std | (const_iterator,const Key &,Args &&) | unordered_map | try_emplace | 2 | +| stl.h:580:36:580:46 | try_emplace | std | (const_iterator,const Key &,Args &&) | unordered_map | try_emplace | 2 | +| stl.h:580:36:580:46 | try_emplace | std | (const_iterator,const key_type &,Args &&) | unordered_map | try_emplace | 2 | +| stl.h:580:36:580:46 | try_emplace | std | (const_iterator,const key_type &,Args &&) | unordered_map | try_emplace | 2 | +| stl.h:580:36:580:46 | try_emplace | std | (const_iterator,key_type &&,Args &&) | unordered_map | try_emplace | 0 | +| stl.h:580:36:580:46 | try_emplace | std | (const_iterator,key_type &&,Args &&) | unordered_map | try_emplace | 0 | +| stl.h:580:36:580:46 | try_emplace | std | (const_iterator,key_type &&,Args &&) | unordered_map | try_emplace | 1 | +| stl.h:580:36:580:46 | try_emplace | std | (const_iterator,key_type &&,Args &&) | unordered_map | try_emplace | 1 | +| stl.h:580:36:580:46 | try_emplace | std | (const_iterator,key_type &&,Args &&) | unordered_map | try_emplace | 2 | +| stl.h:580:36:580:46 | try_emplace | std | (const_iterator,key_type &&,Args &&) | unordered_map | try_emplace | 2 | +| stl.h:582:42:582:57 | insert_or_assign | std | (const key_type &,M &&) | unordered_map | insert_or_assign | 1 | +| stl.h:582:42:582:57 | insert_or_assign | std | (key_type &&,M &&) | unordered_map | insert_or_assign | 0 | +| stl.h:582:42:582:57 | insert_or_assign | std | (key_type &&,M &&) | unordered_map | insert_or_assign | 1 | +| stl.h:584:30:584:45 | insert_or_assign | std | (const_iterator,const key_type &,M &&) | unordered_map | insert_or_assign | 2 | +| stl.h:584:30:584:45 | insert_or_assign | std | (const_iterator,key_type &&,M &&) | unordered_map | insert_or_assign | 0 | +| stl.h:584:30:584:45 | insert_or_assign | std | (const_iterator,key_type &&,M &&) | unordered_map | insert_or_assign | 1 | +| stl.h:584:30:584:45 | insert_or_assign | std | (const_iterator,key_type &&,M &&) | unordered_map | insert_or_assign | 2 | +| stl.h:586:12:586:16 | erase | std | (iterator) | unordered_map | erase | 0 | +| stl.h:592:37:592:41 | merge | std | (unordered_map &) | unordered_map | merge | 0 | +| stl.h:718:3:718:19 | basic_string_view | std | (const basic_string_view &) | basic_string_view | basic_string_view | 0 | +| stl.h:720:3:720:19 | basic_string_view | std | (const CharT *) | basic_string_view | basic_string_view | 0 | +| stl.h:721:33:721:49 | basic_string_view | std | (It,End) | basic_string_view | basic_string_view | 0 | +| stl.h:721:33:721:49 | basic_string_view | std | (It,End) | basic_string_view | basic_string_view | 0 | +| stl.h:721:33:721:49 | basic_string_view | std | (It,End) | basic_string_view | basic_string_view | 0 | +| stl.h:721:33:721:49 | basic_string_view | std | (It,End) | basic_string_view | basic_string_view | 0 | +| stl.h:721:33:721:49 | basic_string_view | std | (It,End) | basic_string_view | basic_string_view | 1 | +| stl.h:721:33:721:49 | basic_string_view | std | (It,End) | basic_string_view | basic_string_view | 1 | +| stl.h:721:33:721:49 | basic_string_view | std | (It,End) | basic_string_view | basic_string_view | 1 | +| stl.h:721:33:721:49 | basic_string_view | std | (It,End) | basic_string_view | basic_string_view | 1 | +| stl.h:723:12:723:28 | basic_string_view | std | (R &&) | basic_string_view | basic_string_view | 0 | +| stl.h:723:12:723:28 | basic_string_view | std | (R &&) | basic_string_view | basic_string_view | 0 | +| stl.h:724:22:724:30 | operator= | std | (const basic_string_view &) | basic_string_view | operator= | 0 | +| stl.h:769:33:769:38 | format | std | (format_string,Args &&) | | format | 0 | +| stl.h:769:33:769:38 | format | std | (format_string,Args &&) | | format | 0 | +| stl.h:769:33:769:38 | format | std | (format_string,Args &&) | | format | 1 | +| stl.h:769:33:769:38 | format | std | (format_string,Args &&) | | format | 1 | | taint.cpp:847:5:847:11 | toupper | | (int) | | toupper | 0 | | taint.cpp:848:5:848:11 | tolower | | (int) | | tolower | 0 | getSignatureParameterName @@ -562,6 +838,9 @@ getSignatureParameterName | (AUTHORITY_KEYID **,const unsigned char **,long) | | d2i_AUTHORITY_KEYID | 0 | AUTHORITY_KEYID ** | | (AUTHORITY_KEYID **,const unsigned char **,long) | | d2i_AUTHORITY_KEYID | 1 | const unsigned char ** | | (AUTHORITY_KEYID **,const unsigned char **,long) | | d2i_AUTHORITY_KEYID | 2 | long | +| (Args &&) | map | emplace | 0 | func:0 && | +| (Args &&) | unordered_map | emplace | 0 | func:0 && | +| (Args &&) | vector | emplace_back | 0 | func:0 && | | (BASIC_CONSTRAINTS *) | | BASIC_CONSTRAINTS_free | 0 | BASIC_CONSTRAINTS * | | (BASIC_CONSTRAINTS **,const unsigned char **,long) | | d2i_BASIC_CONSTRAINTS | 0 | BASIC_CONSTRAINTS ** | | (BASIC_CONSTRAINTS **,const unsigned char **,long) | | d2i_BASIC_CONSTRAINTS | 1 | const unsigned char ** | @@ -2480,6 +2759,12 @@ getSignatureParameterName | (CURLU *,const char *,char **,OperationConfig *) | | ipfs_url_rewrite | 1 | const char * | | (CURLU *,const char *,char **,OperationConfig *) | | ipfs_url_rewrite | 2 | char ** | | (CURLU *,const char *,char **,OperationConfig *) | | ipfs_url_rewrite | 3 | OperationConfig * | +| (CharT) | basic_string | operator+= | 0 | class:0 | +| (CharT) | basic_string | push_back | 0 | class:0 | +| (CharT,basic_string &&) | | operator+ | 0 | func:0 | +| (CharT,basic_string &&) | | operator+ | 1 | basic_string && | +| (CharT,const basic_string &) | | operator+ | 0 | func:0 | +| (CharT,const basic_string &) | | operator+ | 1 | const basic_string & | | (ComPtr &&) | ComPtr | ComPtr | 0 | ComPtr && | | (ComPtr &&) | ComPtr | operator= | 0 | ComPtr && | | (CompoundDictionary *,const PreparedDictionary *) | | AttachPreparedDictionary | 0 | CompoundDictionary * | @@ -5353,14 +5638,63 @@ getSignatureParameterName | (ISSUING_DIST_POINT **,const unsigned char **,long) | | d2i_ISSUING_DIST_POINT | 0 | ISSUING_DIST_POINT ** | | (ISSUING_DIST_POINT **,const unsigned char **,long) | | d2i_ISSUING_DIST_POINT | 1 | const unsigned char ** | | (ISSUING_DIST_POINT **,const unsigned char **,long) | | d2i_ISSUING_DIST_POINT | 2 | long | +| (InputIt,InputIt) | basic_string | append | 0 | func:0 | +| (InputIt,InputIt) | basic_string | append | 1 | func:0 | +| (InputIt,InputIt) | basic_string | assign | 0 | func:0 | +| (InputIt,InputIt) | basic_string | assign | 1 | func:0 | | (InputIt,InputIt) | deque | assign | 0 | func:0 | | (InputIt,InputIt) | deque | assign | 1 | func:0 | | (InputIt,InputIt) | forward_list | assign | 0 | func:0 | | (InputIt,InputIt) | forward_list | assign | 1 | func:0 | | (InputIt,InputIt) | list | assign | 0 | func:0 | | (InputIt,InputIt) | list | assign | 1 | func:0 | +| (InputIt,InputIt) | map | insert | 0 | func:0 | +| (InputIt,InputIt) | map | insert | 1 | func:0 | +| (InputIt,InputIt) | map | map | 0 | func:0 | +| (InputIt,InputIt) | map | map | 1 | func:0 | +| (InputIt,InputIt) | unordered_map | insert | 0 | func:0 | +| (InputIt,InputIt) | unordered_map | insert | 1 | func:0 | +| (InputIt,InputIt) | unordered_map | unordered_map | 0 | func:0 | +| (InputIt,InputIt) | unordered_map | unordered_map | 1 | func:0 | | (InputIt,InputIt) | vector | assign | 0 | func:0 | | (InputIt,InputIt) | vector | assign | 1 | func:0 | +| (InputIt,InputIt,const Allocator &) | basic_string | basic_string | 0 | func:0 | +| (InputIt,InputIt,const Allocator &) | basic_string | basic_string | 1 | func:0 | +| (InputIt,InputIt,const Allocator &) | basic_string | basic_string | 2 | const class:2 & | +| (InputIt,InputIt,const Compare &) | map | map | 0 | func:0 | +| (InputIt,InputIt,const Compare &) | map | map | 1 | func:0 | +| (InputIt,InputIt,const Compare &) | map | map | 2 | const class:2 & | +| (InputIt,InputIt,const Compare &,const Allocator &) | map | map | 0 | func:0 | +| (InputIt,InputIt,const Compare &,const Allocator &) | map | map | 1 | func:0 | +| (InputIt,InputIt,const Compare &,const Allocator &) | map | map | 2 | const class:2 & | +| (InputIt,InputIt,const Compare &,const Allocator &) | map | map | 3 | const class:3 & | +| (InputIt,InputIt,size_type) | unordered_map | unordered_map | 0 | func:0 | +| (InputIt,InputIt,size_type) | unordered_map | unordered_map | 1 | func:0 | +| (InputIt,InputIt,size_type) | unordered_map | unordered_map | 2 | size_type | +| (InputIt,InputIt,size_type,const Allocator &) | unordered_map | unordered_map | 0 | func:0 | +| (InputIt,InputIt,size_type,const Allocator &) | unordered_map | unordered_map | 1 | func:0 | +| (InputIt,InputIt,size_type,const Allocator &) | unordered_map | unordered_map | 2 | size_type | +| (InputIt,InputIt,size_type,const Allocator &) | unordered_map | unordered_map | 3 | const class:4 & | +| (InputIt,InputIt,size_type,const Hash &) | unordered_map | unordered_map | 0 | func:0 | +| (InputIt,InputIt,size_type,const Hash &) | unordered_map | unordered_map | 1 | func:0 | +| (InputIt,InputIt,size_type,const Hash &) | unordered_map | unordered_map | 2 | size_type | +| (InputIt,InputIt,size_type,const Hash &) | unordered_map | unordered_map | 3 | const class:2 & | +| (InputIt,InputIt,size_type,const Hash &,const Allocator &) | unordered_map | unordered_map | 0 | func:0 | +| (InputIt,InputIt,size_type,const Hash &,const Allocator &) | unordered_map | unordered_map | 1 | func:0 | +| (InputIt,InputIt,size_type,const Hash &,const Allocator &) | unordered_map | unordered_map | 2 | size_type | +| (InputIt,InputIt,size_type,const Hash &,const Allocator &) | unordered_map | unordered_map | 3 | const class:2 & | +| (InputIt,InputIt,size_type,const Hash &,const Allocator &) | unordered_map | unordered_map | 4 | const class:4 & | +| (InputIt,InputIt,size_type,const Hash &,const Pred &) | unordered_map | unordered_map | 0 | func:0 | +| (InputIt,InputIt,size_type,const Hash &,const Pred &) | unordered_map | unordered_map | 1 | func:0 | +| (InputIt,InputIt,size_type,const Hash &,const Pred &) | unordered_map | unordered_map | 2 | size_type | +| (InputIt,InputIt,size_type,const Hash &,const Pred &) | unordered_map | unordered_map | 3 | const class:2 & | +| (InputIt,InputIt,size_type,const Hash &,const Pred &) | unordered_map | unordered_map | 4 | const class:3 & | +| (InputIt,InputIt,size_type,const Hash &,const Pred &,const Allocator &) | unordered_map | unordered_map | 0 | func:0 | +| (InputIt,InputIt,size_type,const Hash &,const Pred &,const Allocator &) | unordered_map | unordered_map | 1 | func:0 | +| (InputIt,InputIt,size_type,const Hash &,const Pred &,const Allocator &) | unordered_map | unordered_map | 2 | size_type | +| (InputIt,InputIt,size_type,const Hash &,const Pred &,const Allocator &) | unordered_map | unordered_map | 3 | const class:2 & | +| (InputIt,InputIt,size_type,const Hash &,const Pred &,const Allocator &) | unordered_map | unordered_map | 4 | const class:3 & | +| (InputIt,InputIt,size_type,const Hash &,const Pred &,const Allocator &) | unordered_map | unordered_map | 5 | const class:4 & | | (InputIterator,InputIterator,const Allocator &) | deque | deque | 0 | func:0 | | (InputIterator,InputIterator,const Allocator &) | deque | deque | 1 | func:0 | | (InputIterator,InputIterator,const Allocator &) | deque | deque | 2 | const class:1 & | @@ -5373,6 +5707,8 @@ getSignatureParameterName | (InputIterator,InputIterator,const Allocator &) | vector | vector | 0 | func:0 | | (InputIterator,InputIterator,const Allocator &) | vector | vector | 1 | func:0 | | (InputIterator,InputIterator,const Allocator &) | vector | vector | 2 | const class:1 & | +| (It,End) | basic_string_view | basic_string_view | 0 | func:0 | +| (It,End) | basic_string_view | basic_string_view | 1 | func:1 | | (Jim_HashTable *) | | Jim_GetHashTableIterator | 0 | Jim_HashTable * | | (Jim_HashTable *,const Jim_HashTableType *,void *) | | Jim_InitHashTable | 0 | Jim_HashTable * | | (Jim_HashTable *,const Jim_HashTableType *,void *) | | Jim_InitHashTable | 1 | const Jim_HashTableType * | @@ -5687,6 +6023,8 @@ getSignatureParameterName | (Jim_Stack *) | | Jim_StackPop | 0 | Jim_Stack * | | (Jim_Stack *,void *) | | Jim_StackPush | 0 | Jim_Stack * | | (Jim_Stack *,void *) | | Jim_StackPush | 1 | void * | +| (K &&) | map | operator[] | 0 | func:0 && | +| (K &&) | unordered_map | operator[] | 0 | func:0 && | | (KECCAK1600_CTX *,const void *,size_t) | | ossl_sha3_update | 0 | KECCAK1600_CTX * | | (KECCAK1600_CTX *,const void *,size_t) | | ossl_sha3_update | 1 | const void * | | (KECCAK1600_CTX *,const void *,size_t) | | ossl_sha3_update | 2 | size_t | @@ -5700,6 +6038,10 @@ getSignatureParameterName | (KECCAK1600_CTX *,unsigned char,size_t,size_t) | | ossl_keccak_init | 1 | unsigned char | | (KECCAK1600_CTX *,unsigned char,size_t,size_t) | | ossl_keccak_init | 2 | size_t | | (KECCAK1600_CTX *,unsigned char,size_t,size_t) | | ossl_keccak_init | 3 | size_t | +| (Key &&,Args &&) | map | try_emplace | 0 | class:0 && | +| (Key &&,Args &&) | map | try_emplace | 1 | func:0 && | +| (Key &&,Args &&) | unordered_map | try_emplace | 0 | class:0 && | +| (Key &&,Args &&) | unordered_map | try_emplace | 1 | func:0 && | | (LIBSSH2_AGENT *) | | libssh2_agent_get_identity_path | 0 | LIBSSH2_AGENT * | | (LIBSSH2_AGENT *,const char *) | | libssh2_agent_set_identity_path | 0 | LIBSSH2_AGENT * | | (LIBSSH2_AGENT *,const char *) | | libssh2_agent_set_identity_path | 1 | const char * | @@ -8428,6 +8770,8 @@ getSignatureParameterName | (OperationConfig *,const char *const *,char **,const char *) | | proto2num | 1 | const char *const * | | (OperationConfig *,const char *const *,char **,const char *) | | proto2num | 2 | char ** | | (OperationConfig *,const char *const *,char **,const char *) | | proto2num | 3 | const char * | +| (P &&) | map | insert

| 0 | func:0 && | +| (P &&) | unordered_map | insert

| 0 | func:0 && | | (PACKET *) | | ossl_quic_wire_decode_padding | 0 | PACKET * | | (PACKET *,BIGNUM *) | | ossl_decode_der_integer | 0 | PACKET * | | (PACKET *,BIGNUM *) | | ossl_decode_der_integer | 1 | BIGNUM * | @@ -9286,6 +9630,9 @@ getSignatureParameterName | (QUIC_TXPIM_PKT *,QUIC_CFQ_ITEM *) | | ossl_quic_txpim_pkt_add_cfq_item | 1 | QUIC_CFQ_ITEM * | | (QUIC_TXPIM_PKT *,const QUIC_TXPIM_CHUNK *) | | ossl_quic_txpim_pkt_append_chunk | 0 | QUIC_TXPIM_PKT * | | (QUIC_TXPIM_PKT *,const QUIC_TXPIM_CHUNK *) | | ossl_quic_txpim_pkt_append_chunk | 1 | const QUIC_TXPIM_CHUNK * | +| (R &&) | basic_string_view | basic_string_view | 0 | func:0 && | +| (R &&) | map | insert_range | 0 | func:0 && | +| (R &&) | unordered_map | insert_range | 0 | func:0 && | | (RAND_POOL *) | | ossl_pool_acquire_entropy | 0 | RAND_POOL * | | (RAND_POOL *) | | ossl_rand_pool_buffer | 0 | RAND_POOL * | | (RAND_POOL *) | | ossl_rand_pool_bytes_remaining | 0 | RAND_POOL * | @@ -10897,6 +11244,8 @@ getSignatureParameterName | (Strtab *,const char *,size_t) | | strtabadd | 2 | size_t | | (Strtab *,size_t *) | | strtabfinalize | 0 | Strtab * | | (Strtab *,size_t *) | | strtabfinalize | 1 | size_t * | +| (T1 &&,T2 &&) | | make_pair | 0 | func:0 && | +| (T1 &&,T2 &&) | | make_pair | 1 | func:1 && | | (T *) | ComPtr | ComPtr | 0 | func:0 * | | (T *) | ComPtr | operator= | 0 | class:0 * | | (T **) | ComPtr | CopyTo | 0 | func:0 ** | @@ -11093,6 +11442,8 @@ getSignatureParameterName | (TXT_DB *,int,..(*)(..),OPENSSL_LH_HASHFUNC,OPENSSL_LH_COMPFUNC) | | TXT_DB_create_index | 2 | ..(*)(..) | | (TXT_DB *,int,..(*)(..),OPENSSL_LH_HASHFUNC,OPENSSL_LH_COMPFUNC) | | TXT_DB_create_index | 3 | OPENSSL_LH_HASHFUNC | | (TXT_DB *,int,..(*)(..),OPENSSL_LH_HASHFUNC,OPENSSL_LH_COMPFUNC) | | TXT_DB_create_index | 4 | OPENSSL_LH_COMPFUNC | +| (U1 &&,U2 &&) | pair | pair | 0 | func:0 && | +| (U1 &&,U2 &&) | pair | pair | 1 | func:1 && | | (U *) | ComPtr | operator= | 0 | func:0 * | | (UI *) | | UI_get0_user_data | 0 | UI * | | (UI *) | | UI_get_method | 0 | UI * | @@ -12699,6 +13050,25 @@ getSignatureParameterName | (argp_fmtstream_t,size_t) | | __argp_fmtstream_set_rmargin | 1 | size_t | | (argp_fmtstream_t,size_t) | | __argp_fmtstream_set_wmargin | 0 | argp_fmtstream_t | | (argp_fmtstream_t,size_t) | | __argp_fmtstream_set_wmargin | 1 | size_t | +| (basic_string &&) | basic_string | assign | 0 | basic_string && | +| (basic_string &&) | basic_string | basic_string | 0 | basic_string && | +| (basic_string &&,CharT) | | operator+ | 0 | basic_string && | +| (basic_string &&,CharT) | | operator+ | 1 | func:0 | +| (basic_string &&,basic_string &&) | | operator+ | 0 | basic_string && | +| (basic_string &&,basic_string &&) | | operator+ | 1 | basic_string && | +| (basic_string &&,const Allocator &) | basic_string | basic_string | 0 | basic_string && | +| (basic_string &&,const Allocator &) | basic_string | basic_string | 1 | const class:2 & | +| (basic_string &&,const CharT *) | | operator+ | 0 | basic_string && | +| (basic_string &&,const CharT *) | | operator+ | 1 | const func:0 * | +| (basic_string &&,const basic_string &) | | operator+ | 0 | basic_string && | +| (basic_string &&,const basic_string &) | | operator+ | 1 | const basic_string & | +| (basic_string &&,size_type,const Allocator &) | basic_string | basic_string | 0 | basic_string && | +| (basic_string &&,size_type,const Allocator &) | basic_string | basic_string | 1 | size_type | +| (basic_string &&,size_type,const Allocator &) | basic_string | basic_string | 2 | const class:2 & | +| (basic_string &&,size_type,size_type,const Allocator &) | basic_string | basic_string | 0 | basic_string && | +| (basic_string &&,size_type,size_type,const Allocator &) | basic_string | basic_string | 1 | size_type | +| (basic_string &&,size_type,size_type,const Allocator &) | basic_string | basic_string | 2 | size_type | +| (basic_string &&,size_type,size_type,const Allocator &) | basic_string | basic_string | 3 | const class:2 & | | (brotli_alloc_func,brotli_free_func,void *) | | BrotliCreateManagedDictionary | 0 | brotli_alloc_func | | (brotli_alloc_func,brotli_free_func,void *) | | BrotliCreateManagedDictionary | 1 | brotli_free_func | | (brotli_alloc_func,brotli_free_func,void *) | | BrotliCreateManagedDictionary | 2 | void * | @@ -14048,6 +14418,25 @@ getSignatureParameterName | (const CURLU *,CURLUPart,char **,unsigned int) | | curl_url_get | 1 | CURLUPart | | (const CURLU *,CURLUPart,char **,unsigned int) | | curl_url_get | 2 | char ** | | (const CURLU *,CURLUPart,char **,unsigned int) | | curl_url_get | 3 | unsigned int | +| (const CharT *) | basic_string | append | 0 | const class:0 * | +| (const CharT *) | basic_string | assign | 0 | const class:0 * | +| (const CharT *) | basic_string | operator+= | 0 | const class:0 * | +| (const CharT *) | basic_string_view | basic_string_view | 0 | const class:0 * | +| (const CharT *,basic_string &&) | | operator+ | 0 | const func:0 * | +| (const CharT *,basic_string &&) | | operator+ | 1 | basic_string && | +| (const CharT *,const Allocator &) | basic_string | basic_string | 0 | const class:0 * | +| (const CharT *,const Allocator &) | basic_string | basic_string | 1 | const class:2 & | +| (const CharT *,const basic_string &) | | operator+ | 0 | const func:0 * | +| (const CharT *,const basic_string &) | | operator+ | 1 | const basic_string & | +| (const CharT *,size_type) | basic_string | append | 0 | const class:0 * | +| (const CharT *,size_type) | basic_string | append | 1 | size_type | +| (const CharT *,size_type) | basic_string | assign | 0 | const class:0 * | +| (const CharT *,size_type) | basic_string | assign | 1 | size_type | +| (const CharT *,size_type) | basic_string_view | basic_string_view | 0 | const class:0 * | +| (const CharT *,size_type) | basic_string_view | basic_string_view | 1 | size_type | +| (const CharT *,size_type,const Allocator &) | basic_string | basic_string | 0 | const class:0 * | +| (const CharT *,size_type,const Allocator &) | basic_string | basic_string | 1 | size_type | +| (const CharT *,size_type,const Allocator &) | basic_string | basic_string | 2 | const class:2 & | | (const ComPtr &) | ComPtr | ComPtr | 0 | const ComPtr & | | (const ComPtr &) | ComPtr | operator= | 0 | const ComPtr & | | (const Command *,const size_t,const BlockSplit *,const BlockSplit *,const BlockSplit *,const uint8_t *,size_t,size_t,uint8_t,uint8_t,const ContextType *,HistogramLiteral *,HistogramCommand *,HistogramDistance *) | | BrotliBuildHistogramsWithContext | 0 | const Command * | @@ -15076,6 +15465,10 @@ getSignatureParameterName | (const InternetProtocol &,string_view,string_view,flags,error_code &) | basic_resolver | resolve | 2 | string_view | | (const InternetProtocol &,string_view,string_view,flags,error_code &) | basic_resolver | resolve | 3 | flags | | (const InternetProtocol &,string_view,string_view,flags,error_code &) | basic_resolver | resolve | 4 | error_code & | +| (const Key &,Args &&) | map | try_emplace | 0 | const class:0 & | +| (const Key &,Args &&) | map | try_emplace | 1 | func:0 && | +| (const Key &,Args &&) | unordered_map | try_emplace | 0 | const class:0 & | +| (const Key &,Args &&) | unordered_map | try_emplace | 1 | func:0 && | | (const MATRIX *,const VECTOR *,VECTOR *) | | ossl_ml_dsa_matrix_mult_vector | 0 | const MATRIX * | | (const MATRIX *,const VECTOR *,VECTOR *) | | ossl_ml_dsa_matrix_mult_vector | 1 | const VECTOR * | | (const MATRIX *,const VECTOR *,VECTOR *) | | ossl_ml_dsa_matrix_mult_vector | 2 | VECTOR * | @@ -16102,6 +16495,23 @@ getSignatureParameterName | (const SXNETID *,unsigned char **) | | i2d_SXNETID | 0 | const SXNETID * | | (const SXNETID *,unsigned char **) | | i2d_SXNETID | 1 | unsigned char ** | | (const StringRef &) | ByteInStream | reset | 0 | const StringRef & | +| (const StringViewLike &) | basic_string | append | 0 | const func:0 & | +| (const StringViewLike &) | basic_string | assign | 0 | const func:0 & | +| (const StringViewLike &) | basic_string | operator+= | 0 | const func:0 & | +| (const StringViewLike &,const Allocator &) | basic_string | basic_string | 0 | const func:0 & | +| (const StringViewLike &,const Allocator &) | basic_string | basic_string | 1 | const class:2 & | +| (const StringViewLike &,size_type,size_type) | basic_string | append | 0 | const func:0 & | +| (const StringViewLike &,size_type,size_type) | basic_string | append | 1 | size_type | +| (const StringViewLike &,size_type,size_type) | basic_string | append | 2 | size_type | +| (const StringViewLike &,size_type,size_type) | basic_string | assign | 0 | const func:0 & | +| (const StringViewLike &,size_type,size_type) | basic_string | assign | 1 | size_type | +| (const StringViewLike &,size_type,size_type) | basic_string | assign | 2 | size_type | +| (const StringViewLike &,size_type,size_type,const Allocator &) | basic_string | basic_string | 0 | const func:0 & | +| (const StringViewLike &,size_type,size_type,const Allocator &) | basic_string | basic_string | 1 | size_type | +| (const StringViewLike &,size_type,size_type,const Allocator &) | basic_string | basic_string | 2 | size_type | +| (const StringViewLike &,size_type,size_type,const Allocator &) | basic_string | basic_string | 3 | const class:2 & | +| (const T1 &,const T2 &) | pair | pair | 0 | const class:0 & | +| (const T1 &,const T2 &) | pair | pair | 1 | const class:1 & | | (const T &,BOOL) | CComSafeArray | Add | 0 | const class:0 & | | (const T &,BOOL) | CComSafeArray | Add | 1 | BOOL | | (const TS_ACCURACY *) | | TS_ACCURACY_dup | 0 | const TS_ACCURACY * | @@ -16584,6 +16994,35 @@ getSignatureParameterName | (const argp_state *,int,int,const char *,va_list,unsigned int) | | __argp_failure_internal | 3 | const char * | | (const argp_state *,int,int,const char *,va_list,unsigned int) | | __argp_failure_internal | 4 | va_list | | (const argp_state *,int,int,const char *,va_list,unsigned int) | | __argp_failure_internal | 5 | unsigned int | +| (const basic_string &) | basic_string | append | 0 | const basic_string & | +| (const basic_string &) | basic_string | assign | 0 | const basic_string & | +| (const basic_string &) | basic_string | basic_string | 0 | const basic_string & | +| (const basic_string &) | basic_string | operator+= | 0 | const basic_string & | +| (const basic_string &,CharT) | | operator+ | 0 | const basic_string & | +| (const basic_string &,CharT) | | operator+ | 1 | func:0 | +| (const basic_string &,basic_string &&) | | operator+ | 0 | const basic_string & | +| (const basic_string &,basic_string &&) | | operator+ | 1 | basic_string && | +| (const basic_string &,const Allocator &) | basic_string | basic_string | 0 | const basic_string & | +| (const basic_string &,const Allocator &) | basic_string | basic_string | 1 | const class:2 & | +| (const basic_string &,const CharT *) | | operator+ | 0 | const basic_string & | +| (const basic_string &,const CharT *) | | operator+ | 1 | const func:0 * | +| (const basic_string &,const basic_string &) | | operator+ | 0 | const basic_string & | +| (const basic_string &,const basic_string &) | | operator+ | 1 | const basic_string & | +| (const basic_string &,size_type,const Allocator &) | basic_string | basic_string | 0 | const basic_string & | +| (const basic_string &,size_type,const Allocator &) | basic_string | basic_string | 1 | size_type | +| (const basic_string &,size_type,const Allocator &) | basic_string | basic_string | 2 | const class:2 & | +| (const basic_string &,size_type,size_type) | basic_string | append | 0 | const basic_string & | +| (const basic_string &,size_type,size_type) | basic_string | append | 1 | size_type | +| (const basic_string &,size_type,size_type) | basic_string | append | 2 | size_type | +| (const basic_string &,size_type,size_type) | basic_string | assign | 0 | const basic_string & | +| (const basic_string &,size_type,size_type) | basic_string | assign | 1 | size_type | +| (const basic_string &,size_type,size_type) | basic_string | assign | 2 | size_type | +| (const basic_string &,size_type,size_type,const Allocator &) | basic_string | basic_string | 0 | const basic_string & | +| (const basic_string &,size_type,size_type,const Allocator &) | basic_string | basic_string | 1 | size_type | +| (const basic_string &,size_type,size_type,const Allocator &) | basic_string | basic_string | 2 | size_type | +| (const basic_string &,size_type,size_type,const Allocator &) | basic_string | basic_string | 3 | const class:2 & | +| (const basic_string_view &) | basic_string_view | basic_string_view | 0 | const basic_string_view & | +| (const basic_string_view &) | basic_string_view | operator= | 0 | const basic_string_view & | | (const bufq *) | | Curl_bufq_len | 0 | const bufq * | | (const bufref *) | | Curl_bufref_len | 0 | const bufref * | | (const bufref *) | | Curl_bufref_ptr | 0 | const bufref * | @@ -18375,10 +18814,24 @@ getSignatureParameterName | (const int[],BIGNUM *) | | BN_GF2m_arr2poly | 1 | BIGNUM * | | (const int_dhx942_dh *,unsigned char **) | | i2d_int_dhx | 0 | const int_dhx942_dh * | | (const int_dhx942_dh *,unsigned char **) | | i2d_int_dhx | 1 | unsigned char ** | +| (const key_type &) | map | operator[] | 0 | const key_type & | +| (const key_type &) | unordered_map | operator[] | 0 | const key_type & | +| (const key_type &,Args &&) | map | try_emplace | 0 | const key_type & | +| (const key_type &,Args &&) | map | try_emplace | 1 | func:0 && | +| (const key_type &,Args &&) | unordered_map | try_emplace | 0 | const key_type & | +| (const key_type &,Args &&) | unordered_map | try_emplace | 1 | func:0 && | +| (const key_type &,M &&) | map | insert_or_assign | 0 | const key_type & | +| (const key_type &,M &&) | map | insert_or_assign | 1 | func:0 && | +| (const key_type &,M &&) | unordered_map | insert_or_assign | 0 | const key_type & | +| (const key_type &,M &&) | unordered_map | insert_or_assign | 1 | func:0 && | | (const list &) | list | list | 0 | const list & | | (const list &,const Allocator &) | list | list | 0 | const list & | | (const list &,const Allocator &) | list | list | 1 | const class:1 & | | (const long double *) | | __getpayloadl | 0 | const long double * | +| (const map &) | map | map | 0 | const map & | +| (const map &) | map | operator= | 0 | const map & | +| (const map &,const Allocator &) | map | map | 0 | const map & | +| (const map &,const Allocator &) | map | map | 1 | const class:3 & | | (const md5_ctx *,void *) | | __md5_read_ctx | 0 | const md5_ctx * | | (const md5_ctx *,void *) | | __md5_read_ctx | 1 | void * | | (const mntent *,const char *) | | __hasmntopt | 0 | const mntent * | @@ -18415,6 +18868,8 @@ getSignatureParameterName | (const ns_msg *,const ns_rr *,const char *,const char *,char *,size_t) | | ns_sprintrr | 5 | size_t | | (const old_termios_t *) | | __old_cfgetispeed | 0 | const old_termios_t * | | (const old_termios_t *) | | __old_cfgetospeed | 0 | const old_termios_t * | +| (const pair &) | pair | operator= | 0 | const pair & | +| (const pair &) | pair | pair | 0 | const pair & | | (const passwd *,const passwd *__restrict__,FILE *,FILE *__restrict__) | | putpwent | 0 | const passwd * | | (const passwd *,const passwd *__restrict__,FILE *,FILE *__restrict__) | | putpwent | 1 | const passwd *__restrict__ | | (const passwd *,const passwd *__restrict__,FILE *,FILE *__restrict__) | | putpwent | 2 | FILE * | @@ -18821,6 +19276,10 @@ getSignatureParameterName | (const uint32_t *,size_t,uint32_t *,size_t *,int) | | idn2_to_unicode_44i | 2 | uint32_t * | | (const uint32_t *,size_t,uint32_t *,size_t *,int) | | idn2_to_unicode_44i | 3 | size_t * | | (const uint32_t *,size_t,uint32_t *,size_t *,int) | | idn2_to_unicode_44i | 4 | int | +| (const unordered_map &) | unordered_map | operator= | 0 | const unordered_map & | +| (const unordered_map &) | unordered_map | unordered_map | 0 | const unordered_map & | +| (const unordered_map &,const Allocator &) | unordered_map | unordered_map | 0 | const unordered_map & | +| (const unordered_map &,const Allocator &) | unordered_map | unordered_map | 1 | const class:4 & | | (const unsigned char *) | | Curl_read16_be | 0 | const unsigned char * | | (const unsigned char *) | | Curl_read16_le | 0 | const unsigned char * | | (const unsigned char *) | | Curl_read32_le | 0 | const unsigned char * | @@ -19512,6 +19971,8 @@ getSignatureParameterName | (const uv_udp_t *,sockaddr *,int *) | | uv_udp_getsockname | 0 | const uv_udp_t * | | (const uv_udp_t *,sockaddr *,int *) | | uv_udp_getsockname | 1 | sockaddr * | | (const uv_udp_t *,sockaddr *,int *) | | uv_udp_getsockname | 2 | int * | +| (const value_type &) | map | insert | 0 | const value_type & | +| (const value_type &) | unordered_map | insert | 0 | const value_type & | | (const vector &) | vector | vector | 0 | const vector & | | (const vector &,const Allocator &) | vector | vector | 0 | const vector & | | (const vector &,const Allocator &) | vector | vector | 1 | const class:1 & | @@ -19899,6 +20360,18 @@ getSignatureParameterName | (const wchar_t *,wchar_t **,wchar_t) | | __wcstold_nan | 1 | wchar_t ** | | (const wchar_t *,wchar_t **,wchar_t) | | __wcstold_nan | 2 | wchar_t | | (const_DES_cblock *) | | DES_check_key_parity | 0 | const_DES_cblock * | +| (const_iterator) | unordered_map | erase | 0 | const_iterator | +| (const_iterator,Args &&) | map | emplace_hint | 0 | const_iterator | +| (const_iterator,Args &&) | map | emplace_hint | 1 | func:0 && | +| (const_iterator,Args &&) | unordered_map | emplace_hint | 0 | const_iterator | +| (const_iterator,Args &&) | unordered_map | emplace_hint | 1 | func:0 && | +| (const_iterator,Args &&) | vector | emplace | 0 | const_iterator | +| (const_iterator,Args &&) | vector | emplace | 1 | func:0 && | +| (const_iterator,CharT) | basic_string | insert | 0 | const_iterator | +| (const_iterator,CharT) | basic_string | insert | 1 | class:0 | +| (const_iterator,InputIt,InputIt) | basic_string | insert | 0 | const_iterator | +| (const_iterator,InputIt,InputIt) | basic_string | insert | 1 | func:0 | +| (const_iterator,InputIt,InputIt) | basic_string | insert | 2 | func:0 | | (const_iterator,InputIt,InputIt) | deque | insert | 0 | const_iterator | | (const_iterator,InputIt,InputIt) | deque | insert | 1 | func:0 | | (const_iterator,InputIt,InputIt) | deque | insert | 2 | func:0 | @@ -19911,6 +20384,16 @@ getSignatureParameterName | (const_iterator,InputIt,InputIt) | vector | insert | 0 | const_iterator | | (const_iterator,InputIt,InputIt) | vector | insert | 1 | func:0 | | (const_iterator,InputIt,InputIt) | vector | insert | 2 | func:0 | +| (const_iterator,Key &&,Args &&) | map | try_emplace | 0 | const_iterator | +| (const_iterator,Key &&,Args &&) | map | try_emplace | 1 | class:0 && | +| (const_iterator,Key &&,Args &&) | map | try_emplace | 2 | func:0 && | +| (const_iterator,Key &&,Args &&) | unordered_map | try_emplace | 0 | const_iterator | +| (const_iterator,Key &&,Args &&) | unordered_map | try_emplace | 1 | class:0 && | +| (const_iterator,Key &&,Args &&) | unordered_map | try_emplace | 2 | func:0 && | +| (const_iterator,P &&) | map | insert

| 0 | const_iterator | +| (const_iterator,P &&) | map | insert

| 1 | func:0 && | +| (const_iterator,P &&) | unordered_map | insert

| 0 | const_iterator | +| (const_iterator,P &&) | unordered_map | insert

| 1 | func:0 && | | (const_iterator,T &&) | deque | insert | 0 | const_iterator | | (const_iterator,T &&) | deque | insert | 1 | class:0 && | | (const_iterator,T &&) | forward_list | insert_after | 0 | const_iterator | @@ -19919,6 +20402,12 @@ getSignatureParameterName | (const_iterator,T &&) | list | insert | 1 | class:0 && | | (const_iterator,T &&) | vector | insert | 0 | const_iterator | | (const_iterator,T &&) | vector | insert | 1 | class:0 && | +| (const_iterator,const Key &,Args &&) | map | try_emplace | 0 | const_iterator | +| (const_iterator,const Key &,Args &&) | map | try_emplace | 1 | const class:0 & | +| (const_iterator,const Key &,Args &&) | map | try_emplace | 2 | func:0 && | +| (const_iterator,const Key &,Args &&) | unordered_map | try_emplace | 0 | const_iterator | +| (const_iterator,const Key &,Args &&) | unordered_map | try_emplace | 1 | const class:0 & | +| (const_iterator,const Key &,Args &&) | unordered_map | try_emplace | 2 | func:0 && | | (const_iterator,const T &) | deque | insert | 0 | const_iterator | | (const_iterator,const T &) | deque | insert | 1 | const class:0 & | | (const_iterator,const T &) | forward_list | insert_after | 0 | const_iterator | @@ -19927,6 +20416,60 @@ getSignatureParameterName | (const_iterator,const T &) | list | insert | 1 | const class:0 & | | (const_iterator,const T &) | vector | insert | 0 | const_iterator | | (const_iterator,const T &) | vector | insert | 1 | const class:0 & | +| (const_iterator,const key_type &,Args &&) | map | try_emplace | 0 | const_iterator | +| (const_iterator,const key_type &,Args &&) | map | try_emplace | 1 | const key_type & | +| (const_iterator,const key_type &,Args &&) | map | try_emplace | 2 | func:0 && | +| (const_iterator,const key_type &,Args &&) | unordered_map | try_emplace | 0 | const_iterator | +| (const_iterator,const key_type &,Args &&) | unordered_map | try_emplace | 1 | const key_type & | +| (const_iterator,const key_type &,Args &&) | unordered_map | try_emplace | 2 | func:0 && | +| (const_iterator,const key_type &,M &&) | map | insert_or_assign | 0 | const_iterator | +| (const_iterator,const key_type &,M &&) | map | insert_or_assign | 1 | const key_type & | +| (const_iterator,const key_type &,M &&) | map | insert_or_assign | 2 | func:0 && | +| (const_iterator,const key_type &,M &&) | unordered_map | insert_or_assign | 0 | const_iterator | +| (const_iterator,const key_type &,M &&) | unordered_map | insert_or_assign | 1 | const key_type & | +| (const_iterator,const key_type &,M &&) | unordered_map | insert_or_assign | 2 | func:0 && | +| (const_iterator,const value_type &) | map | insert | 0 | const_iterator | +| (const_iterator,const value_type &) | map | insert | 1 | const value_type & | +| (const_iterator,const value_type &) | unordered_map | insert | 0 | const_iterator | +| (const_iterator,const value_type &) | unordered_map | insert | 1 | const value_type & | +| (const_iterator,const_iterator) | unordered_map | erase | 0 | const_iterator | +| (const_iterator,const_iterator) | unordered_map | erase | 1 | const_iterator | +| (const_iterator,const_iterator,InputIt,InputIt) | basic_string | replace | 0 | const_iterator | +| (const_iterator,const_iterator,InputIt,InputIt) | basic_string | replace | 1 | const_iterator | +| (const_iterator,const_iterator,InputIt,InputIt) | basic_string | replace | 2 | func:0 | +| (const_iterator,const_iterator,InputIt,InputIt) | basic_string | replace | 3 | func:0 | +| (const_iterator,const_iterator,const CharT *) | basic_string | replace | 0 | const_iterator | +| (const_iterator,const_iterator,const CharT *) | basic_string | replace | 1 | const_iterator | +| (const_iterator,const_iterator,const CharT *) | basic_string | replace | 2 | const class:0 * | +| (const_iterator,const_iterator,const CharT *,size_type) | basic_string | replace | 0 | const_iterator | +| (const_iterator,const_iterator,const CharT *,size_type) | basic_string | replace | 1 | const_iterator | +| (const_iterator,const_iterator,const CharT *,size_type) | basic_string | replace | 2 | const class:0 * | +| (const_iterator,const_iterator,const CharT *,size_type) | basic_string | replace | 3 | size_type | +| (const_iterator,const_iterator,const StringViewLike &) | basic_string | replace | 0 | const_iterator | +| (const_iterator,const_iterator,const StringViewLike &) | basic_string | replace | 1 | const_iterator | +| (const_iterator,const_iterator,const StringViewLike &) | basic_string | replace | 2 | const func:0 & | +| (const_iterator,const_iterator,const basic_string &) | basic_string | replace | 0 | const_iterator | +| (const_iterator,const_iterator,const basic_string &) | basic_string | replace | 1 | const_iterator | +| (const_iterator,const_iterator,const basic_string &) | basic_string | replace | 2 | const basic_string & | +| (const_iterator,const_iterator,size_type,CharT) | basic_string | replace | 0 | const_iterator | +| (const_iterator,const_iterator,size_type,CharT) | basic_string | replace | 1 | const_iterator | +| (const_iterator,const_iterator,size_type,CharT) | basic_string | replace | 2 | size_type | +| (const_iterator,const_iterator,size_type,CharT) | basic_string | replace | 3 | class:0 | +| (const_iterator,key_type &&,Args &&) | map | try_emplace | 0 | const_iterator | +| (const_iterator,key_type &&,Args &&) | map | try_emplace | 1 | key_type && | +| (const_iterator,key_type &&,Args &&) | map | try_emplace | 2 | func:0 && | +| (const_iterator,key_type &&,Args &&) | unordered_map | try_emplace | 0 | const_iterator | +| (const_iterator,key_type &&,Args &&) | unordered_map | try_emplace | 1 | key_type && | +| (const_iterator,key_type &&,Args &&) | unordered_map | try_emplace | 2 | func:0 && | +| (const_iterator,key_type &&,M &&) | map | insert_or_assign | 0 | const_iterator | +| (const_iterator,key_type &&,M &&) | map | insert_or_assign | 1 | key_type && | +| (const_iterator,key_type &&,M &&) | map | insert_or_assign | 2 | func:0 && | +| (const_iterator,key_type &&,M &&) | unordered_map | insert_or_assign | 0 | const_iterator | +| (const_iterator,key_type &&,M &&) | unordered_map | insert_or_assign | 1 | key_type && | +| (const_iterator,key_type &&,M &&) | unordered_map | insert_or_assign | 2 | func:0 && | +| (const_iterator,size_type,CharT) | basic_string | insert | 0 | const_iterator | +| (const_iterator,size_type,CharT) | basic_string | insert | 1 | size_type | +| (const_iterator,size_type,CharT) | basic_string | insert | 2 | class:0 | | (const_iterator,size_type,const T &) | deque | insert | 0 | const_iterator | | (const_iterator,size_type,const T &) | deque | insert | 1 | size_type | | (const_iterator,size_type,const T &) | deque | insert | 2 | const class:0 & | @@ -19939,6 +20482,10 @@ getSignatureParameterName | (const_iterator,size_type,const T &) | vector | insert | 0 | const_iterator | | (const_iterator,size_type,const T &) | vector | insert | 1 | size_type | | (const_iterator,size_type,const T &) | vector | insert | 2 | const class:0 & | +| (const_iterator,value_type &&) | map | insert | 0 | const_iterator | +| (const_iterator,value_type &&) | map | insert | 1 | value_type && | +| (const_iterator,value_type &&) | unordered_map | insert | 0 | const_iterator | +| (const_iterator,value_type &&) | unordered_map | insert | 1 | value_type && | | (const_nis_name) | | __nis_domain_of | 0 | const_nis_name | | (const_nis_name) | | nis_domain_of | 0 | const_nis_name | | (const_nis_name) | | nis_getnames | 0 | const_nis_name | @@ -20839,6 +21386,26 @@ getSignatureParameterName | (forward_list &&) | forward_list | forward_list | 0 | forward_list && | | (forward_list &&,const Allocator &) | forward_list | forward_list | 0 | forward_list && | | (forward_list &&,const Allocator &) | forward_list | forward_list | 1 | const class:1 & | +| (from_range_t,R &&) | unordered_map | unordered_map | 0 | from_range_t | +| (from_range_t,R &&) | unordered_map | unordered_map | 1 | func:0 && | +| (from_range_t,R &&,size_type) | unordered_map | unordered_map | 0 | from_range_t | +| (from_range_t,R &&,size_type) | unordered_map | unordered_map | 1 | func:0 && | +| (from_range_t,R &&,size_type) | unordered_map | unordered_map | 2 | size_type | +| (from_range_t,R &&,size_type,const Hash &) | unordered_map | unordered_map | 0 | from_range_t | +| (from_range_t,R &&,size_type,const Hash &) | unordered_map | unordered_map | 1 | func:0 && | +| (from_range_t,R &&,size_type,const Hash &) | unordered_map | unordered_map | 2 | size_type | +| (from_range_t,R &&,size_type,const Hash &) | unordered_map | unordered_map | 3 | const class:2 & | +| (from_range_t,R &&,size_type,const Hash &,const Pred &) | unordered_map | unordered_map | 0 | from_range_t | +| (from_range_t,R &&,size_type,const Hash &,const Pred &) | unordered_map | unordered_map | 1 | func:0 && | +| (from_range_t,R &&,size_type,const Hash &,const Pred &) | unordered_map | unordered_map | 2 | size_type | +| (from_range_t,R &&,size_type,const Hash &,const Pred &) | unordered_map | unordered_map | 3 | const class:2 & | +| (from_range_t,R &&,size_type,const Hash &,const Pred &) | unordered_map | unordered_map | 4 | const class:3 & | +| (from_range_t,R &&,size_type,const Hash &,const Pred &,const Allocator &) | unordered_map | unordered_map | 0 | from_range_t | +| (from_range_t,R &&,size_type,const Hash &,const Pred &,const Allocator &) | unordered_map | unordered_map | 1 | func:0 && | +| (from_range_t,R &&,size_type,const Hash &,const Pred &,const Allocator &) | unordered_map | unordered_map | 2 | size_type | +| (from_range_t,R &&,size_type,const Hash &,const Pred &,const Allocator &) | unordered_map | unordered_map | 3 | const class:2 & | +| (from_range_t,R &&,size_type,const Hash &,const Pred &,const Allocator &) | unordered_map | unordered_map | 4 | const class:3 & | +| (from_range_t,R &&,size_type,const Hash &,const Pred &,const Allocator &) | unordered_map | unordered_map | 5 | const class:4 & | | (ftp_parselist_data *) | | Curl_ftp_parselist_geterror | 0 | ftp_parselist_data * | | (ftp_parselist_data **) | | Curl_ftp_parselist_data_free | 0 | ftp_parselist_data ** | | (fuse_in_header *,uint32_t) | | support_fuse_cast_internal | 0 | fuse_in_header * | @@ -21047,6 +21614,42 @@ getSignatureParameterName | (in_addr_t,uint32_t,char *,size_t) | | inet_neta | 1 | uint32_t | | (in_addr_t,uint32_t,char *,size_t) | | inet_neta | 2 | char * | | (in_addr_t,uint32_t,char *,size_t) | | inet_neta | 3 | size_t | +| (initializer_list) | map | insert | 0 | initializer_list | +| (initializer_list) | map | map | 0 | initializer_list | +| (initializer_list) | map | operator= | 0 | initializer_list | +| (initializer_list) | unordered_map | insert | 0 | initializer_list | +| (initializer_list) | unordered_map | operator= | 0 | initializer_list | +| (initializer_list) | unordered_map | unordered_map | 0 | initializer_list | +| (initializer_list,const Allocator &) | map | map | 0 | initializer_list | +| (initializer_list,const Allocator &) | map | map | 1 | const class:3 & | +| (initializer_list,const Allocator &) | unordered_map | unordered_map | 0 | initializer_list | +| (initializer_list,const Allocator &) | unordered_map | unordered_map | 1 | const class:4 & | +| (initializer_list,const Compare &) | map | map | 0 | initializer_list | +| (initializer_list,const Compare &) | map | map | 1 | const class:2 & | +| (initializer_list,const Compare &,const Allocator &) | map | map | 0 | initializer_list | +| (initializer_list,const Compare &,const Allocator &) | map | map | 1 | const class:2 & | +| (initializer_list,const Compare &,const Allocator &) | map | map | 2 | const class:3 & | +| (initializer_list,size_type) | unordered_map | unordered_map | 0 | initializer_list | +| (initializer_list,size_type) | unordered_map | unordered_map | 1 | size_type | +| (initializer_list,size_type,const Allocator &) | unordered_map | unordered_map | 0 | initializer_list | +| (initializer_list,size_type,const Allocator &) | unordered_map | unordered_map | 1 | size_type | +| (initializer_list,size_type,const Allocator &) | unordered_map | unordered_map | 2 | const class:4 & | +| (initializer_list,size_type,const Hash &) | unordered_map | unordered_map | 0 | initializer_list | +| (initializer_list,size_type,const Hash &) | unordered_map | unordered_map | 1 | size_type | +| (initializer_list,size_type,const Hash &) | unordered_map | unordered_map | 2 | const class:2 & | +| (initializer_list,size_type,const Hash &,const Allocator &) | unordered_map | unordered_map | 0 | initializer_list | +| (initializer_list,size_type,const Hash &,const Allocator &) | unordered_map | unordered_map | 1 | size_type | +| (initializer_list,size_type,const Hash &,const Allocator &) | unordered_map | unordered_map | 2 | const class:2 & | +| (initializer_list,size_type,const Hash &,const Allocator &) | unordered_map | unordered_map | 3 | const class:4 & | +| (initializer_list,size_type,const Hash &,const Pred &) | unordered_map | unordered_map | 0 | initializer_list | +| (initializer_list,size_type,const Hash &,const Pred &) | unordered_map | unordered_map | 1 | size_type | +| (initializer_list,size_type,const Hash &,const Pred &) | unordered_map | unordered_map | 2 | const class:2 & | +| (initializer_list,size_type,const Hash &,const Pred &) | unordered_map | unordered_map | 3 | const class:3 & | +| (initializer_list,size_type,const Hash &,const Pred &,const Allocator &) | unordered_map | unordered_map | 0 | initializer_list | +| (initializer_list,size_type,const Hash &,const Pred &,const Allocator &) | unordered_map | unordered_map | 1 | size_type | +| (initializer_list,size_type,const Hash &,const Pred &,const Allocator &) | unordered_map | unordered_map | 2 | const class:2 & | +| (initializer_list,size_type,const Hash &,const Pred &,const Allocator &) | unordered_map | unordered_map | 3 | const class:3 & | +| (initializer_list,size_type,const Hash &,const Pred &,const Allocator &) | unordered_map | unordered_map | 4 | const class:4 & | | (int32_t *,int32_t *,int32_t *,int32_t *) | | nghttp2_adjust_local_window_size | 0 | int32_t * | | (int32_t *,int32_t *,int32_t *,int32_t *) | | nghttp2_adjust_local_window_size | 1 | int32_t * | | (int32_t *,int32_t *,int32_t *,int32_t *) | | nghttp2_adjust_local_window_size | 2 | int32_t * | @@ -22168,6 +22771,25 @@ getSignatureParameterName | (istream &,TYPE *,const char *) | Decoder | decodeAny | 0 | istream & | | (istream &,TYPE *,const char *) | Decoder | decodeAny | 1 | func:0 * | | (istream &,TYPE *,const char *) | Decoder | decodeAny | 2 | const char * | +| (iterator) | unordered_map | erase | 0 | iterator | +| (iterator,CharT) | basic_string | insert | 0 | iterator | +| (iterator,CharT) | basic_string | insert | 1 | class:0 | +| (iterator,InputIt,InputIt) | basic_string | insert | 0 | iterator | +| (iterator,InputIt,InputIt) | basic_string | insert | 1 | func:0 | +| (iterator,InputIt,InputIt) | basic_string | insert | 2 | func:0 | +| (iterator,size_type,CharT) | basic_string | insert | 0 | iterator | +| (iterator,size_type,CharT) | basic_string | insert | 1 | size_type | +| (iterator,size_type,CharT) | basic_string | insert | 2 | class:0 | +| (key_type &&) | map | operator[] | 0 | key_type && | +| (key_type &&) | unordered_map | operator[] | 0 | key_type && | +| (key_type &&,Args &&) | map | try_emplace | 0 | key_type && | +| (key_type &&,Args &&) | map | try_emplace | 1 | func:0 && | +| (key_type &&,Args &&) | unordered_map | try_emplace | 0 | key_type && | +| (key_type &&,Args &&) | unordered_map | try_emplace | 1 | func:0 && | +| (key_type &&,M &&) | map | insert_or_assign | 0 | key_type && | +| (key_type &&,M &&) | map | insert_or_assign | 1 | func:0 && | +| (key_type &&,M &&) | unordered_map | insert_or_assign | 0 | key_type && | +| (key_type &&,M &&) | unordered_map | insert_or_assign | 1 | func:0 && | | (lemon *) | | ResortStates | 0 | lemon * | | (lemon *) | | getstate | 0 | lemon * | | (lemon *,action *) | | compute_action | 0 | lemon * | @@ -22626,6 +23248,12 @@ getSignatureParameterName | (long,drand48_data *) | | __srand48_r | 1 | drand48_data * | | (long,long) | | ldiv | 0 | long | | (long,long) | | ldiv | 1 | long | +| (map &&) | map | map | 0 | map && | +| (map &&) | map | merge | 0 | map && | +| (map &&) | map | operator= | 0 | map && | +| (map &&,const Allocator &) | map | map | 0 | map && | +| (map &&,const Allocator &) | map | map | 1 | const class:3 & | +| (map &) | map | merge | 0 | map & | | (md5_ctx *,void *) | | __md5_finish_ctx | 0 | md5_ctx * | | (md5_ctx *,void *) | | __md5_finish_ctx | 1 | void * | | (mp_ptr,mp_size_t,int *,int *,_Float128) | | __mpn_extract_float128 | 0 | mp_ptr | @@ -22710,6 +23338,8 @@ getSignatureParameterName | (mp_srcptr,mp_size_t,mp_limb_t) | | __mpn_mod_1 | 2 | mp_limb_t | | (msghdr *,cmsghdr *) | | __cmsg_nxthdr | 0 | msghdr * | | (msghdr *,cmsghdr *) | | __cmsg_nxthdr | 1 | cmsghdr * | +| (multimap &&) | map | merge | 0 | multimap && | +| (multimap &) | map | merge | 0 | multimap & | | (netent *,char *,size_t,int *,int *) | | _nss_files_getnetent_r | 0 | netent * | | (netent *,char *,size_t,int *,int *) | | _nss_files_getnetent_r | 1 | char * | | (netent *,char *,size_t,int *,int *) | | _nss_files_getnetent_r | 2 | size_t | @@ -23463,6 +24093,8 @@ getSignatureParameterName | (ostream &,const TYPE &) | Encoder | encode | 1 | const func:0 & | | (ostream &,const TYPE &) | Encoder | encodeAny | 0 | ostream & | | (ostream &,const TYPE &) | Encoder | encodeAny | 1 | const func:0 & | +| (pair &&) | pair | operator= | 0 | pair && | +| (pair &&) | pair | pair | 0 | pair && | | (passwd *,char *,size_t,int *) | | _nss_compat_getpwent_r | 0 | passwd * | | (passwd *,char *,size_t,int *) | | _nss_compat_getpwent_r | 1 | char * | | (passwd *,char *,size_t,int *) | | _nss_compat_getpwent_r | 2 | size_t | @@ -23971,6 +24603,24 @@ getSignatureParameterName | (size_t,uint32_t *,uint8_t *) | | BrotliOptimizeHuffmanCountsForRle | 2 | uint8_t * | | (size_t,void **) | | __libc_alloc_buffer_allocate | 0 | size_t | | (size_t,void **) | | __libc_alloc_buffer_allocate | 1 | void ** | +| (size_type,CharT) | basic_string | append | 0 | size_type | +| (size_type,CharT) | basic_string | append | 1 | class:0 | +| (size_type,CharT) | basic_string | assign | 0 | size_type | +| (size_type,CharT) | basic_string | assign | 1 | class:0 | +| (size_type,CharT,const Allocator &) | basic_string | basic_string | 0 | size_type | +| (size_type,CharT,const Allocator &) | basic_string | basic_string | 1 | class:0 | +| (size_type,CharT,const Allocator &) | basic_string | basic_string | 2 | const class:2 & | +| (size_type,const CharT *) | basic_string | insert | 0 | size_type | +| (size_type,const CharT *) | basic_string | insert | 1 | const class:0 * | +| (size_type,const CharT *,size_type) | basic_string | insert | 0 | size_type | +| (size_type,const CharT *,size_type) | basic_string | insert | 1 | const class:0 * | +| (size_type,const CharT *,size_type) | basic_string | insert | 2 | size_type | +| (size_type,const StringViewLike &) | basic_string | insert | 0 | size_type | +| (size_type,const StringViewLike &) | basic_string | insert | 1 | const func:0 & | +| (size_type,const StringViewLike &,size_type,size_type) | basic_string | insert | 0 | size_type | +| (size_type,const StringViewLike &,size_type,size_type) | basic_string | insert | 1 | const func:0 & | +| (size_type,const StringViewLike &,size_type,size_type) | basic_string | insert | 2 | size_type | +| (size_type,const StringViewLike &,size_type,size_type) | basic_string | insert | 3 | size_type | | (size_type,const T &) | deque | assign | 0 | size_type | | (size_type,const T &) | deque | assign | 1 | const class:0 & | | (size_type,const T &) | forward_list | assign | 0 | size_type | @@ -23991,6 +24641,42 @@ getSignatureParameterName | (size_type,const T &,const Allocator &) | vector | vector | 0 | size_type | | (size_type,const T &,const Allocator &) | vector | vector | 1 | const class:0 & | | (size_type,const T &,const Allocator &) | vector | vector | 2 | const class:1 & | +| (size_type,const basic_string &) | basic_string | insert | 0 | size_type | +| (size_type,const basic_string &) | basic_string | insert | 1 | const basic_string & | +| (size_type,const basic_string &,size_type,size_type) | basic_string | insert | 0 | size_type | +| (size_type,const basic_string &,size_type,size_type) | basic_string | insert | 1 | const basic_string & | +| (size_type,const basic_string &,size_type,size_type) | basic_string | insert | 2 | size_type | +| (size_type,const basic_string &,size_type,size_type) | basic_string | insert | 3 | size_type | +| (size_type,size_type,CharT) | basic_string | insert | 0 | size_type | +| (size_type,size_type,CharT) | basic_string | insert | 1 | size_type | +| (size_type,size_type,CharT) | basic_string | insert | 2 | class:0 | +| (size_type,size_type,const CharT *) | basic_string | replace | 0 | size_type | +| (size_type,size_type,const CharT *) | basic_string | replace | 1 | size_type | +| (size_type,size_type,const CharT *) | basic_string | replace | 2 | const class:0 * | +| (size_type,size_type,const CharT *,size_type) | basic_string | replace | 0 | size_type | +| (size_type,size_type,const CharT *,size_type) | basic_string | replace | 1 | size_type | +| (size_type,size_type,const CharT *,size_type) | basic_string | replace | 2 | const class:0 * | +| (size_type,size_type,const CharT *,size_type) | basic_string | replace | 3 | size_type | +| (size_type,size_type,const StringViewLike &) | basic_string | replace | 0 | size_type | +| (size_type,size_type,const StringViewLike &) | basic_string | replace | 1 | size_type | +| (size_type,size_type,const StringViewLike &) | basic_string | replace | 2 | const func:0 & | +| (size_type,size_type,const StringViewLike &,size_type,size_type) | basic_string | replace | 0 | size_type | +| (size_type,size_type,const StringViewLike &,size_type,size_type) | basic_string | replace | 1 | size_type | +| (size_type,size_type,const StringViewLike &,size_type,size_type) | basic_string | replace | 2 | const func:0 & | +| (size_type,size_type,const StringViewLike &,size_type,size_type) | basic_string | replace | 3 | size_type | +| (size_type,size_type,const StringViewLike &,size_type,size_type) | basic_string | replace | 4 | size_type | +| (size_type,size_type,const basic_string &) | basic_string | replace | 0 | size_type | +| (size_type,size_type,const basic_string &) | basic_string | replace | 1 | size_type | +| (size_type,size_type,const basic_string &) | basic_string | replace | 2 | const basic_string & | +| (size_type,size_type,const basic_string &,size_type,size_type) | basic_string | replace | 0 | size_type | +| (size_type,size_type,const basic_string &,size_type,size_type) | basic_string | replace | 1 | size_type | +| (size_type,size_type,const basic_string &,size_type,size_type) | basic_string | replace | 2 | const basic_string & | +| (size_type,size_type,const basic_string &,size_type,size_type) | basic_string | replace | 3 | size_type | +| (size_type,size_type,const basic_string &,size_type,size_type) | basic_string | replace | 4 | size_type | +| (size_type,size_type,size_type,CharT) | basic_string | replace | 0 | size_type | +| (size_type,size_type,size_type,CharT) | basic_string | replace | 1 | size_type | +| (size_type,size_type,size_type,CharT) | basic_string | replace | 2 | size_type | +| (size_type,size_type,size_type,CharT) | basic_string | replace | 3 | class:0 | | (slist_wc **,const char *) | | easysrc_add | 0 | slist_wc ** | | (slist_wc **,const char *) | | easysrc_add | 1 | const char * | | (slist_wc *,const char *) | | slist_wc_append | 0 | slist_wc * | @@ -25214,6 +25900,14 @@ getSignatureParameterName | (uninorm_t,const uint32_t *,size_t,uint32_t *,uint32_t *__restrict__,size_t *) | | u32_normalize | 3 | uint32_t * | | (uninorm_t,const uint32_t *,size_t,uint32_t *,uint32_t *__restrict__,size_t *) | | u32_normalize | 4 | uint32_t *__restrict__ | | (uninorm_t,const uint32_t *,size_t,uint32_t *,uint32_t *__restrict__,size_t *) | | u32_normalize | 5 | size_t * | +| (unordered_map &&) | unordered_map | merge | 0 | unordered_map && | +| (unordered_map &&) | unordered_map | operator= | 0 | unordered_map && | +| (unordered_map &&) | unordered_map | unordered_map | 0 | unordered_map && | +| (unordered_map &&,const Allocator &) | unordered_map | unordered_map | 0 | unordered_map && | +| (unordered_map &&,const Allocator &) | unordered_map | unordered_map | 1 | const class:4 & | +| (unordered_map &) | unordered_map | merge | 0 | unordered_map & | +| (unordered_multimap &&) | unordered_map | merge | 0 | unordered_multimap && | +| (unordered_multimap &) | unordered_map | merge | 0 | unordered_multimap & | | (unsigned char *) | CStringT | CStringT | 0 | unsigned char * | | (unsigned char **) | | ASN1_put_eoc | 0 | unsigned char ** | | (unsigned char **,X509_ALGOR *,ASN1_OCTET_STRING *,int) | | CMS_SharedInfo_encode | 0 | unsigned char ** | @@ -26206,6 +26900,8 @@ getSignatureParameterName | (uv_write_t *,uv_stream_t *,const uv_buf_t[],unsigned int,uv_write_cb) | | uv_write | 2 | const uv_buf_t[] | | (uv_write_t *,uv_stream_t *,const uv_buf_t[],unsigned int,uv_write_cb) | | uv_write | 3 | unsigned int | | (uv_write_t *,uv_stream_t *,const uv_buf_t[],unsigned int,uv_write_cb) | | uv_write | 4 | uv_write_cb | +| (value_type &&) | map | insert | 0 | value_type && | +| (value_type &&) | unordered_map | insert | 0 | value_type && | | (vector &&) | vector | vector | 0 | vector && | | (vector &&,const Allocator &) | vector | vector | 0 | vector && | | (vector &&,const Allocator &) | vector | vector | 1 | const class:1 & | @@ -27370,15 +28066,16 @@ getParameterTypeName | format.cpp:142:8:142:13 | strlen | 0 | const char * | | format.cpp:143:8:143:13 | wcslen | 0 | const wchar_t * | | format.cpp:169:6:169:9 | test | 0 | format_string | +| map.cpp:6:21:6:26 | source | 0 | int | | map.cpp:8:6:8:9 | sink | 0 | char * | | map.cpp:9:6:9:9 | sink | 0 | const char * | | map.cpp:10:6:10:9 | sink | 0 | bool | | map.cpp:11:6:11:9 | sink | 0 | pair | -| map.cpp:12:6:12:9 | sink | 0 | map, allocator>> | +| map.cpp:12:6:12:9 | sink | 0 | map, allocator>> | | map.cpp:13:6:13:9 | sink | 0 | iterator | -| map.cpp:14:6:14:9 | sink | 0 | unordered_map, equal_to, allocator>> | +| map.cpp:14:6:14:9 | sink | 0 | unordered_map, equal_to, allocator>> | | map.cpp:15:6:15:9 | sink | 0 | iterator | -| map.cpp:16:6:16:9 | sink | 0 | unordered_map, hash, equal_to, allocator>>> | +| map.cpp:16:6:16:9 | sink | 0 | unordered_map, hash, equal_to, allocator>>> | | map.cpp:17:6:17:9 | sink | 0 | iterator | | map.cpp:442:7:442:19 | indirect_sink | 0 | int * | | movableclass.cpp:3:6:3:9 | sink | 0 | ... | @@ -27499,408 +28196,478 @@ getParameterTypeName | stl.h:91:24:91:33 | operator++ | 0 | int | | stl.h:95:44:95:44 | back_inserter | 0 | func:0 & | | stl.h:95:44:95:44 | back_inserter | 0 | func:0 & | -| stl.h:147:12:147:23 | basic_string | 0 | const class:2 & | -| stl.h:148:3:148:14 | basic_string | 0 | const class:0 * | -| stl.h:148:3:148:14 | basic_string | 1 | const class:2 & | -| stl.h:149:33:149:44 | basic_string | 0 | func:0 | -| stl.h:149:33:149:44 | basic_string | 1 | func:0 | -| stl.h:149:33:149:44 | basic_string | 2 | const class:2 & | -| stl.h:165:8:165:16 | push_back | 0 | class:0 | -| stl.h:173:13:173:22 | operator[] | 0 | size_type | -| stl.h:175:13:175:14 | at | 0 | size_type | -| stl.h:176:35:176:44 | operator+= | 0 | const func:0 & | -| stl.h:176:35:176:44 | operator+= | 0 | const func:0 & | -| stl.h:177:17:177:26 | operator+= | 0 | const class:0 * | -| stl.h:178:17:178:22 | append | 0 | const basic_string & | -| stl.h:179:17:179:22 | append | 0 | const class:0 * | -| stl.h:180:17:180:22 | append | 0 | size_type | -| stl.h:180:17:180:22 | append | 1 | class:0 | -| stl.h:181:47:181:52 | append | 0 | func:0 | -| stl.h:181:47:181:52 | append | 1 | func:0 | -| stl.h:182:17:182:22 | assign | 0 | const basic_string & | -| stl.h:183:17:183:22 | assign | 0 | size_type | -| stl.h:183:17:183:22 | assign | 1 | class:0 | -| stl.h:184:47:184:52 | assign | 0 | func:0 | -| stl.h:184:47:184:52 | assign | 1 | func:0 | -| stl.h:185:17:185:22 | insert | 0 | size_type | -| stl.h:185:17:185:22 | insert | 1 | const basic_string & | -| stl.h:186:17:186:22 | insert | 0 | size_type | -| stl.h:186:17:186:22 | insert | 1 | size_type | -| stl.h:186:17:186:22 | insert | 2 | class:0 | -| stl.h:187:17:187:22 | insert | 0 | size_type | -| stl.h:187:17:187:22 | insert | 1 | const class:0 * | -| stl.h:188:12:188:17 | insert | 0 | const_iterator | -| stl.h:188:12:188:17 | insert | 1 | size_type | -| stl.h:188:12:188:17 | insert | 2 | class:0 | -| stl.h:189:42:189:47 | insert | 0 | const_iterator | -| stl.h:189:42:189:47 | insert | 1 | func:0 | -| stl.h:189:42:189:47 | insert | 2 | func:0 | -| stl.h:190:17:190:23 | replace | 0 | size_type | -| stl.h:190:17:190:23 | replace | 1 | size_type | -| stl.h:190:17:190:23 | replace | 2 | const basic_string & | -| stl.h:191:17:191:23 | replace | 0 | size_type | -| stl.h:191:17:191:23 | replace | 1 | size_type | -| stl.h:191:17:191:23 | replace | 2 | size_type | -| stl.h:191:17:191:23 | replace | 3 | class:0 | -| stl.h:192:13:192:16 | copy | 0 | class:0 * | -| stl.h:192:13:192:16 | copy | 1 | size_type | -| stl.h:192:13:192:16 | copy | 2 | size_type | -| stl.h:194:16:194:21 | substr | 0 | size_type | -| stl.h:194:16:194:21 | substr | 1 | size_type | -| stl.h:195:8:195:11 | swap | 0 | basic_string & | -| stl.h:198:94:198:102 | operator+ | 0 | const basic_string & | -| stl.h:198:94:198:102 | operator+ | 1 | const basic_string & | -| stl.h:199:94:199:102 | operator+ | 0 | const basic_string & | -| stl.h:199:94:199:102 | operator+ | 1 | const func:0 * | -| stl.h:214:33:214:42 | operator>> | 0 | int & | -| stl.h:217:33:217:35 | get | 0 | char_type & | -| stl.h:217:33:217:35 | get | 0 | class:0 & | -| stl.h:218:33:218:35 | get | 0 | char_type * | -| stl.h:218:33:218:35 | get | 0 | class:0 * | -| stl.h:218:33:218:35 | get | 1 | streamsize | -| stl.h:218:33:218:35 | get | 1 | unsigned long | -| stl.h:220:33:220:36 | read | 0 | char_type * | -| stl.h:220:33:220:36 | read | 0 | class:0 * | -| stl.h:220:33:220:36 | read | 1 | streamsize | -| stl.h:220:33:220:36 | read | 1 | unsigned long | -| stl.h:221:14:221:21 | readsome | 0 | char_type * | -| stl.h:221:14:221:21 | readsome | 0 | class:0 * | -| stl.h:221:14:221:21 | readsome | 1 | streamsize | -| stl.h:221:14:221:21 | readsome | 1 | unsigned long | -| stl.h:222:33:222:39 | putback | 0 | char_type | -| stl.h:222:33:222:39 | putback | 0 | class:0 | -| stl.h:225:32:225:38 | getline | 0 | char_type * | -| stl.h:225:32:225:38 | getline | 0 | class:0 * | -| stl.h:225:32:225:38 | getline | 1 | streamsize | -| stl.h:225:32:225:38 | getline | 1 | unsigned long | -| stl.h:226:32:226:38 | getline | 0 | char_type * | -| stl.h:226:32:226:38 | getline | 0 | class:0 * | -| stl.h:226:32:226:38 | getline | 1 | streamsize | -| stl.h:226:32:226:38 | getline | 1 | unsigned long | -| stl.h:226:32:226:38 | getline | 2 | char_type | -| stl.h:226:32:226:38 | getline | 2 | class:0 | -| stl.h:229:68:229:77 | operator>> | 0 | basic_istream & | -| stl.h:229:68:229:77 | operator>> | 1 | func:0 * | -| stl.h:230:85:230:94 | operator>> | 0 | basic_istream & | -| stl.h:230:85:230:94 | operator>> | 1 | basic_string & | -| stl.h:232:84:232:90 | getline | 0 | basic_istream & | -| stl.h:232:84:232:90 | getline | 1 | basic_string & | -| stl.h:232:84:232:90 | getline | 2 | func:0 | -| stl.h:233:84:233:90 | getline | 0 | basic_istream & | -| stl.h:233:84:233:90 | getline | 1 | basic_string & | -| stl.h:240:33:240:42 | operator<< | 0 | int | -| stl.h:242:33:242:35 | put | 0 | char_type | -| stl.h:242:33:242:35 | put | 0 | class:0 | -| stl.h:243:33:243:37 | write | 0 | const char_type * | -| stl.h:243:33:243:37 | write | 0 | const class:0 * | -| stl.h:243:33:243:37 | write | 1 | streamsize | -| stl.h:243:33:243:37 | write | 1 | unsigned long | -| stl.h:247:67:247:76 | operator<< | 0 | basic_ostream & | -| stl.h:247:67:247:76 | operator<< | 1 | const func:0 * | -| stl.h:248:85:248:94 | operator<< | 0 | basic_ostream & | -| stl.h:248:85:248:94 | operator<< | 1 | const basic_string & | -| stl.h:259:12:259:29 | basic_stringstream | 0 | const basic_string & | -| stl.h:263:23:263:31 | operator= | 0 | basic_stringstream && | -| stl.h:265:8:265:11 | swap | 0 | basic_stringstream & | -| stl.h:268:8:268:10 | str | 0 | const basic_string & | -| stl.h:293:12:293:17 | vector | 0 | const class:1 & | -| stl.h:293:12:293:17 | vector | 0 | const class:1 & | -| stl.h:293:12:293:17 | vector | 0 | const class:1 & | -| stl.h:293:12:293:17 | vector | 0 | const class:1 & | -| stl.h:293:12:293:17 | vector | 0 | const class:1 & | -| stl.h:293:12:293:17 | vector | 0 | const class:1 & | -| stl.h:294:12:294:17 | vector | 0 | size_type | -| stl.h:294:12:294:17 | vector | 0 | size_type | -| stl.h:294:12:294:17 | vector | 0 | size_type | -| stl.h:294:12:294:17 | vector | 0 | unsigned int | -| stl.h:294:12:294:17 | vector | 0 | unsigned int | -| stl.h:294:12:294:17 | vector | 0 | unsigned int | -| stl.h:294:12:294:17 | vector | 1 | const class:1 & | -| stl.h:294:12:294:17 | vector | 1 | const class:1 & | -| stl.h:294:12:294:17 | vector | 1 | const class:1 & | -| stl.h:295:3:295:8 | vector | 0 | size_type | -| stl.h:295:3:295:8 | vector | 0 | size_type | -| stl.h:295:3:295:8 | vector | 0 | unsigned int | -| stl.h:295:3:295:8 | vector | 0 | unsigned int | -| stl.h:295:3:295:8 | vector | 1 | const class:0 & | -| stl.h:295:3:295:8 | vector | 1 | const class:0 & | -| stl.h:295:3:295:8 | vector | 2 | const class:1 & | -| stl.h:295:3:295:8 | vector | 2 | const class:1 & | -| stl.h:296:101:296:106 | vector | 0 | func:0 | -| stl.h:296:101:296:106 | vector | 1 | func:0 | -| stl.h:296:101:296:106 | vector | 2 | const class:1 & | -| stl.h:301:11:301:19 | operator= | 0 | const vector & | -| stl.h:302:11:302:19 | operator= | 0 | vector && | -| stl.h:303:106:303:111 | assign | 0 | func:0 | -| stl.h:303:106:303:111 | assign | 1 | func:0 | -| stl.h:306:8:306:13 | assign | 0 | size_type | -| stl.h:306:8:306:13 | assign | 0 | size_type | -| stl.h:306:8:306:13 | assign | 0 | size_type | -| stl.h:306:8:306:13 | assign | 0 | unsigned int | -| stl.h:306:8:306:13 | assign | 0 | unsigned int | -| stl.h:306:8:306:13 | assign | 0 | unsigned int | -| stl.h:306:8:306:13 | assign | 1 | const class:0 & | -| stl.h:306:8:306:13 | assign | 1 | const class:0 & | -| stl.h:306:8:306:13 | assign | 1 | const class:0 & | -| stl.h:315:13:315:22 | operator[] | 0 | size_type | -| stl.h:315:13:315:22 | operator[] | 0 | size_type | -| stl.h:315:13:315:22 | operator[] | 0 | size_type | -| stl.h:315:13:315:22 | operator[] | 0 | size_type | -| stl.h:315:13:315:22 | operator[] | 0 | size_type | -| stl.h:315:13:315:22 | operator[] | 0 | size_type | -| stl.h:315:13:315:22 | operator[] | 0 | unsigned int | -| stl.h:315:13:315:22 | operator[] | 0 | unsigned int | -| stl.h:315:13:315:22 | operator[] | 0 | unsigned int | -| stl.h:315:13:315:22 | operator[] | 0 | unsigned int | -| stl.h:315:13:315:22 | operator[] | 0 | unsigned int | -| stl.h:315:13:315:22 | operator[] | 0 | unsigned int | -| stl.h:318:13:318:14 | at | 0 | size_type | -| stl.h:318:13:318:14 | at | 0 | unsigned int | -| stl.h:327:8:327:16 | push_back | 0 | const class:0 & | -| stl.h:327:8:327:16 | push_back | 0 | const class:0 & | -| stl.h:328:8:328:16 | push_back | 0 | class:0 && | -| stl.h:331:12:331:17 | insert | 0 | const_iterator | -| stl.h:331:12:331:17 | insert | 1 | class:0 && | -| stl.h:333:42:333:47 | insert | 0 | const_iterator | -| stl.h:333:42:333:47 | insert | 0 | const_iterator | -| stl.h:333:42:333:47 | insert | 1 | func:0 | -| stl.h:333:42:333:47 | insert | 1 | func:0 | -| stl.h:333:42:333:47 | insert | 2 | func:0 | -| stl.h:333:42:333:47 | insert | 2 | func:0 | -| stl.h:335:37:335:43 | emplace | 0 | const_iterator | -| stl.h:335:37:335:43 | emplace | 1 | func:0 && | -| stl.h:336:33:336:44 | emplace_back | 0 | func:0 && | -| stl.h:338:8:338:11 | swap | 0 | vector & | -| stl.h:351:12:351:21 | shared_ptr | 0 | class:0 * | -| stl.h:352:3:352:12 | shared_ptr | 0 | const shared_ptr & | -| stl.h:352:3:352:12 | shared_ptr | 0 | const shared_ptr & | -| stl.h:369:12:369:21 | unique_ptr | 0 | class:0 * | -| stl.h:380:52:380:62 | make_unique | 0 | func:1 && | -| stl.h:380:52:380:62 | make_unique | 0 | func:1 && | -| stl.h:380:52:380:62 | make_unique | 0 | func:1 && | -| stl.h:382:52:382:62 | make_shared | 0 | func:1 && | -| stl.h:382:52:382:62 | make_shared | 0 | func:1 && | -| stl.h:382:52:382:62 | make_shared | 0 | func:1 && | -| stl.h:396:3:396:3 | pair | 0 | const class:0 & | -| stl.h:396:3:396:3 | pair | 0 | const class:0 & | -| stl.h:396:3:396:3 | pair | 0 | const class:0 & | -| stl.h:396:3:396:3 | pair | 0 | const class:0 & | -| stl.h:396:3:396:3 | pair | 0 | const class:0 & | -| stl.h:396:3:396:3 | pair | 1 | const class:1 & | -| stl.h:396:3:396:3 | pair | 1 | const class:1 & | -| stl.h:396:3:396:3 | pair | 1 | const class:1 & | -| stl.h:396:3:396:3 | pair | 1 | const class:1 & | -| stl.h:396:3:396:3 | pair | 1 | const class:1 & | -| stl.h:397:30:397:33 | pair | 0 | const pair & | -| stl.h:397:30:397:33 | pair | 0 | const pair & | -| stl.h:397:30:397:33 | pair | 0 | const pair & | -| stl.h:397:30:397:33 | pair | 0 | const pair & | -| stl.h:397:30:397:33 | pair | 0 | const pair & | -| stl.h:397:30:397:33 | pair | 0 | const pair & | -| stl.h:397:30:397:33 | pair | 0 | const pair & | -| stl.h:397:30:397:33 | pair | 0 | const pair & | -| stl.h:397:30:397:33 | pair | 0 | const pair & | -| stl.h:397:30:397:33 | pair | 0 | const pair & | -| stl.h:397:30:397:33 | pair | 0 | const pair & | -| stl.h:397:30:397:33 | pair | 0 | const pair & | -| stl.h:399:8:399:11 | swap | 0 | pair & | -| stl.h:402:72:402:72 | make_pair | 0 | func:0 && | -| stl.h:402:72:402:72 | make_pair | 0 | func:0 && | -| stl.h:402:72:402:72 | make_pair | 0 | func:0 && | -| stl.h:402:72:402:72 | make_pair | 0 | func:0 && | -| stl.h:402:72:402:72 | make_pair | 0 | func:0 && | -| stl.h:402:72:402:72 | make_pair | 0 | func:0 && | -| stl.h:402:72:402:72 | make_pair | 1 | func:1 && | -| stl.h:402:72:402:72 | make_pair | 1 | func:1 && | -| stl.h:402:72:402:72 | make_pair | 1 | func:1 && | -| stl.h:402:72:402:72 | make_pair | 1 | func:1 && | -| stl.h:402:72:402:72 | make_pair | 1 | func:1 && | -| stl.h:402:72:402:72 | make_pair | 1 | func:1 && | -| stl.h:422:3:422:5 | map | 0 | const map & | -| stl.h:426:8:426:16 | operator= | 0 | const map & | -| stl.h:435:6:435:15 | operator[] | 0 | class:0 && | -| stl.h:435:6:435:15 | operator[] | 0 | class:0 && | -| stl.h:435:6:435:15 | operator[] | 0 | key_type && | -| stl.h:435:6:435:15 | operator[] | 0 | key_type && | -| stl.h:436:6:436:7 | at | 0 | const class:0 & | -| stl.h:436:6:436:7 | at | 0 | const key_type & | -| stl.h:439:48:439:54 | emplace | 0 | func:0 && | -| stl.h:439:48:439:54 | emplace | 0 | func:0 && | -| stl.h:440:36:440:47 | emplace_hint | 0 | const_iterator | -| stl.h:440:36:440:47 | emplace_hint | 0 | const_iterator | -| stl.h:440:36:440:47 | emplace_hint | 1 | func:0 && | -| stl.h:440:36:440:47 | emplace_hint | 1 | func:0 && | -| stl.h:443:24:443:29 | insert | 0 | value_type && | -| stl.h:445:12:445:17 | insert | 0 | const_iterator | -| stl.h:445:12:445:17 | insert | 1 | value_type && | -| stl.h:448:48:448:58 | try_emplace | 0 | class:0 && | -| stl.h:448:48:448:58 | try_emplace | 0 | class:0 && | -| stl.h:448:48:448:58 | try_emplace | 0 | key_type && | -| stl.h:448:48:448:58 | try_emplace | 0 | key_type && | -| stl.h:448:48:448:58 | try_emplace | 1 | func:0 && | -| stl.h:448:48:448:58 | try_emplace | 1 | func:0 && | -| stl.h:450:36:450:46 | try_emplace | 0 | const_iterator | -| stl.h:450:36:450:46 | try_emplace | 0 | const_iterator | -| stl.h:450:36:450:46 | try_emplace | 1 | class:0 && | -| stl.h:450:36:450:46 | try_emplace | 1 | class:0 && | -| stl.h:450:36:450:46 | try_emplace | 1 | key_type && | -| stl.h:450:36:450:46 | try_emplace | 1 | key_type && | -| stl.h:450:36:450:46 | try_emplace | 2 | func:0 && | -| stl.h:450:36:450:46 | try_emplace | 2 | func:0 && | -| stl.h:452:42:452:57 | insert_or_assign | 0 | class:0 && | -| stl.h:452:42:452:57 | insert_or_assign | 0 | key_type && | -| stl.h:452:42:452:57 | insert_or_assign | 1 | func:0 && | -| stl.h:454:30:454:45 | insert_or_assign | 0 | const_iterator | -| stl.h:454:30:454:45 | insert_or_assign | 1 | class:0 && | -| stl.h:454:30:454:45 | insert_or_assign | 1 | key_type && | -| stl.h:454:30:454:45 | insert_or_assign | 2 | func:0 && | -| stl.h:456:12:456:16 | erase | 0 | iterator | -| stl.h:459:8:459:11 | swap | 0 | map & | -| stl.h:462:27:462:31 | merge | 0 | map & | -| stl.h:465:12:465:15 | find | 0 | const class:0 & | -| stl.h:465:12:465:15 | find | 0 | const key_type & | -| stl.h:468:12:468:22 | lower_bound | 0 | const class:0 & | -| stl.h:468:12:468:22 | lower_bound | 0 | const key_type & | -| stl.h:470:12:470:22 | upper_bound | 0 | const class:0 & | -| stl.h:470:12:470:22 | upper_bound | 0 | const key_type & | -| stl.h:473:28:473:38 | equal_range | 0 | const class:0 & | -| stl.h:473:28:473:38 | equal_range | 0 | const key_type & | -| stl.h:490:3:490:15 | unordered_map | 0 | const unordered_map & | -| stl.h:490:3:490:15 | unordered_map | 0 | const unordered_map & | -| stl.h:494:18:494:26 | operator= | 0 | const unordered_map & | -| stl.h:503:16:503:25 | operator[] | 0 | class:0 && | -| stl.h:503:16:503:25 | operator[] | 0 | class:0 && | -| stl.h:503:16:503:25 | operator[] | 0 | key_type && | -| stl.h:503:16:503:25 | operator[] | 0 | key_type && | -| stl.h:504:16:504:17 | at | 0 | const class:0 & | -| stl.h:504:16:504:17 | at | 0 | const key_type & | -| stl.h:507:48:507:54 | emplace | 0 | func:0 && | -| stl.h:507:48:507:54 | emplace | 0 | func:0 && | -| stl.h:507:48:507:54 | emplace | 0 | func:0 && | -| stl.h:507:48:507:54 | emplace | 0 | func:0 && | -| stl.h:507:48:507:54 | emplace | 0 | func:0 && | -| stl.h:508:36:508:47 | emplace_hint | 0 | const_iterator | -| stl.h:508:36:508:47 | emplace_hint | 0 | const_iterator | -| stl.h:508:36:508:47 | emplace_hint | 1 | func:0 && | -| stl.h:508:36:508:47 | emplace_hint | 1 | func:0 && | -| stl.h:511:24:511:29 | insert | 0 | value_type && | -| stl.h:513:12:513:17 | insert | 0 | const_iterator | -| stl.h:513:12:513:17 | insert | 1 | value_type && | -| stl.h:516:48:516:58 | try_emplace | 0 | class:0 && | -| stl.h:516:48:516:58 | try_emplace | 0 | class:0 && | -| stl.h:516:48:516:58 | try_emplace | 0 | class:0 && | -| stl.h:516:48:516:58 | try_emplace | 0 | class:0 && | -| stl.h:516:48:516:58 | try_emplace | 0 | class:0 && | -| stl.h:516:48:516:58 | try_emplace | 0 | key_type && | -| stl.h:516:48:516:58 | try_emplace | 0 | key_type && | -| stl.h:516:48:516:58 | try_emplace | 0 | key_type && | -| stl.h:516:48:516:58 | try_emplace | 0 | key_type && | -| stl.h:516:48:516:58 | try_emplace | 0 | key_type && | -| stl.h:516:48:516:58 | try_emplace | 1 | func:0 && | -| stl.h:516:48:516:58 | try_emplace | 1 | func:0 && | -| stl.h:516:48:516:58 | try_emplace | 1 | func:0 && | -| stl.h:516:48:516:58 | try_emplace | 1 | func:0 && | -| stl.h:516:48:516:58 | try_emplace | 1 | func:0 && | -| stl.h:518:36:518:46 | try_emplace | 0 | const_iterator | -| stl.h:518:36:518:46 | try_emplace | 0 | const_iterator | -| stl.h:518:36:518:46 | try_emplace | 1 | class:0 && | -| stl.h:518:36:518:46 | try_emplace | 1 | class:0 && | -| stl.h:518:36:518:46 | try_emplace | 1 | key_type && | -| stl.h:518:36:518:46 | try_emplace | 1 | key_type && | -| stl.h:518:36:518:46 | try_emplace | 2 | func:0 && | -| stl.h:518:36:518:46 | try_emplace | 2 | func:0 && | -| stl.h:520:42:520:57 | insert_or_assign | 0 | class:0 && | -| stl.h:520:42:520:57 | insert_or_assign | 0 | key_type && | -| stl.h:520:42:520:57 | insert_or_assign | 1 | func:0 && | -| stl.h:522:30:522:45 | insert_or_assign | 0 | const_iterator | -| stl.h:522:30:522:45 | insert_or_assign | 1 | class:0 && | -| stl.h:522:30:522:45 | insert_or_assign | 1 | key_type && | -| stl.h:522:30:522:45 | insert_or_assign | 2 | func:0 && | -| stl.h:524:12:524:16 | erase | 0 | iterator | -| stl.h:527:8:527:11 | swap | 0 | unordered_map & | -| stl.h:530:37:530:41 | merge | 0 | unordered_map & | -| stl.h:533:12:533:15 | find | 0 | const class:0 & | -| stl.h:533:12:533:15 | find | 0 | const key_type & | -| stl.h:536:28:536:38 | equal_range | 0 | const class:0 & | -| stl.h:536:28:536:38 | equal_range | 0 | const key_type & | -| stl.h:555:3:555:5 | set | 0 | const set & | -| stl.h:557:33:557:35 | set | 0 | func:0 | -| stl.h:557:33:557:35 | set | 1 | func:0 | -| stl.h:560:8:560:16 | operator= | 0 | const set & | -| stl.h:568:48:568:54 | emplace | 0 | func:0 && | -| stl.h:568:48:568:54 | emplace | 0 | func:0 && | -| stl.h:569:36:569:47 | emplace_hint | 0 | const_iterator | -| stl.h:569:36:569:47 | emplace_hint | 0 | const_iterator | -| stl.h:569:36:569:47 | emplace_hint | 1 | func:0 && | -| stl.h:569:36:569:47 | emplace_hint | 1 | func:0 && | -| stl.h:571:23:571:28 | insert | 0 | class:0 && | -| stl.h:571:23:571:28 | insert | 0 | value_type && | -| stl.h:573:12:573:17 | insert | 0 | const_iterator | -| stl.h:573:12:573:17 | insert | 1 | class:0 && | -| stl.h:573:12:573:17 | insert | 1 | value_type && | -| stl.h:574:38:574:43 | insert | 0 | func:0 | -| stl.h:574:38:574:43 | insert | 1 | func:0 | -| stl.h:576:12:576:16 | erase | 0 | iterator | -| stl.h:579:8:579:11 | swap | 0 | set & | -| stl.h:582:27:582:31 | merge | 0 | set & | -| stl.h:585:12:585:15 | find | 0 | const class:0 & | -| stl.h:585:12:585:15 | find | 0 | const key_type & | -| stl.h:588:12:588:22 | lower_bound | 0 | const class:0 & | -| stl.h:588:12:588:22 | lower_bound | 0 | const key_type & | -| stl.h:590:12:590:22 | upper_bound | 0 | const class:0 & | -| stl.h:590:12:590:22 | upper_bound | 0 | const key_type & | -| stl.h:592:28:592:38 | equal_range | 0 | const class:0 & | -| stl.h:592:28:592:38 | equal_range | 0 | const key_type & | -| stl.h:609:3:609:15 | unordered_set | 0 | const unordered_set & | -| stl.h:611:33:611:45 | unordered_set | 0 | func:0 | -| stl.h:611:33:611:45 | unordered_set | 1 | func:0 | -| stl.h:611:33:611:45 | unordered_set | 2 | size_type | -| stl.h:611:33:611:45 | unordered_set | 2 | unsigned long | -| stl.h:614:18:614:26 | operator= | 0 | const unordered_set & | -| stl.h:622:48:622:54 | emplace | 0 | func:0 && | -| stl.h:622:48:622:54 | emplace | 0 | func:0 && | -| stl.h:623:36:623:47 | emplace_hint | 0 | const_iterator | -| stl.h:623:36:623:47 | emplace_hint | 0 | const_iterator | -| stl.h:623:36:623:47 | emplace_hint | 1 | func:0 && | -| stl.h:623:36:623:47 | emplace_hint | 1 | func:0 && | -| stl.h:625:24:625:29 | insert | 0 | class:0 && | -| stl.h:625:24:625:29 | insert | 0 | value_type && | -| stl.h:627:12:627:17 | insert | 0 | const_iterator | -| stl.h:627:12:627:17 | insert | 1 | class:0 && | -| stl.h:627:12:627:17 | insert | 1 | value_type && | -| stl.h:628:38:628:43 | insert | 0 | func:0 | -| stl.h:628:38:628:43 | insert | 1 | func:0 | -| stl.h:630:12:630:16 | erase | 0 | iterator | -| stl.h:633:8:633:11 | swap | 0 | unordered_set & | -| stl.h:636:37:636:41 | merge | 0 | unordered_set & | -| stl.h:639:12:639:15 | find | 0 | const class:0 & | -| stl.h:639:12:639:15 | find | 0 | const key_type & | -| stl.h:641:28:641:38 | equal_range | 0 | const class:0 & | -| stl.h:641:28:641:38 | equal_range | 0 | const key_type & | -| stl.h:671:21:671:39 | basic_format_string | 0 | const func:0 & | -| stl.h:671:21:671:39 | basic_format_string | 0 | const func:0 & | -| stl.h:678:33:678:38 | format | 0 | format_string | -| stl.h:678:33:678:38 | format | 0 | format_string | -| stl.h:678:33:678:38 | format | 1 | func:0 && | -| stl.h:678:33:678:38 | format | 1 | func:0 && | -| stl.h:683:6:683:48 | same_signature_as_format_but_different_name | 0 | format_string | -| stl.h:683:6:683:48 | same_signature_as_format_but_different_name | 1 | func:0 && | -| stl.h:687:8:687:8 | operator= | 0 | const thread & | -| stl.h:687:8:687:8 | thread | 0 | const thread & | -| stl.h:690:12:690:17 | thread | 0 | func:0 && | -| stl.h:690:12:690:17 | thread | 0 | func:0 && | -| stl.h:690:12:690:17 | thread | 0 | func:0 && | -| stl.h:690:12:690:17 | thread | 0 | func:0 && | -| stl.h:690:12:690:17 | thread | 1 | func:1 && | -| stl.h:690:12:690:17 | thread | 1 | func:1 && | -| stl.h:690:12:690:17 | thread | 1 | func:1 && | -| stl.h:690:12:690:17 | thread | 1 | func:1 && | +| stl.h:166:12:166:23 | basic_string | 0 | const class:2 & | +| stl.h:167:3:167:14 | basic_string | 0 | const class:0 * | +| stl.h:167:3:167:14 | basic_string | 1 | const class:2 & | +| stl.h:168:33:168:44 | basic_string | 0 | func:0 | +| stl.h:168:33:168:44 | basic_string | 1 | func:0 | +| stl.h:168:33:168:44 | basic_string | 2 | const class:2 & | +| stl.h:171:12:171:23 | basic_string | 0 | const func:0 & | +| stl.h:171:12:171:23 | basic_string | 1 | const class:2 & | +| stl.h:174:3:174:14 | basic_string | 0 | const func:0 & | +| stl.h:174:3:174:14 | basic_string | 1 | size_type | +| stl.h:174:3:174:14 | basic_string | 2 | size_type | +| stl.h:174:3:174:14 | basic_string | 3 | const class:2 & | +| stl.h:190:8:190:16 | push_back | 0 | class:0 | +| stl.h:198:13:198:22 | operator[] | 0 | size_type | +| stl.h:200:13:200:14 | at | 0 | size_type | +| stl.h:201:35:201:44 | operator+= | 0 | const func:0 & | +| stl.h:201:35:201:44 | operator+= | 0 | const func:0 & | +| stl.h:202:17:202:26 | operator+= | 0 | const class:0 * | +| stl.h:203:17:203:22 | append | 0 | const basic_string & | +| stl.h:206:174:206:179 | append | 0 | const func:0 & | +| stl.h:206:174:206:179 | append | 1 | size_type | +| stl.h:206:174:206:179 | append | 2 | size_type | +| stl.h:208:17:208:22 | append | 0 | const class:0 * | +| stl.h:209:17:209:22 | append | 0 | size_type | +| stl.h:209:17:209:22 | append | 1 | class:0 | +| stl.h:210:47:210:52 | append | 0 | func:0 | +| stl.h:210:47:210:52 | append | 1 | func:0 | +| stl.h:211:17:211:22 | assign | 0 | const basic_string & | +| stl.h:214:17:214:22 | assign | 0 | const func:0 & | +| stl.h:218:17:218:22 | assign | 0 | size_type | +| stl.h:218:17:218:22 | assign | 1 | class:0 | +| stl.h:219:47:219:52 | assign | 0 | func:0 | +| stl.h:219:47:219:52 | assign | 1 | func:0 | +| stl.h:220:17:220:22 | insert | 0 | size_type | +| stl.h:220:17:220:22 | insert | 1 | const basic_string & | +| stl.h:223:17:223:22 | insert | 0 | size_type | +| stl.h:223:17:223:22 | insert | 1 | const func:0 & | +| stl.h:226:17:226:22 | insert | 0 | size_type | +| stl.h:226:17:226:22 | insert | 1 | size_type | +| stl.h:226:17:226:22 | insert | 2 | class:0 | +| stl.h:227:17:227:22 | insert | 0 | size_type | +| stl.h:227:17:227:22 | insert | 1 | const class:0 * | +| stl.h:228:12:228:17 | insert | 0 | const_iterator | +| stl.h:228:12:228:17 | insert | 1 | size_type | +| stl.h:228:12:228:17 | insert | 2 | class:0 | +| stl.h:229:42:229:47 | insert | 0 | const_iterator | +| stl.h:229:42:229:47 | insert | 1 | func:0 | +| stl.h:229:42:229:47 | insert | 2 | func:0 | +| stl.h:230:17:230:23 | replace | 0 | size_type | +| stl.h:230:17:230:23 | replace | 1 | size_type | +| stl.h:230:17:230:23 | replace | 2 | const basic_string & | +| stl.h:233:17:233:23 | replace | 0 | size_type | +| stl.h:233:17:233:23 | replace | 1 | size_type | +| stl.h:233:17:233:23 | replace | 2 | const func:0 & | +| stl.h:239:17:239:23 | replace | 0 | size_type | +| stl.h:239:17:239:23 | replace | 1 | size_type | +| stl.h:239:17:239:23 | replace | 2 | size_type | +| stl.h:239:17:239:23 | replace | 3 | class:0 | +| stl.h:240:13:240:16 | copy | 0 | class:0 * | +| stl.h:240:13:240:16 | copy | 1 | size_type | +| stl.h:240:13:240:16 | copy | 2 | size_type | +| stl.h:242:16:242:21 | substr | 0 | size_type | +| stl.h:242:16:242:21 | substr | 1 | size_type | +| stl.h:243:8:243:11 | swap | 0 | basic_string & | +| stl.h:246:94:246:102 | operator+ | 0 | const basic_string & | +| stl.h:246:94:246:102 | operator+ | 1 | const basic_string & | +| stl.h:247:94:247:102 | operator+ | 0 | const basic_string & | +| stl.h:247:94:247:102 | operator+ | 1 | const func:0 * | +| stl.h:253:41:253:49 | operator+ | 0 | func:0 | +| stl.h:253:41:253:49 | operator+ | 1 | basic_string && | +| stl.h:268:33:268:42 | operator>> | 0 | int & | +| stl.h:271:33:271:35 | get | 0 | char_type & | +| stl.h:271:33:271:35 | get | 0 | class:0 & | +| stl.h:272:33:272:35 | get | 0 | char_type * | +| stl.h:272:33:272:35 | get | 0 | class:0 * | +| stl.h:272:33:272:35 | get | 1 | streamsize | +| stl.h:272:33:272:35 | get | 1 | unsigned long | +| stl.h:274:33:274:36 | read | 0 | char_type * | +| stl.h:274:33:274:36 | read | 0 | class:0 * | +| stl.h:274:33:274:36 | read | 1 | streamsize | +| stl.h:274:33:274:36 | read | 1 | unsigned long | +| stl.h:275:14:275:21 | readsome | 0 | char_type * | +| stl.h:275:14:275:21 | readsome | 0 | class:0 * | +| stl.h:275:14:275:21 | readsome | 1 | streamsize | +| stl.h:275:14:275:21 | readsome | 1 | unsigned long | +| stl.h:276:33:276:39 | putback | 0 | char_type | +| stl.h:276:33:276:39 | putback | 0 | class:0 | +| stl.h:279:32:279:38 | getline | 0 | char_type * | +| stl.h:279:32:279:38 | getline | 0 | class:0 * | +| stl.h:279:32:279:38 | getline | 1 | streamsize | +| stl.h:279:32:279:38 | getline | 1 | unsigned long | +| stl.h:280:32:280:38 | getline | 0 | char_type * | +| stl.h:280:32:280:38 | getline | 0 | class:0 * | +| stl.h:280:32:280:38 | getline | 1 | streamsize | +| stl.h:280:32:280:38 | getline | 1 | unsigned long | +| stl.h:280:32:280:38 | getline | 2 | char_type | +| stl.h:280:32:280:38 | getline | 2 | class:0 | +| stl.h:283:68:283:77 | operator>> | 0 | basic_istream & | +| stl.h:283:68:283:77 | operator>> | 1 | func:0 * | +| stl.h:284:85:284:94 | operator>> | 0 | basic_istream & | +| stl.h:284:85:284:94 | operator>> | 1 | basic_string & | +| stl.h:286:84:286:90 | getline | 0 | basic_istream & | +| stl.h:286:84:286:90 | getline | 1 | basic_string & | +| stl.h:286:84:286:90 | getline | 2 | func:0 | +| stl.h:287:84:287:90 | getline | 0 | basic_istream & | +| stl.h:287:84:287:90 | getline | 1 | basic_string & | +| stl.h:294:33:294:42 | operator<< | 0 | int | +| stl.h:296:33:296:35 | put | 0 | char_type | +| stl.h:296:33:296:35 | put | 0 | class:0 | +| stl.h:297:33:297:37 | write | 0 | const char_type * | +| stl.h:297:33:297:37 | write | 0 | const class:0 * | +| stl.h:297:33:297:37 | write | 1 | streamsize | +| stl.h:297:33:297:37 | write | 1 | unsigned long | +| stl.h:301:67:301:76 | operator<< | 0 | basic_ostream & | +| stl.h:301:67:301:76 | operator<< | 1 | const func:0 * | +| stl.h:302:85:302:94 | operator<< | 0 | basic_ostream & | +| stl.h:302:85:302:94 | operator<< | 1 | const basic_string & | +| stl.h:313:12:313:29 | basic_stringstream | 0 | const basic_string & | +| stl.h:317:23:317:31 | operator= | 0 | basic_stringstream && | +| stl.h:319:8:319:11 | swap | 0 | basic_stringstream & | +| stl.h:322:8:322:10 | str | 0 | const basic_string & | +| stl.h:347:12:347:17 | vector | 0 | const class:1 & | +| stl.h:347:12:347:17 | vector | 0 | const class:1 & | +| stl.h:347:12:347:17 | vector | 0 | const class:1 & | +| stl.h:347:12:347:17 | vector | 0 | const class:1 & | +| stl.h:347:12:347:17 | vector | 0 | const class:1 & | +| stl.h:347:12:347:17 | vector | 0 | const class:1 & | +| stl.h:347:12:347:17 | vector | 0 | const class:1 & | +| stl.h:348:12:348:17 | vector | 0 | size_type | +| stl.h:348:12:348:17 | vector | 0 | size_type | +| stl.h:348:12:348:17 | vector | 0 | size_type | +| stl.h:348:12:348:17 | vector | 0 | unsigned int | +| stl.h:348:12:348:17 | vector | 0 | unsigned int | +| stl.h:348:12:348:17 | vector | 0 | unsigned int | +| stl.h:348:12:348:17 | vector | 1 | const class:1 & | +| stl.h:348:12:348:17 | vector | 1 | const class:1 & | +| stl.h:348:12:348:17 | vector | 1 | const class:1 & | +| stl.h:349:3:349:8 | vector | 0 | size_type | +| stl.h:349:3:349:8 | vector | 0 | size_type | +| stl.h:349:3:349:8 | vector | 0 | unsigned int | +| stl.h:349:3:349:8 | vector | 0 | unsigned int | +| stl.h:349:3:349:8 | vector | 1 | const class:0 & | +| stl.h:349:3:349:8 | vector | 1 | const class:0 & | +| stl.h:349:3:349:8 | vector | 2 | const class:1 & | +| stl.h:349:3:349:8 | vector | 2 | const class:1 & | +| stl.h:350:101:350:106 | vector | 0 | func:0 | +| stl.h:350:101:350:106 | vector | 1 | func:0 | +| stl.h:350:101:350:106 | vector | 2 | const class:1 & | +| stl.h:355:11:355:19 | operator= | 0 | const vector & | +| stl.h:356:11:356:19 | operator= | 0 | vector && | +| stl.h:357:106:357:111 | assign | 0 | func:0 | +| stl.h:357:106:357:111 | assign | 1 | func:0 | +| stl.h:360:8:360:13 | assign | 0 | size_type | +| stl.h:360:8:360:13 | assign | 0 | size_type | +| stl.h:360:8:360:13 | assign | 0 | size_type | +| stl.h:360:8:360:13 | assign | 0 | unsigned int | +| stl.h:360:8:360:13 | assign | 0 | unsigned int | +| stl.h:360:8:360:13 | assign | 0 | unsigned int | +| stl.h:360:8:360:13 | assign | 1 | const class:0 & | +| stl.h:360:8:360:13 | assign | 1 | const class:0 & | +| stl.h:360:8:360:13 | assign | 1 | const class:0 & | +| stl.h:369:13:369:22 | operator[] | 0 | size_type | +| stl.h:369:13:369:22 | operator[] | 0 | size_type | +| stl.h:369:13:369:22 | operator[] | 0 | size_type | +| stl.h:369:13:369:22 | operator[] | 0 | size_type | +| stl.h:369:13:369:22 | operator[] | 0 | size_type | +| stl.h:369:13:369:22 | operator[] | 0 | size_type | +| stl.h:369:13:369:22 | operator[] | 0 | unsigned int | +| stl.h:369:13:369:22 | operator[] | 0 | unsigned int | +| stl.h:369:13:369:22 | operator[] | 0 | unsigned int | +| stl.h:369:13:369:22 | operator[] | 0 | unsigned int | +| stl.h:369:13:369:22 | operator[] | 0 | unsigned int | +| stl.h:369:13:369:22 | operator[] | 0 | unsigned int | +| stl.h:372:13:372:14 | at | 0 | size_type | +| stl.h:372:13:372:14 | at | 0 | unsigned int | +| stl.h:381:8:381:16 | push_back | 0 | const class:0 & | +| stl.h:381:8:381:16 | push_back | 0 | const class:0 & | +| stl.h:382:8:382:16 | push_back | 0 | class:0 && | +| stl.h:382:8:382:16 | push_back | 0 | class:0 && | +| stl.h:385:12:385:17 | insert | 0 | const_iterator | +| stl.h:385:12:385:17 | insert | 1 | class:0 && | +| stl.h:387:42:387:47 | insert | 0 | const_iterator | +| stl.h:387:42:387:47 | insert | 0 | const_iterator | +| stl.h:387:42:387:47 | insert | 1 | func:0 | +| stl.h:387:42:387:47 | insert | 1 | func:0 | +| stl.h:387:42:387:47 | insert | 2 | func:0 | +| stl.h:387:42:387:47 | insert | 2 | func:0 | +| stl.h:389:37:389:43 | emplace | 0 | const_iterator | +| stl.h:389:37:389:43 | emplace | 1 | func:0 && | +| stl.h:390:33:390:44 | emplace_back | 0 | func:0 && | +| stl.h:392:8:392:11 | swap | 0 | vector & | +| stl.h:405:12:405:21 | shared_ptr | 0 | class:0 * | +| stl.h:406:3:406:12 | shared_ptr | 0 | const shared_ptr & | +| stl.h:406:3:406:12 | shared_ptr | 0 | const shared_ptr & | +| stl.h:423:12:423:21 | unique_ptr | 0 | class:0 * | +| stl.h:434:52:434:62 | make_unique | 0 | func:1 && | +| stl.h:434:52:434:62 | make_unique | 0 | func:1 && | +| stl.h:434:52:434:62 | make_unique | 0 | func:1 && | +| stl.h:436:52:436:62 | make_shared | 0 | func:1 && | +| stl.h:436:52:436:62 | make_shared | 0 | func:1 && | +| stl.h:436:52:436:62 | make_shared | 0 | func:1 && | +| stl.h:449:11:449:14 | pair | 0 | const pair & | +| stl.h:449:50:449:58 | operator= | 0 | const pair & | +| stl.h:449:80:449:88 | operator= | 0 | pair && | +| stl.h:450:3:450:6 | pair | 0 | const class:0 & | +| stl.h:450:3:450:6 | pair | 1 | const class:1 & | +| stl.h:451:30:451:33 | pair | 0 | const pair & | +| stl.h:451:30:451:33 | pair | 0 | const pair & | +| stl.h:451:30:451:33 | pair | 0 | const pair & | +| stl.h:451:30:451:33 | pair | 0 | const pair & | +| stl.h:451:30:451:33 | pair | 0 | const pair & | +| stl.h:451:30:451:33 | pair | 0 | const pair & | +| stl.h:451:30:451:33 | pair | 0 | const pair & | +| stl.h:451:30:451:33 | pair | 0 | const pair & | +| stl.h:451:30:451:33 | pair | 0 | const pair & | +| stl.h:451:30:451:33 | pair | 0 | const pair & | +| stl.h:452:30:452:33 | pair | 0 | func:0 && | +| stl.h:452:30:452:33 | pair | 0 | func:0 && | +| stl.h:452:30:452:33 | pair | 0 | func:0 && | +| stl.h:452:30:452:33 | pair | 0 | func:0 && | +| stl.h:452:30:452:33 | pair | 0 | func:0 && | +| stl.h:452:30:452:33 | pair | 0 | func:0 && | +| stl.h:452:30:452:33 | pair | 0 | func:0 && | +| stl.h:452:30:452:33 | pair | 0 | func:0 && | +| stl.h:452:30:452:33 | pair | 0 | func:0 && | +| stl.h:452:30:452:33 | pair | 0 | func:0 && | +| stl.h:452:30:452:33 | pair | 0 | func:0 && | +| stl.h:452:30:452:33 | pair | 1 | func:1 && | +| stl.h:452:30:452:33 | pair | 1 | func:1 && | +| stl.h:452:30:452:33 | pair | 1 | func:1 && | +| stl.h:452:30:452:33 | pair | 1 | func:1 && | +| stl.h:452:30:452:33 | pair | 1 | func:1 && | +| stl.h:452:30:452:33 | pair | 1 | func:1 && | +| stl.h:452:30:452:33 | pair | 1 | func:1 && | +| stl.h:452:30:452:33 | pair | 1 | func:1 && | +| stl.h:452:30:452:33 | pair | 1 | func:1 && | +| stl.h:452:30:452:33 | pair | 1 | func:1 && | +| stl.h:452:30:452:33 | pair | 1 | func:1 && | +| stl.h:454:8:454:11 | swap | 0 | pair & | +| stl.h:457:72:457:72 | make_pair | 0 | func:0 && | +| stl.h:457:72:457:72 | make_pair | 0 | func:0 && | +| stl.h:457:72:457:72 | make_pair | 0 | func:0 && | +| stl.h:457:72:457:72 | make_pair | 0 | func:0 && | +| stl.h:457:72:457:72 | make_pair | 0 | func:0 && | +| stl.h:457:72:457:72 | make_pair | 0 | func:0 && | +| stl.h:457:72:457:72 | make_pair | 1 | func:1 && | +| stl.h:457:72:457:72 | make_pair | 1 | func:1 && | +| stl.h:457:72:457:72 | make_pair | 1 | func:1 && | +| stl.h:457:72:457:72 | make_pair | 1 | func:1 && | +| stl.h:457:72:457:72 | make_pair | 1 | func:1 && | +| stl.h:457:72:457:72 | make_pair | 1 | func:1 && | +| stl.h:482:3:482:5 | map | 0 | const map & | +| stl.h:486:8:486:16 | operator= | 0 | const map & | +| stl.h:495:6:495:15 | operator[] | 0 | class:0 && | +| stl.h:495:6:495:15 | operator[] | 0 | class:0 && | +| stl.h:495:6:495:15 | operator[] | 0 | key_type && | +| stl.h:495:6:495:15 | operator[] | 0 | key_type && | +| stl.h:497:6:497:7 | at | 0 | const class:0 & | +| stl.h:497:6:497:7 | at | 0 | const key_type & | +| stl.h:500:48:500:54 | emplace | 0 | func:0 && | +| stl.h:500:48:500:54 | emplace | 0 | func:0 && | +| stl.h:501:36:501:47 | emplace_hint | 0 | const_iterator | +| stl.h:501:36:501:47 | emplace_hint | 0 | const_iterator | +| stl.h:501:36:501:47 | emplace_hint | 1 | func:0 && | +| stl.h:501:36:501:47 | emplace_hint | 1 | func:0 && | +| stl.h:505:42:505:47 | insert | 0 | func:0 && | +| stl.h:505:42:505:47 | insert | 0 | func:0 && | +| stl.h:505:42:505:47 | insert | 0 | func:0 && | +| stl.h:508:30:508:35 | insert | 0 | const_iterator | +| stl.h:508:30:508:35 | insert | 1 | func:0 && | +| stl.h:510:48:510:58 | try_emplace | 0 | class:0 && | +| stl.h:510:48:510:58 | try_emplace | 0 | class:0 && | +| stl.h:510:48:510:58 | try_emplace | 0 | key_type && | +| stl.h:510:48:510:58 | try_emplace | 0 | key_type && | +| stl.h:510:48:510:58 | try_emplace | 1 | func:0 && | +| stl.h:510:48:510:58 | try_emplace | 1 | func:0 && | +| stl.h:512:36:512:46 | try_emplace | 0 | const_iterator | +| stl.h:512:36:512:46 | try_emplace | 0 | const_iterator | +| stl.h:512:36:512:46 | try_emplace | 1 | class:0 && | +| stl.h:512:36:512:46 | try_emplace | 1 | class:0 && | +| stl.h:512:36:512:46 | try_emplace | 1 | key_type && | +| stl.h:512:36:512:46 | try_emplace | 1 | key_type && | +| stl.h:512:36:512:46 | try_emplace | 2 | func:0 && | +| stl.h:512:36:512:46 | try_emplace | 2 | func:0 && | +| stl.h:514:42:514:57 | insert_or_assign | 0 | class:0 && | +| stl.h:514:42:514:57 | insert_or_assign | 0 | key_type && | +| stl.h:514:42:514:57 | insert_or_assign | 1 | func:0 && | +| stl.h:516:30:516:45 | insert_or_assign | 0 | const_iterator | +| stl.h:516:30:516:45 | insert_or_assign | 1 | class:0 && | +| stl.h:516:30:516:45 | insert_or_assign | 1 | key_type && | +| stl.h:516:30:516:45 | insert_or_assign | 2 | func:0 && | +| stl.h:518:12:518:16 | erase | 0 | iterator | +| stl.h:521:8:521:11 | swap | 0 | map & | +| stl.h:524:27:524:31 | merge | 0 | map & | +| stl.h:527:12:527:15 | find | 0 | const class:0 & | +| stl.h:527:12:527:15 | find | 0 | const key_type & | +| stl.h:530:12:530:22 | lower_bound | 0 | const class:0 & | +| stl.h:530:12:530:22 | lower_bound | 0 | const key_type & | +| stl.h:532:12:532:22 | upper_bound | 0 | const class:0 & | +| stl.h:532:12:532:22 | upper_bound | 0 | const key_type & | +| stl.h:535:28:535:38 | equal_range | 0 | const class:0 & | +| stl.h:535:28:535:38 | equal_range | 0 | const key_type & | +| stl.h:552:3:552:15 | unordered_map | 0 | const unordered_map & | +| stl.h:552:3:552:15 | unordered_map | 0 | const unordered_map & | +| stl.h:556:18:556:26 | operator= | 0 | const unordered_map & | +| stl.h:565:16:565:25 | operator[] | 0 | class:0 && | +| stl.h:565:16:565:25 | operator[] | 0 | class:0 && | +| stl.h:565:16:565:25 | operator[] | 0 | key_type && | +| stl.h:565:16:565:25 | operator[] | 0 | key_type && | +| stl.h:566:16:566:17 | at | 0 | const class:0 & | +| stl.h:566:16:566:17 | at | 0 | const key_type & | +| stl.h:569:48:569:54 | emplace | 0 | func:0 && | +| stl.h:569:48:569:54 | emplace | 0 | func:0 && | +| stl.h:569:48:569:54 | emplace | 0 | func:0 && | +| stl.h:569:48:569:54 | emplace | 0 | func:0 && | +| stl.h:569:48:569:54 | emplace | 0 | func:0 && | +| stl.h:570:36:570:47 | emplace_hint | 0 | const_iterator | +| stl.h:570:36:570:47 | emplace_hint | 0 | const_iterator | +| stl.h:570:36:570:47 | emplace_hint | 1 | func:0 && | +| stl.h:570:36:570:47 | emplace_hint | 1 | func:0 && | +| stl.h:573:24:573:29 | insert | 0 | value_type && | +| stl.h:575:12:575:17 | insert | 0 | const_iterator | +| stl.h:575:12:575:17 | insert | 1 | value_type && | +| stl.h:578:48:578:58 | try_emplace | 0 | class:0 && | +| stl.h:578:48:578:58 | try_emplace | 0 | class:0 && | +| stl.h:578:48:578:58 | try_emplace | 0 | class:0 && | +| stl.h:578:48:578:58 | try_emplace | 0 | key_type && | +| stl.h:578:48:578:58 | try_emplace | 0 | key_type && | +| stl.h:578:48:578:58 | try_emplace | 0 | key_type && | +| stl.h:578:48:578:58 | try_emplace | 1 | func:0 && | +| stl.h:578:48:578:58 | try_emplace | 1 | func:0 && | +| stl.h:578:48:578:58 | try_emplace | 1 | func:0 && | +| stl.h:580:36:580:46 | try_emplace | 0 | const_iterator | +| stl.h:580:36:580:46 | try_emplace | 0 | const_iterator | +| stl.h:580:36:580:46 | try_emplace | 1 | class:0 && | +| stl.h:580:36:580:46 | try_emplace | 1 | class:0 && | +| stl.h:580:36:580:46 | try_emplace | 1 | key_type && | +| stl.h:580:36:580:46 | try_emplace | 1 | key_type && | +| stl.h:580:36:580:46 | try_emplace | 2 | func:0 && | +| stl.h:580:36:580:46 | try_emplace | 2 | func:0 && | +| stl.h:582:42:582:57 | insert_or_assign | 0 | class:0 && | +| stl.h:582:42:582:57 | insert_or_assign | 0 | key_type && | +| stl.h:582:42:582:57 | insert_or_assign | 1 | func:0 && | +| stl.h:584:30:584:45 | insert_or_assign | 0 | const_iterator | +| stl.h:584:30:584:45 | insert_or_assign | 1 | class:0 && | +| stl.h:584:30:584:45 | insert_or_assign | 1 | key_type && | +| stl.h:584:30:584:45 | insert_or_assign | 2 | func:0 && | +| stl.h:586:12:586:16 | erase | 0 | iterator | +| stl.h:589:8:589:11 | swap | 0 | unordered_map & | +| stl.h:592:37:592:41 | merge | 0 | unordered_map & | +| stl.h:595:12:595:15 | find | 0 | const class:0 & | +| stl.h:595:12:595:15 | find | 0 | const key_type & | +| stl.h:598:28:598:38 | equal_range | 0 | const class:0 & | +| stl.h:598:28:598:38 | equal_range | 0 | const key_type & | +| stl.h:617:3:617:5 | set | 0 | const set & | +| stl.h:619:33:619:35 | set | 0 | func:0 | +| stl.h:619:33:619:35 | set | 1 | func:0 | +| stl.h:622:8:622:16 | operator= | 0 | const set & | +| stl.h:630:48:630:54 | emplace | 0 | func:0 && | +| stl.h:630:48:630:54 | emplace | 0 | func:0 && | +| stl.h:631:36:631:47 | emplace_hint | 0 | const_iterator | +| stl.h:631:36:631:47 | emplace_hint | 0 | const_iterator | +| stl.h:631:36:631:47 | emplace_hint | 1 | func:0 && | +| stl.h:631:36:631:47 | emplace_hint | 1 | func:0 && | +| stl.h:633:23:633:28 | insert | 0 | class:0 && | +| stl.h:633:23:633:28 | insert | 0 | value_type && | +| stl.h:635:12:635:17 | insert | 0 | const_iterator | +| stl.h:635:12:635:17 | insert | 1 | class:0 && | +| stl.h:635:12:635:17 | insert | 1 | value_type && | +| stl.h:636:38:636:43 | insert | 0 | func:0 | +| stl.h:636:38:636:43 | insert | 1 | func:0 | +| stl.h:638:12:638:16 | erase | 0 | iterator | +| stl.h:641:8:641:11 | swap | 0 | set & | +| stl.h:644:27:644:31 | merge | 0 | set & | +| stl.h:647:12:647:15 | find | 0 | const class:0 & | +| stl.h:647:12:647:15 | find | 0 | const key_type & | +| stl.h:650:12:650:22 | lower_bound | 0 | const class:0 & | +| stl.h:650:12:650:22 | lower_bound | 0 | const key_type & | +| stl.h:652:12:652:22 | upper_bound | 0 | const class:0 & | +| stl.h:652:12:652:22 | upper_bound | 0 | const key_type & | +| stl.h:654:28:654:38 | equal_range | 0 | const class:0 & | +| stl.h:654:28:654:38 | equal_range | 0 | const key_type & | +| stl.h:671:3:671:15 | unordered_set | 0 | const unordered_set & | +| stl.h:673:33:673:45 | unordered_set | 0 | func:0 | +| stl.h:673:33:673:45 | unordered_set | 1 | func:0 | +| stl.h:673:33:673:45 | unordered_set | 2 | size_type | +| stl.h:673:33:673:45 | unordered_set | 2 | unsigned long | +| stl.h:676:18:676:26 | operator= | 0 | const unordered_set & | +| stl.h:684:48:684:54 | emplace | 0 | func:0 && | +| stl.h:684:48:684:54 | emplace | 0 | func:0 && | +| stl.h:685:36:685:47 | emplace_hint | 0 | const_iterator | +| stl.h:685:36:685:47 | emplace_hint | 0 | const_iterator | +| stl.h:685:36:685:47 | emplace_hint | 1 | func:0 && | +| stl.h:685:36:685:47 | emplace_hint | 1 | func:0 && | +| stl.h:687:24:687:29 | insert | 0 | class:0 && | +| stl.h:687:24:687:29 | insert | 0 | value_type && | +| stl.h:689:12:689:17 | insert | 0 | const_iterator | +| stl.h:689:12:689:17 | insert | 1 | class:0 && | +| stl.h:689:12:689:17 | insert | 1 | value_type && | +| stl.h:690:38:690:43 | insert | 0 | func:0 | +| stl.h:690:38:690:43 | insert | 1 | func:0 | +| stl.h:692:12:692:16 | erase | 0 | iterator | +| stl.h:695:8:695:11 | swap | 0 | unordered_set & | +| stl.h:698:37:698:41 | merge | 0 | unordered_set & | +| stl.h:701:12:701:15 | find | 0 | const class:0 & | +| stl.h:701:12:701:15 | find | 0 | const key_type & | +| stl.h:703:28:703:38 | equal_range | 0 | const class:0 & | +| stl.h:703:28:703:38 | equal_range | 0 | const key_type & | +| stl.h:718:3:718:19 | basic_string_view | 0 | const basic_string_view & | +| stl.h:720:3:720:19 | basic_string_view | 0 | const class:0 * | +| stl.h:721:33:721:49 | basic_string_view | 0 | func:0 | +| stl.h:721:33:721:49 | basic_string_view | 0 | func:0 | +| stl.h:721:33:721:49 | basic_string_view | 0 | func:0 | +| stl.h:721:33:721:49 | basic_string_view | 0 | func:0 | +| stl.h:721:33:721:49 | basic_string_view | 1 | func:1 | +| stl.h:721:33:721:49 | basic_string_view | 1 | func:1 | +| stl.h:721:33:721:49 | basic_string_view | 1 | func:1 | +| stl.h:721:33:721:49 | basic_string_view | 1 | func:1 | +| stl.h:723:12:723:28 | basic_string_view | 0 | func:0 && | +| stl.h:723:12:723:28 | basic_string_view | 0 | func:0 && | +| stl.h:724:22:724:30 | operator= | 0 | const basic_string_view & | +| stl.h:730:16:730:25 | operator[] | 0 | size_type | +| stl.h:730:16:730:25 | operator[] | 0 | unsigned long | +| stl.h:731:16:731:17 | at | 0 | size_type | +| stl.h:731:16:731:17 | at | 0 | unsigned long | +| stl.h:735:8:735:20 | remove_prefix | 0 | size_type | +| stl.h:735:8:735:20 | remove_prefix | 0 | unsigned long | +| stl.h:736:8:736:20 | remove_suffix | 0 | size_type | +| stl.h:736:8:736:20 | remove_suffix | 0 | unsigned long | +| stl.h:737:8:737:11 | swap | 0 | basic_string_view & | +| stl.h:738:13:738:16 | copy | 0 | class:0 * | +| stl.h:738:13:738:16 | copy | 1 | size_type | +| stl.h:738:13:738:16 | copy | 1 | unsigned long | +| stl.h:738:13:738:16 | copy | 2 | size_type | +| stl.h:738:13:738:16 | copy | 2 | unsigned long | +| stl.h:739:21:739:26 | substr | 0 | size_type | +| stl.h:739:21:739:26 | substr | 0 | unsigned long | +| stl.h:739:21:739:26 | substr | 1 | size_type | +| stl.h:739:21:739:26 | substr | 1 | unsigned long | +| stl.h:740:21:740:27 | subview | 0 | size_type | +| stl.h:740:21:740:27 | subview | 0 | unsigned long | +| stl.h:740:21:740:27 | subview | 1 | size_type | +| stl.h:740:21:740:27 | subview | 1 | unsigned long | +| stl.h:762:21:762:39 | basic_format_string | 0 | const func:0 & | +| stl.h:762:21:762:39 | basic_format_string | 0 | const func:0 & | +| stl.h:769:33:769:38 | format | 0 | format_string | +| stl.h:769:33:769:38 | format | 0 | format_string | +| stl.h:769:33:769:38 | format | 1 | func:0 && | +| stl.h:769:33:769:38 | format | 1 | func:0 && | +| stl.h:774:6:774:48 | same_signature_as_format_but_different_name | 0 | format_string | +| stl.h:774:6:774:48 | same_signature_as_format_but_different_name | 1 | func:0 && | +| stl.h:778:8:778:8 | operator= | 0 | const thread & | +| stl.h:778:8:778:8 | thread | 0 | const thread & | +| stl.h:781:12:781:17 | thread | 0 | func:0 && | +| stl.h:781:12:781:17 | thread | 0 | func:0 && | +| stl.h:781:12:781:17 | thread | 0 | func:0 && | +| stl.h:781:12:781:17 | thread | 0 | func:0 && | +| stl.h:781:12:781:17 | thread | 1 | func:1 && | +| stl.h:781:12:781:17 | thread | 1 | func:1 && | +| stl.h:781:12:781:17 | thread | 1 | func:1 && | +| stl.h:781:12:781:17 | thread | 1 | func:1 && | | string.cpp:17:6:17:9 | sink | 0 | const char * | | string.cpp:18:6:18:9 | sink | 0 | const string & | | string.cpp:19:6:19:9 | sink | 0 | const char * | | string.cpp:19:6:19:9 | sink | 1 | const char * | | string.cpp:20:6:20:9 | sink | 0 | char | | string.cpp:21:6:21:9 | sink | 0 | iterator | +| string.cpp:22:6:22:9 | sink | 0 | string_view | +| string.cpp:592:8:592:8 | operator= | 0 | Iterator && | +| string.cpp:592:8:592:8 | operator= | 0 | const Iterator & | +| string.cpp:597:9:597:9 | operator= | 0 | Range && | +| string.cpp:597:9:597:9 | operator= | 0 | const Range & | | stringstream.cpp:13:6:13:9 | sink | 0 | int | | stringstream.cpp:15:6:15:9 | sink | 0 | const string & | | stringstream.cpp:18:6:18:9 | sink | 0 | const basic_ostream> & | @@ -28280,9 +29047,9 @@ getParameterTypeName | thread.cpp:14:6:14:22 | thread_function_2 | 0 | S | | thread.cpp:18:6:18:22 | thread_function_3 | 0 | S * | | thread.cpp:18:6:18:22 | thread_function_3 | 1 | int | -| thread.cpp:30:18:30:18 | (unnamed constructor) | 0 | const lambda [] type at line 762, col. 18 & | -| thread.cpp:30:18:30:18 | (unnamed constructor) | 0 | lambda [] type at line 762, col. 18 && | -| thread.cpp:30:18:30:18 | operator= | 0 | const lambda [] type at line 762, col. 18 & | +| thread.cpp:30:18:30:18 | (unnamed constructor) | 0 | const lambda [] type at line 853, col. 18 & | +| thread.cpp:30:18:30:18 | (unnamed constructor) | 0 | lambda [] type at line 853, col. 18 && | +| thread.cpp:30:18:30:18 | operator= | 0 | const lambda [] type at line 853, col. 18 & | | thread.cpp:30:20:30:20 | _FUN | 0 | S * | | thread.cpp:30:20:30:20 | operator() | 0 | S * | | vector.cpp:13:6:13:9 | sink | 0 | int | diff --git a/cpp/ql/test/library-tests/dataflow/taint-tests/type_traits.h b/cpp/ql/test/library-tests/dataflow/taint-tests/type_traits.h index 448b6e85acb9..e69de29bb2d1 100644 --- a/cpp/ql/test/library-tests/dataflow/taint-tests/type_traits.h +++ b/cpp/ql/test/library-tests/dataflow/taint-tests/type_traits.h @@ -1,35 +0,0 @@ -template -struct remove_const { typedef T type; }; - -template -struct remove_const { typedef T type; }; - -// `remove_const_t` removes any `const` specifier from `T` -template -using remove_const_t = typename remove_const::type; - -template -struct remove_reference { typedef T type; }; - -template -struct remove_reference { typedef T type; }; - -template -struct remove_reference { typedef T type; }; - -// `remove_reference_t` removes any `&` from `T` -template -using remove_reference_t = typename remove_reference::type; - -template -struct decay_impl { - typedef T type; -}; - -template -struct decay_impl { - typedef T* type; -}; - -template -using decay_t = typename decay_impl>::type; diff --git a/cpp/ql/test/query-tests/Security/CWE/CWE-078/semmle/ExecTainted/ExecTainted.expected b/cpp/ql/test/query-tests/Security/CWE/CWE-078/semmle/ExecTainted/ExecTainted.expected index 18dd45752ccb..7789537411ad 100644 --- a/cpp/ql/test/query-tests/Security/CWE/CWE-078/semmle/ExecTainted/ExecTainted.expected +++ b/cpp/ql/test/query-tests/Security/CWE/CWE-078/semmle/ExecTainted/ExecTainted.expected @@ -16,18 +16,22 @@ edges | test.cpp:92:9:92:16 | fread output argument | test.cpp:94:17:94:24 | *filename | provenance | | | test.cpp:94:11:94:14 | strncat output argument | test.cpp:95:45:95:48 | *path | provenance | | | test.cpp:94:17:94:24 | *filename | test.cpp:94:11:94:14 | strncat output argument | provenance | Config | +| test.cpp:107:15:107:18 | call to basic_string | test.cpp:108:33:108:36 | *path | provenance | | +| test.cpp:107:20:107:38 | *call to getenv | test.cpp:107:15:107:18 | call to basic_string | provenance | MaD:3 | | test.cpp:107:20:107:38 | *call to getenv | test.cpp:108:33:108:36 | *path | provenance | TaintFunction | | test.cpp:108:31:108:31 | call to operator+ | test.cpp:108:31:108:31 | call to operator+ | provenance | | -| test.cpp:108:31:108:31 | call to operator+ | test.cpp:109:18:109:22 | *call to c_str | provenance | TaintFunction | +| test.cpp:108:31:108:31 | call to operator+ | test.cpp:109:10:109:16 | command | provenance | | | test.cpp:108:33:108:36 | *path | test.cpp:108:31:108:31 | call to operator+ | provenance | Config | +| test.cpp:109:10:109:16 | command | test.cpp:109:18:109:22 | *call to c_str | provenance | MaD:1 | +| test.cpp:114:15:114:18 | call to basic_string | test.cpp:115:19:115:22 | *path | provenance | | +| test.cpp:114:20:114:38 | *call to getenv | test.cpp:114:15:114:18 | call to basic_string | provenance | MaD:3 | | test.cpp:114:20:114:38 | *call to getenv | test.cpp:115:19:115:22 | *path | provenance | TaintFunction | -| test.cpp:115:10:115:23 | call to operator+ | test.cpp:115:25:115:29 | *call to c_str | provenance | TaintFunction | -| test.cpp:115:10:115:23 | call to operator+ | test.cpp:115:25:115:29 | *call to c_str | provenance | TaintFunction | -| test.cpp:115:17:115:17 | call to operator+ | test.cpp:115:10:115:23 | call to operator+ | provenance | | +| test.cpp:115:10:115:23 | call to operator+ | test.cpp:115:25:115:29 | *call to c_str | provenance | MaD:1 | | test.cpp:115:19:115:22 | *path | test.cpp:115:10:115:23 | call to operator+ | provenance | Config | -| test.cpp:115:19:115:22 | *path | test.cpp:115:17:115:17 | call to operator+ | provenance | Config | +| test.cpp:120:15:120:18 | call to basic_string | test.cpp:121:19:121:22 | *path | provenance | | +| test.cpp:120:20:120:38 | *call to getenv | test.cpp:120:15:120:18 | call to basic_string | provenance | MaD:3 | | test.cpp:120:20:120:38 | *call to getenv | test.cpp:121:19:121:22 | *path | provenance | TaintFunction | -| test.cpp:121:17:121:17 | call to operator+ | test.cpp:121:10:121:30 | *call to data | provenance | TaintFunction | +| test.cpp:121:17:121:17 | call to operator+ | test.cpp:121:10:121:30 | *call to data | provenance | MaD:2 | | test.cpp:121:19:121:22 | *path | test.cpp:121:17:121:17 | call to operator+ | provenance | Config | | test.cpp:141:9:141:11 | fread output argument | test.cpp:143:31:143:33 | *str | provenance | | | test.cpp:143:11:143:17 | sprintf output argument | test.cpp:144:10:144:16 | *command | provenance | | @@ -89,6 +93,10 @@ edges | test.cpp:248:5:248:10 | *call to getenv | test.cpp:245:11:245:17 | sprintf output argument | provenance | Config | | test.cpp:259:13:259:18 | strncat output argument | test.cpp:261:10:261:15 | *buffer | provenance | | | test.cpp:259:21:259:35 | *call to getenv | test.cpp:259:13:259:18 | strncat output argument | provenance | Config | +models +| 1 | Summary: std; basic_string; true; c_str; ; ; Argument[-1]; ReturnValue[*]; value; manual | +| 2 | Summary: std; basic_string; true; data; ; ; Argument[-1]; ReturnValue[*]; value; manual | +| 3 | Summary: std; basic_string; true; basic_string; (const CharT *,const Allocator &); ; Argument[*0]; Argument[-1]; value; manual | nodes | test.cpp:15:27:15:30 | **argv | semmle.label | **argv | | test.cpp:16:20:16:26 | *access to array | semmle.label | *access to array | @@ -112,18 +120,19 @@ nodes | test.cpp:94:11:94:14 | strncat output argument | semmle.label | strncat output argument | | test.cpp:94:17:94:24 | *filename | semmle.label | *filename | | test.cpp:95:45:95:48 | *path | semmle.label | *path | +| test.cpp:107:15:107:18 | call to basic_string | semmle.label | call to basic_string | | test.cpp:107:20:107:38 | *call to getenv | semmle.label | *call to getenv | | test.cpp:108:31:108:31 | call to operator+ | semmle.label | call to operator+ | | test.cpp:108:31:108:31 | call to operator+ | semmle.label | call to operator+ | | test.cpp:108:33:108:36 | *path | semmle.label | *path | +| test.cpp:109:10:109:16 | command | semmle.label | command | | test.cpp:109:18:109:22 | *call to c_str | semmle.label | *call to c_str | +| test.cpp:114:15:114:18 | call to basic_string | semmle.label | call to basic_string | | test.cpp:114:20:114:38 | *call to getenv | semmle.label | *call to getenv | | test.cpp:115:10:115:23 | call to operator+ | semmle.label | call to operator+ | -| test.cpp:115:10:115:23 | call to operator+ | semmle.label | call to operator+ | -| test.cpp:115:17:115:17 | call to operator+ | semmle.label | call to operator+ | | test.cpp:115:19:115:22 | *path | semmle.label | *path | | test.cpp:115:25:115:29 | *call to c_str | semmle.label | *call to c_str | -| test.cpp:115:25:115:29 | *call to c_str | semmle.label | *call to c_str | +| test.cpp:120:15:120:18 | call to basic_string | semmle.label | call to basic_string | | test.cpp:120:20:120:38 | *call to getenv | semmle.label | *call to getenv | | test.cpp:121:10:121:30 | *call to data | semmle.label | *call to data | | test.cpp:121:17:121:17 | call to operator+ | semmle.label | call to operator+ | @@ -210,7 +219,6 @@ subpaths | test.cpp:95:45:95:48 | path | test.cpp:92:9:92:16 | fread output argument | test.cpp:95:45:95:48 | *path | This argument to an OS command is derived from $@, dangerously concatenated into $@, and then passed to execl. | test.cpp:92:9:92:16 | fread output argument | user input (string read by fread) | test.cpp:94:11:94:14 | strncat output argument | strncat output argument | | test.cpp:109:18:109:22 | call to c_str | test.cpp:107:20:107:38 | *call to getenv | test.cpp:109:18:109:22 | *call to c_str | This argument to an OS command is derived from $@, dangerously concatenated into $@, and then passed to system(string). | test.cpp:107:20:107:38 | *call to getenv | user input (an environment variable) | test.cpp:108:31:108:31 | call to operator+ | call to operator+ | | test.cpp:115:25:115:29 | call to c_str | test.cpp:114:20:114:38 | *call to getenv | test.cpp:115:25:115:29 | *call to c_str | This argument to an OS command is derived from $@, dangerously concatenated into $@, and then passed to system(string). | test.cpp:114:20:114:38 | *call to getenv | user input (an environment variable) | test.cpp:115:10:115:23 | call to operator+ | call to operator+ | -| test.cpp:115:25:115:29 | call to c_str | test.cpp:114:20:114:38 | *call to getenv | test.cpp:115:25:115:29 | *call to c_str | This argument to an OS command is derived from $@, dangerously concatenated into $@, and then passed to system(string). | test.cpp:114:20:114:38 | *call to getenv | user input (an environment variable) | test.cpp:115:17:115:17 | call to operator+ | call to operator+ | | test.cpp:121:25:121:28 | call to data | test.cpp:120:20:120:38 | *call to getenv | test.cpp:121:10:121:30 | *call to data | This argument to an OS command is derived from $@, dangerously concatenated into $@, and then passed to system(string). | test.cpp:120:20:120:38 | *call to getenv | user input (an environment variable) | test.cpp:121:17:121:17 | call to operator+ | call to operator+ | | test.cpp:144:10:144:16 | command | test.cpp:141:9:141:11 | fread output argument | test.cpp:144:10:144:16 | *command | This argument to an OS command is derived from $@, dangerously concatenated into $@, and then passed to system(string). | test.cpp:141:9:141:11 | fread output argument | user input (string read by fread) | test.cpp:143:11:143:17 | sprintf output argument | sprintf output argument | | test.cpp:184:32:184:38 | command | test.cpp:175:9:175:16 | fread output argument | test.cpp:184:32:184:38 | *command | This argument to an OS command is derived from $@, dangerously concatenated into $@, and then passed to execl. | test.cpp:175:9:175:16 | fread output argument | user input (string read by fread) | test.cpp:178:13:178:17 | strncat output argument | strncat output argument | diff --git a/cpp/ql/test/query-tests/Security/CWE/CWE-078/semmle/ExecTainted/ExecTainted.qlref b/cpp/ql/test/query-tests/Security/CWE/CWE-078/semmle/ExecTainted/ExecTainted.qlref index 4e996a47ad54..77cdee7b2839 100644 --- a/cpp/ql/test/query-tests/Security/CWE/CWE-078/semmle/ExecTainted/ExecTainted.qlref +++ b/cpp/ql/test/query-tests/Security/CWE/CWE-078/semmle/ExecTainted/ExecTainted.qlref @@ -1,2 +1,4 @@ query: Security/CWE/CWE-078/ExecTainted.ql -postprocess: utils/test/InlineExpectationsTestQuery.ql +postprocess: + - utils/test/PrettyPrintModels.ql + - utils/test/InlineExpectationsTestQuery.ql diff --git a/cpp/ql/test/query-tests/Security/CWE/CWE-311/semmle/tests/CleartextFileWrite.expected b/cpp/ql/test/query-tests/Security/CWE/CWE-311/semmle/tests/CleartextFileWrite.expected index e283cbeb57bc..9cdc7a90ddbd 100644 --- a/cpp/ql/test/query-tests/Security/CWE/CWE-311/semmle/tests/CleartextFileWrite.expected +++ b/cpp/ql/test/query-tests/Security/CWE/CWE-311/semmle/tests/CleartextFileWrite.expected @@ -1,11 +1,53 @@ edges +| file://:0:0:0:0 | * ... | test2.cpp:161:13:161:14 | ch | provenance | | +| file://:0:0:0:0 | *++ ... | file://:0:0:0:0 | * ... | provenance | | +| file://:0:0:0:0 | ++ ... | file://:0:0:0:0 | * ... | provenance | | +| file://:0:0:0:0 | ++ ... | file://:0:0:0:0 | *++ ... | provenance | | | test2.cpp:62:18:62:25 | password | test2.cpp:62:18:62:25 | password | provenance | | | test2.cpp:62:18:62:25 | password | test2.cpp:65:31:65:34 | cpy1 | provenance | | | test2.cpp:72:15:72:24 | password | test2.cpp:73:30:73:32 | *buf | provenance | DataFlowFunction | | test2.cpp:98:45:98:52 | password | test2.cpp:99:27:99:32 | *buffer | provenance | TaintFunction | +| test2.cpp:153:31:153:38 | password | test2.cpp:153:40:153:44 | *call to c_str | provenance | MaD:2 | +| test2.cpp:153:40:153:44 | *call to c_str | test2.cpp:153:40:153:44 | *call to c_str | provenance | | +| test2.cpp:153:40:153:44 | *call to c_str | test2.cpp:154:21:154:22 | *pw | provenance | | +| test2.cpp:157:41:157:41 | s | test2.cpp:160:17:160:17 | *s | provenance | | +| test2.cpp:160:17:160:17 | (__range) | test2.cpp:160:17:160:17 | call to begin | provenance | MaD:1 | +| test2.cpp:160:17:160:17 | *s | test2.cpp:160:17:160:17 | (__range) | provenance | | +| test2.cpp:160:17:160:17 | *s | test2.cpp:160:17:160:17 | call to begin | provenance | TaintFunction | +| test2.cpp:160:17:160:17 | call to begin | file://:0:0:0:0 | * ... | provenance | | +| test2.cpp:160:17:160:17 | call to begin | file://:0:0:0:0 | *++ ... | provenance | | +| test2.cpp:160:17:160:17 | call to begin | file://:0:0:0:0 | ++ ... | provenance | | +| test2.cpp:160:17:160:17 | call to begin | test2.cpp:160:17:160:17 | call to begin | provenance | | +| test2.cpp:161:3:161:8 | operator+= output argument | test2.cpp:161:3:161:8 | result | provenance | | +| test2.cpp:161:3:161:8 | operator+= output argument | test2.cpp:162:9:162:14 | result | provenance | | +| test2.cpp:161:3:161:8 | result | test2.cpp:161:10:161:15 | *call to operator+= | provenance | MaD:3 | +| test2.cpp:161:10:161:15 | *call to operator+= | test2.cpp:161:3:161:8 | operator+= output argument | provenance | MaD:6 | +| test2.cpp:161:13:161:14 | ch | test2.cpp:161:3:161:8 | operator+= output argument | provenance | MaD:4 | +| test2.cpp:161:13:161:14 | ch | test2.cpp:161:10:161:15 | *call to operator+= | provenance | MaD:5 | +| test2.cpp:162:9:162:14 | result | test2.cpp:157:13:157:27 | *copy_characters | provenance | | +| test2.cpp:167:25:167:39 | call to copy_characters | test2.cpp:167:25:167:39 | call to copy_characters | provenance | | +| test2.cpp:167:25:167:39 | call to copy_characters | test2.cpp:168:21:168:28 | by_value | provenance | | +| test2.cpp:167:41:167:60 | password | test2.cpp:157:41:157:41 | s | provenance | | +| test2.cpp:167:41:167:60 | password | test2.cpp:167:25:167:39 | call to copy_characters | provenance | MaD:1 | +| test2.cpp:167:41:167:60 | password | test2.cpp:167:25:167:39 | call to copy_characters | provenance | TaintFunction | +| test2.cpp:167:41:167:60 | password | test2.cpp:167:41:167:60 | password | provenance | | +| test2.cpp:168:21:168:28 | by_value | test2.cpp:168:30:168:34 | *call to c_str | provenance | MaD:2 | +| test2.cpp:173:28:173:35 | *password | test2.cpp:173:28:173:35 | *password | provenance | | +| test2.cpp:173:28:173:35 | *password | test2.cpp:174:21:174:24 | copy | provenance | | +| test2.cpp:174:21:174:24 | copy | test2.cpp:174:26:174:30 | *call to c_str | provenance | MaD:2 | | test.cpp:70:38:70:48 | thePassword | test.cpp:73:43:73:53 | thePassword | provenance | | | test.cpp:73:63:73:73 | thePassword | test.cpp:73:43:73:53 | thePassword | provenance | | +models +| 1 | Summary: std; basic_string; true; begin; ; ; Argument[-1]; ReturnValue; taint; manual | +| 2 | Summary: std; basic_string; true; c_str; ; ; Argument[-1]; ReturnValue[*]; value; manual | +| 3 | Summary: std; basic_string; true; operator+=; (CharT); ; Argument[-1]; ReturnValue[*]; taint; manual | +| 4 | Summary: std; basic_string; true; operator+=; (CharT); ; Argument[0]; Argument[-1]; taint; manual | +| 5 | Summary: std; basic_string; true; operator+=; (CharT); ; Argument[0]; ReturnValue[*]; taint; manual | +| 6 | Summary: std; basic_string; true; operator+=; ; ; ReturnValue[*]; Argument[-1]; taint; manual | nodes +| file://:0:0:0:0 | * ... | semmle.label | * ... | +| file://:0:0:0:0 | *++ ... | semmle.label | *++ ... | +| file://:0:0:0:0 | ++ ... | semmle.label | ++ ... | | test2.cpp:43:36:43:43 | password | semmle.label | password | | test2.cpp:44:37:44:45 | thepasswd | semmle.label | thepasswd | | test2.cpp:45:38:45:47 | accountkey | semmle.label | accountkey | @@ -20,12 +62,38 @@ nodes | test2.cpp:73:30:73:32 | *buf | semmle.label | *buf | | test2.cpp:98:45:98:52 | password | semmle.label | password | | test2.cpp:99:27:99:32 | *buffer | semmle.label | *buffer | +| test2.cpp:153:31:153:38 | password | semmle.label | password | +| test2.cpp:153:40:153:44 | *call to c_str | semmle.label | *call to c_str | +| test2.cpp:153:40:153:44 | *call to c_str | semmle.label | *call to c_str | +| test2.cpp:154:21:154:22 | *pw | semmle.label | *pw | +| test2.cpp:157:13:157:27 | *copy_characters | semmle.label | *copy_characters | +| test2.cpp:157:41:157:41 | s | semmle.label | s | +| test2.cpp:160:17:160:17 | (__range) | semmle.label | (__range) | +| test2.cpp:160:17:160:17 | *s | semmle.label | *s | +| test2.cpp:160:17:160:17 | call to begin | semmle.label | call to begin | +| test2.cpp:160:17:160:17 | call to begin | semmle.label | call to begin | +| test2.cpp:161:3:161:8 | operator+= output argument | semmle.label | operator+= output argument | +| test2.cpp:161:3:161:8 | result | semmle.label | result | +| test2.cpp:161:10:161:15 | *call to operator+= | semmle.label | *call to operator+= | +| test2.cpp:161:13:161:14 | ch | semmle.label | ch | +| test2.cpp:162:9:162:14 | result | semmle.label | result | +| test2.cpp:167:25:167:39 | call to copy_characters | semmle.label | call to copy_characters | +| test2.cpp:167:25:167:39 | call to copy_characters | semmle.label | call to copy_characters | +| test2.cpp:167:41:167:60 | password | semmle.label | password | +| test2.cpp:167:41:167:60 | password | semmle.label | password | +| test2.cpp:168:21:168:28 | by_value | semmle.label | by_value | +| test2.cpp:168:30:168:34 | *call to c_str | semmle.label | *call to c_str | +| test2.cpp:173:28:173:35 | *password | semmle.label | *password | +| test2.cpp:173:28:173:35 | *password | semmle.label | *password | +| test2.cpp:174:21:174:24 | copy | semmle.label | copy | +| test2.cpp:174:26:174:30 | *call to c_str | semmle.label | *call to c_str | | test.cpp:45:9:45:19 | thePassword | semmle.label | thePassword | | test.cpp:70:38:70:48 | thePassword | semmle.label | thePassword | | test.cpp:70:38:70:48 | thePassword | semmle.label | thePassword | | test.cpp:73:43:73:53 | thePassword | semmle.label | thePassword | | test.cpp:73:63:73:73 | thePassword | semmle.label | thePassword | subpaths +| test2.cpp:167:41:167:60 | password | test2.cpp:157:41:157:41 | s | test2.cpp:157:13:157:27 | *copy_characters | test2.cpp:167:25:167:39 | call to copy_characters | #select | test2.cpp:43:2:43:8 | call to fprintf | test2.cpp:43:36:43:43 | password | test2.cpp:43:36:43:43 | password | This write into file 'log' may contain unencrypted data from $@. | test2.cpp:43:36:43:43 | password | this source. | | test2.cpp:44:2:44:8 | call to fprintf | test2.cpp:44:37:44:45 | thepasswd | test2.cpp:44:37:44:45 | thepasswd | This write into file 'log' may contain unencrypted data from $@. | test2.cpp:44:37:44:45 | thepasswd | this source. | @@ -37,6 +105,9 @@ subpaths | test2.cpp:65:3:65:9 | call to fprintf | test2.cpp:62:18:62:25 | password | test2.cpp:65:31:65:34 | cpy1 | This write into file 'log' may contain unencrypted data from $@. | test2.cpp:62:18:62:25 | password | this source. | | test2.cpp:73:3:73:9 | call to fprintf | test2.cpp:72:15:72:24 | password | test2.cpp:73:30:73:32 | *buf | This write into file 'log' may contain unencrypted data from $@. | test2.cpp:72:17:72:24 | password | this source. | | test2.cpp:99:3:99:9 | call to fprintf | test2.cpp:98:45:98:52 | password | test2.cpp:99:27:99:32 | *buffer | This write into file 'log' may contain unencrypted data from $@. | test2.cpp:98:45:98:52 | password | this source. | +| test2.cpp:154:2:154:8 | call to fprintf | test2.cpp:153:31:153:38 | password | test2.cpp:154:21:154:22 | *pw | This write into file 'log' may contain unencrypted data from $@. | test2.cpp:153:31:153:38 | password | this source. | +| test2.cpp:168:2:168:8 | call to fprintf | test2.cpp:167:41:167:60 | password | test2.cpp:168:30:168:34 | *call to c_str | This write into file 'log' may contain unencrypted data from $@. | test2.cpp:167:53:167:60 | password | this source. | +| test2.cpp:174:2:174:8 | call to fprintf | test2.cpp:173:28:173:35 | *password | test2.cpp:174:26:174:30 | *call to c_str | This write into file 'log' may contain unencrypted data from $@. | test2.cpp:173:28:173:35 | password | this source. | | test.cpp:45:3:45:7 | call to fputs | test.cpp:45:9:45:19 | thePassword | test.cpp:45:9:45:19 | thePassword | This write into file 'file' may contain unencrypted data from $@. | test.cpp:45:9:45:19 | thePassword | this source. | | test.cpp:70:35:70:35 | call to operator<< | test.cpp:70:38:70:48 | thePassword | test.cpp:70:38:70:48 | thePassword | This write into file 'mystream' may contain unencrypted data from $@. | test.cpp:70:38:70:48 | thePassword | this source. | | test.cpp:73:37:73:41 | call to write | test.cpp:70:38:70:48 | thePassword | test.cpp:73:43:73:53 | thePassword | This write into file 'mystream' may contain unencrypted data from $@. | test.cpp:70:38:70:48 | thePassword | this source. | diff --git a/cpp/ql/test/query-tests/Security/CWE/CWE-311/semmle/tests/CleartextFileWrite.qlref b/cpp/ql/test/query-tests/Security/CWE/CWE-311/semmle/tests/CleartextFileWrite.qlref index 9469736d8c77..bc1d0c4af765 100644 --- a/cpp/ql/test/query-tests/Security/CWE/CWE-311/semmle/tests/CleartextFileWrite.qlref +++ b/cpp/ql/test/query-tests/Security/CWE/CWE-311/semmle/tests/CleartextFileWrite.qlref @@ -1,2 +1,4 @@ query: Security/CWE/CWE-311/CleartextFileWrite.ql -postprocess: utils/test/InlineExpectationsTestQuery.ql +postprocess: + - utils/test/PrettyPrintModels.ql + - utils/test/InlineExpectationsTestQuery.ql diff --git a/cpp/ql/test/query-tests/Security/CWE/CWE-311/semmle/tests/test2.cpp b/cpp/ql/test/query-tests/Security/CWE/CWE-311/semmle/tests/test2.cpp index 9399a81274ee..950b4c62c745 100644 --- a/cpp/ql/test/query-tests/Security/CWE/CWE-311/semmle/tests/test2.cpp +++ b/cpp/ql/test/query-tests/Security/CWE/CWE-311/semmle/tests/test2.cpp @@ -110,3 +110,66 @@ void test_gets() gets(password); // $ Alert[cpp/cleartext-storage-buffer] // BAD } } + +namespace std +{ + template struct char_traits; + template class allocator; + + template> + class basic_string_view + { + public: + const CharT* data() const; + }; + + template, class Allocator = allocator> + class basic_string + { + public: + const CharT* data() const; + size_t size() const; + basic_string(); + basic_string& operator+=(CharT); + const CharT* c_str() const; + const CharT* begin() const; + const CharT* end() const; + + operator basic_string_view() const; + }; + + using string = basic_string; + using string_view = basic_string_view; +} + +struct StringCredentials +{ + std::string password; + std::string username; +}; + +void test_source_glvalue(FILE* log, const StringCredentials& credentials) +{ + const char* pw = credentials.password.c_str(); // $ Source[cpp/cleartext-storage-file] + fprintf(log, "%s", pw); // $ Alert[cpp/cleartext-storage-file] +} + +std::string copy_characters(std::string s) +{ + std::string result; + for (char ch : s) + result += ch; + return result; +} + +void test_character_iteration(FILE* log, const StringCredentials& credentials) +{ + std::string by_value = copy_characters(credentials.password); // $ Source[cpp/cleartext-storage-file] + fprintf(log, "%s", by_value.c_str()); // $ Alert[cpp/cleartext-storage-file] +} + +void test_reference(FILE* log, std::string s) { + const std::string& password = s; + const std::string& copy = password; // $ Source[cpp/cleartext-storage-file] + fprintf(log, "%s", copy.c_str()); // $ Alert[cpp/cleartext-storage-file] +} \ No newline at end of file diff --git a/cpp/ql/test/query-tests/Security/CWE/CWE-611/XXE.expected b/cpp/ql/test/query-tests/Security/CWE/CWE-611/XXE.expected index 1376a03ce889..9b8b938427d4 100644 --- a/cpp/ql/test/query-tests/Security/CWE/CWE-611/XXE.expected +++ b/cpp/ql/test/query-tests/Security/CWE/CWE-611/XXE.expected @@ -4,7 +4,7 @@ edges | tests2.cpp:33:17:33:31 | *new | tests2.cpp:37:2:37:2 | *p | provenance | | | tests2.cpp:33:17:33:31 | *new | tests2.cpp:37:2:37:2 | *p | provenance | Config | | tests2.cpp:33:17:33:31 | call to SAXParser | tests2.cpp:33:17:33:31 | *new | provenance | | -| tests2.cpp:49:12:49:12 | call to SAXParser | tests2.cpp:51:2:51:2 | *p | provenance | | +| tests2.cpp:49:12:49:12 | call to SAXParser | tests2.cpp:51:2:51:2 | p | provenance | | | tests3.cpp:23:21:23:53 | *call to createXMLReader | tests3.cpp:23:21:23:53 | *call to createXMLReader | provenance | | | tests3.cpp:23:21:23:53 | *call to createXMLReader | tests3.cpp:25:2:25:2 | *p | provenance | | | tests3.cpp:35:16:35:20 | **p_3_3 | tests3.cpp:35:16:35:20 | **p_3_3 | provenance | | @@ -68,10 +68,10 @@ edges | tests.cpp:73:23:73:43 | call to XercesDOMParser | tests.cpp:73:23:73:43 | *new | provenance | | | tests.cpp:85:24:85:44 | *new | tests.cpp:86:24:86:25 | ** ... | provenance | | | tests.cpp:85:24:85:44 | call to XercesDOMParser | tests.cpp:85:24:85:44 | *new | provenance | | -| tests.cpp:86:24:86:25 | ** ... | tests.cpp:88:3:88:3 | *q | provenance | | +| tests.cpp:86:24:86:25 | ** ... | tests.cpp:88:3:88:3 | q | provenance | | | tests.cpp:100:24:100:44 | *new | tests.cpp:101:24:101:25 | ** ... | provenance | | | tests.cpp:100:24:100:44 | call to XercesDOMParser | tests.cpp:100:24:100:44 | *new | provenance | | -| tests.cpp:101:24:101:25 | ** ... | tests.cpp:104:3:104:3 | *q | provenance | | +| tests.cpp:101:24:101:25 | ** ... | tests.cpp:104:3:104:3 | q | provenance | | | tests.cpp:112:39:112:39 | *p | tests.cpp:112:39:112:39 | *p | provenance | | | tests.cpp:112:39:112:39 | *p | tests.cpp:113:2:113:2 | *p | provenance | | | tests.cpp:116:39:116:39 | *p | tests.cpp:117:2:117:2 | *p | provenance | | @@ -90,7 +90,7 @@ nodes | tests2.cpp:33:17:33:31 | call to SAXParser | semmle.label | call to SAXParser | | tests2.cpp:37:2:37:2 | *p | semmle.label | *p | | tests2.cpp:49:12:49:12 | call to SAXParser | semmle.label | call to SAXParser | -| tests2.cpp:51:2:51:2 | *p | semmle.label | *p | +| tests2.cpp:51:2:51:2 | p | semmle.label | p | | tests3.cpp:23:21:23:53 | *call to createXMLReader | semmle.label | *call to createXMLReader | | tests3.cpp:23:21:23:53 | *call to createXMLReader | semmle.label | *call to createXMLReader | | tests3.cpp:25:2:25:2 | *p | semmle.label | *p | @@ -168,11 +168,11 @@ nodes | tests.cpp:85:24:85:44 | *new | semmle.label | *new | | tests.cpp:85:24:85:44 | call to XercesDOMParser | semmle.label | call to XercesDOMParser | | tests.cpp:86:24:86:25 | ** ... | semmle.label | ** ... | -| tests.cpp:88:3:88:3 | *q | semmle.label | *q | +| tests.cpp:88:3:88:3 | q | semmle.label | q | | tests.cpp:100:24:100:44 | *new | semmle.label | *new | | tests.cpp:100:24:100:44 | call to XercesDOMParser | semmle.label | call to XercesDOMParser | | tests.cpp:101:24:101:25 | ** ... | semmle.label | ** ... | -| tests.cpp:104:3:104:3 | *q | semmle.label | *q | +| tests.cpp:104:3:104:3 | q | semmle.label | q | | tests.cpp:112:39:112:39 | *p | semmle.label | *p | | tests.cpp:112:39:112:39 | *p | semmle.label | *p | | tests.cpp:113:2:113:2 | *p | semmle.label | *p | @@ -188,7 +188,7 @@ subpaths #select | tests2.cpp:22:2:22:2 | *p | tests2.cpp:20:17:20:31 | call to SAXParser | tests2.cpp:22:2:22:2 | *p | This $@ is not configured to prevent an XML external entity (XXE) attack. | tests2.cpp:20:17:20:31 | call to SAXParser | XML parser | | tests2.cpp:37:2:37:2 | *p | tests2.cpp:33:17:33:31 | call to SAXParser | tests2.cpp:37:2:37:2 | *p | This $@ is not configured to prevent an XML external entity (XXE) attack. | tests2.cpp:33:17:33:31 | call to SAXParser | XML parser | -| tests2.cpp:51:2:51:2 | *p | tests2.cpp:49:12:49:12 | call to SAXParser | tests2.cpp:51:2:51:2 | *p | This $@ is not configured to prevent an XML external entity (XXE) attack. | tests2.cpp:49:12:49:12 | call to SAXParser | XML parser | +| tests2.cpp:51:2:51:2 | p | tests2.cpp:49:12:49:12 | call to SAXParser | tests2.cpp:51:2:51:2 | p | This $@ is not configured to prevent an XML external entity (XXE) attack. | tests2.cpp:49:12:49:12 | call to SAXParser | XML parser | | tests3.cpp:25:2:25:2 | *p | tests3.cpp:23:21:23:53 | *call to createXMLReader | tests3.cpp:25:2:25:2 | *p | This $@ is not configured to prevent an XML external entity (XXE) attack. | tests3.cpp:23:21:23:53 | *call to createXMLReader | XML parser | | tests3.cpp:38:2:38:6 | *p_3_3 | tests3.cpp:35:24:35:56 | *call to createXMLReader | tests3.cpp:38:2:38:6 | *p_3_3 | This $@ is not configured to prevent an XML external entity (XXE) attack. | tests3.cpp:35:24:35:56 | *call to createXMLReader | XML parser | | tests3.cpp:56:2:56:6 | *p_3_5 | tests3.cpp:48:24:48:56 | *call to createXMLReader | tests3.cpp:56:2:56:6 | *p_3_5 | This $@ is not configured to prevent an XML external entity (XXE) attack. | tests3.cpp:48:24:48:56 | *call to createXMLReader | XML parser | @@ -212,7 +212,7 @@ subpaths | tests.cpp:60:2:60:2 | *p | tests.cpp:51:23:51:43 | call to XercesDOMParser | tests.cpp:60:2:60:2 | *p | This $@ is not configured to prevent an XML external entity (XXE) attack. | tests.cpp:51:23:51:43 | call to XercesDOMParser | XML parser | | tests.cpp:69:2:69:2 | *p | tests.cpp:66:23:66:43 | call to XercesDOMParser | tests.cpp:69:2:69:2 | *p | This $@ is not configured to prevent an XML external entity (XXE) attack. | tests.cpp:66:23:66:43 | call to XercesDOMParser | XML parser | | tests.cpp:80:2:80:2 | *p | tests.cpp:73:23:73:43 | call to XercesDOMParser | tests.cpp:80:2:80:2 | *p | This $@ is not configured to prevent an XML external entity (XXE) attack. | tests.cpp:73:23:73:43 | call to XercesDOMParser | XML parser | -| tests.cpp:88:3:88:3 | *q | tests.cpp:85:24:85:44 | call to XercesDOMParser | tests.cpp:88:3:88:3 | *q | This $@ is not configured to prevent an XML external entity (XXE) attack. | tests.cpp:85:24:85:44 | call to XercesDOMParser | XML parser | -| tests.cpp:104:3:104:3 | *q | tests.cpp:100:24:100:44 | call to XercesDOMParser | tests.cpp:104:3:104:3 | *q | This $@ is not configured to prevent an XML external entity (XXE) attack. | tests.cpp:100:24:100:44 | call to XercesDOMParser | XML parser | +| tests.cpp:88:3:88:3 | q | tests.cpp:85:24:85:44 | call to XercesDOMParser | tests.cpp:88:3:88:3 | q | This $@ is not configured to prevent an XML external entity (XXE) attack. | tests.cpp:85:24:85:44 | call to XercesDOMParser | XML parser | +| tests.cpp:104:3:104:3 | q | tests.cpp:100:24:100:44 | call to XercesDOMParser | tests.cpp:104:3:104:3 | q | This $@ is not configured to prevent an XML external entity (XXE) attack. | tests.cpp:100:24:100:44 | call to XercesDOMParser | XML parser | | tests.cpp:113:2:113:2 | *p | tests.cpp:122:23:122:43 | call to XercesDOMParser | tests.cpp:113:2:113:2 | *p | This $@ is not configured to prevent an XML external entity (XXE) attack. | tests.cpp:122:23:122:43 | call to XercesDOMParser | XML parser | | tests.cpp:117:2:117:2 | *p | tests.cpp:122:23:122:43 | call to XercesDOMParser | tests.cpp:117:2:117:2 | *p | This $@ is not configured to prevent an XML external entity (XXE) attack. | tests.cpp:122:23:122:43 | call to XercesDOMParser | XML parser |