From d3a53bd9e69de161b98959f06dd09440d93dccbc Mon Sep 17 00:00:00 2001 From: AkshayK Date: Wed, 9 Sep 2026 17:47:07 -0400 Subject: [PATCH 1/6] C++: Model BlazingMQ bmqa message and property taint flow Add flow summaries for BloombergLP::bmqa: Message payload and properties, MessageProperties getters/setters, the property iterator, and the MessageEvent -> MessageIterator -> Message chain. Scalar property getters are deliberately not modelled. --- .../change-notes/2026-09-09-bmqa-models.md | 4 + cpp/ql/lib/ext/bmqa.model.yml | 45 ++ .../dataflow/external-models/bmqa.cpp | 431 ++++++++++++ .../dataflow/external-models/flow.expected | 662 ++++++++++++++++-- .../dataflow/external-models/steps.expected | 84 +++ .../external-models/validatemodels.expected | 1 + .../taint-tests/test_mad-signatures.expected | 2 + 7 files changed, 1179 insertions(+), 50 deletions(-) create mode 100644 cpp/ql/lib/change-notes/2026-09-09-bmqa-models.md create mode 100644 cpp/ql/lib/ext/bmqa.model.yml create mode 100644 cpp/ql/test/library-tests/dataflow/external-models/bmqa.cpp diff --git a/cpp/ql/lib/change-notes/2026-09-09-bmqa-models.md b/cpp/ql/lib/change-notes/2026-09-09-bmqa-models.md new file mode 100644 index 000000000000..e00c3ca3532b --- /dev/null +++ b/cpp/ql/lib/change-notes/2026-09-09-bmqa-models.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* Added flow summaries for the BlazingMQ `BloombergLP::bmqa::Message` and `MessageProperties` classes and their iterators. diff --git a/cpp/ql/lib/ext/bmqa.model.yml b/cpp/ql/lib/ext/bmqa.model.yml new file mode 100644 index 000000000000..cb1c3834ecf5 --- /dev/null +++ b/cpp/ql/lib/ext/bmqa.model.yml @@ -0,0 +1,45 @@ +# Model of the BlazingMQ client API (BloombergLP::bmqa). Scalar property getters are not modelled. +extensions: + - addsTo: + pack: codeql/cpp-all + extensible: summaryModel + data: # namespace, type, subtypes, name, signature, ext, input, output, kind, provenance + # Message payload + - ["BloombergLP::bmqa", "Message", true, "getData", "", "", "Argument[-1]", "Argument[*0]", "taint", "manual"] + - ["BloombergLP::bmqa", "Message", true, "setData", "", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["BloombergLP::bmqa", "Message", true, "setDataRef", "", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["BloombergLP::bmqa", "Message", true, "clone", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + # Message properties + - ["BloombergLP::bmqa", "Message", true, "loadProperties", "", "", "Argument[-1]", "Argument[*0]", "taint", "manual"] + - ["BloombergLP::bmqa", "Message", true, "setPropertiesRef", "", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["BloombergLP::bmqa", "MessageProperties", true, "MessageProperties", "(const MessageProperties &,Allocator *)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["BloombergLP::bmqa", "MessageProperties", true, "operator=", "", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["BloombergLP::bmqa", "MessageProperties", true, "operator=", "", "", "Argument[*0]", "ReturnValue[*]", "value", "manual"] + - ["BloombergLP::bmqa", "MessageProperties", true, "getPropertyAsString", "", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["BloombergLP::bmqa", "MessageProperties", true, "getPropertyAsBinary", "", "", "Argument[-1]", "ReturnValue[*].Element", "taint", "manual"] + - ["BloombergLP::bmqa", "MessageProperties", true, "getPropertyAsStringOr", "", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["BloombergLP::bmqa", "MessageProperties", true, "getPropertyAsStringOr", "", "", "Argument[*1]", "ReturnValue[*]", "value", "manual"] + - ["BloombergLP::bmqa", "MessageProperties", true, "getPropertyAsBinaryOr", "", "", "Argument[-1]", "ReturnValue[*].Element", "taint", "manual"] + - ["BloombergLP::bmqa", "MessageProperties", true, "getPropertyAsBinaryOr", "", "", "Argument[*1].Element[@]", "ReturnValue[*].Element[@]", "value", "manual"] + - ["BloombergLP::bmqa", "MessageProperties", true, "setPropertyAsString", "", "", "Argument[1]", "Argument[-1]", "taint", "manual"] + - ["BloombergLP::bmqa", "MessageProperties", true, "setPropertyAsBinary", "", "", "Argument[1]", "Argument[-1]", "taint", "manual"] + # Property names are stored and exposed by MessagePropertiesIterator::name + - ["BloombergLP::bmqa", "MessageProperties", true, "setPropertyAsBool", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"] + - ["BloombergLP::bmqa", "MessageProperties", true, "setPropertyAsChar", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"] + - ["BloombergLP::bmqa", "MessageProperties", true, "setPropertyAsShort", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"] + - ["BloombergLP::bmqa", "MessageProperties", true, "setPropertyAsInt32", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"] + - ["BloombergLP::bmqa", "MessageProperties", true, "setPropertyAsInt64", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"] + - ["BloombergLP::bmqa", "MessageProperties", true, "setPropertyAsString", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"] + - ["BloombergLP::bmqa", "MessageProperties", true, "setPropertyAsBinary", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"] + - ["BloombergLP::bmqa", "MessageProperties", true, "streamIn", "", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["BloombergLP::bmqa", "MessageProperties", true, "streamOut", "", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + # Property iteration + - ["BloombergLP::bmqa", "MessagePropertiesIterator", true, "MessagePropertiesIterator", "", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["BloombergLP::bmqa", "MessagePropertiesIterator", true, "operator=", "", "", "Argument[*0]", "Argument[-1]", "value", "manual"] + - ["BloombergLP::bmqa", "MessagePropertiesIterator", true, "operator=", "", "", "Argument[*0]", "ReturnValue[*]", "value", "manual"] + - ["BloombergLP::bmqa", "MessagePropertiesIterator", true, "name", "", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["BloombergLP::bmqa", "MessagePropertiesIterator", true, "getAsString", "", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["BloombergLP::bmqa", "MessagePropertiesIterator", true, "getAsBinary", "", "", "Argument[-1]", "ReturnValue[*].Element", "taint", "manual"] + # Event -> iterator -> message + - ["BloombergLP::bmqa", "MessageEvent", true, "messageIterator", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"] + - ["BloombergLP::bmqa", "MessageIterator", true, "message", "", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] diff --git a/cpp/ql/test/library-tests/dataflow/external-models/bmqa.cpp b/cpp/ql/test/library-tests/dataflow/external-models/bmqa.cpp new file mode 100644 index 000000000000..589cf480a8fc --- /dev/null +++ b/cpp/ql/test/library-tests/dataflow/external-models/bmqa.cpp @@ -0,0 +1,431 @@ + +// --- stub library headers --- + +namespace bsl { + typedef unsigned long size_t; + typedef int int32_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; + template > + class basic_string_view { + public: + basic_string_view(); + basic_string_view(const charT* s); + const charT* data() const; + }; + typedef basic_string_view string_view; + template > + class vector { + public: + vector(); + const T* data() const; + const T& operator[](size_t i) const; + void push_back(const T& value); + }; + template class span { + public: + span(); + span(T* p, size_t n); + T* data() const; + }; +} + +namespace BloombergLP { +namespace bslma { + class Allocator {}; +} +namespace bsls { + struct Types { typedef long long Int64; }; +} + +namespace bdlbb { + class Blob {}; + class BlobBufferFactory {}; + struct BlobUtil { + static void copy(char *dstBuffer, const Blob &srcBlob, int position, int length); + static void copy(Blob *dstBlob, int dstOffset, const char *srcBuffer, int length); + }; +} + +namespace bmqa { + class MessageProperties; + class Message { + public: + Message& setData(const bdlbb::Blob* data); + Message& setData(const char* data, bsl::size_t length); + Message& setDataRef(const bdlbb::Blob* data); + Message& setDataRef(const char* data, bsl::size_t length); + Message& setPropertiesRef(const MessageProperties* properties); + Message clone(bslma::Allocator* basicAllocator = 0) const; + int getData(bdlbb::Blob* blob) const; + int loadProperties(MessageProperties* buffer) const; + }; + class MessageProperties { + public: + explicit MessageProperties(bslma::Allocator* basicAllocator = 0); + MessageProperties(const MessageProperties& other, bslma::Allocator* basicAllocator = 0); + MessageProperties& operator=(const MessageProperties& rhs); + int setPropertyAsBool(bsl::string_view name, bool value); + int setPropertyAsChar(bsl::string_view name, char value); + int setPropertyAsShort(bsl::string_view name, short value); + int setPropertyAsInt32(bsl::string_view name, bsl::int32_t value); + int setPropertyAsInt64(bsl::string_view name, bsls::Types::Int64 value); + int setPropertyAsString(bsl::string_view name, bsl::string_view value); + int setPropertyAsBinary(bsl::string_view name, bsl::span value); + int streamIn(const bdlbb::Blob& blob); + const bdlbb::Blob& streamOut(bdlbb::BlobBufferFactory* bufferFactory) const; + bsl::int32_t getPropertyAsInt32(bsl::string_view name) const; + const bsl::string& getPropertyAsString(bsl::string_view name) const; + const bsl::vector& getPropertyAsBinary(bsl::string_view name) const; + const bsl::string& getPropertyAsStringOr(bsl::string_view name, const bsl::string& value) const; + const bsl::vector& getPropertyAsBinaryOr(bsl::string_view name, const bsl::vector& value) const; + }; + class MessagePropertiesIterator { + public: + MessagePropertiesIterator(); + explicit MessagePropertiesIterator(const MessageProperties* properties); + MessagePropertiesIterator& operator=(const MessagePropertiesIterator& rhs); + bool hasNext(); + const bsl::string& name() const; + bsl::int32_t getAsInt32() const; + const bsl::string& getAsString() const; + const bsl::vector& getAsBinary() const; + }; + class MessageIterator { + public: + bool nextMessage(); + const Message& message() const; + }; + class MessageEvent { + public: + MessageIterator messageIterator() const; + }; +} +} + +// --- test code --- + +char *source(); +void sink(char); +void sink(int); + +// A received message or event is made by reinterpreting a tainted bsl::string. + +void test_getData() { + bsl::string data(source()); + BloombergLP::bmqa::Message *msg = (BloombergLP::bmqa::Message *)data.data(); + BloombergLP::bdlbb::Blob blob; + msg->getData(&blob); + char dst[16]; + BloombergLP::bdlbb::BlobUtil::copy(dst, blob, 0, 16); + sink(*dst); // $ ir +} + +void test_event_iterator_message_getData() { + bsl::string data(source()); + BloombergLP::bmqa::MessageEvent *event = (BloombergLP::bmqa::MessageEvent *)data.data(); + BloombergLP::bmqa::MessageIterator it = event->messageIterator(); + while (it.nextMessage()) { + const BloombergLP::bmqa::Message &msg = it.message(); + BloombergLP::bdlbb::Blob blob; + msg.getData(&blob); + char dst[16]; + BloombergLP::bdlbb::BlobUtil::copy(dst, blob, 0, 16); + sink(*dst); // $ ir + } +} + +void test_setDataRef_getData_round_trip() { + bsl::string s(source()); + BloombergLP::bdlbb::Blob in; + BloombergLP::bdlbb::BlobUtil::copy(&in, 0, s.data(), s.size()); + BloombergLP::bmqa::Message msg; + msg.setDataRef(&in); + BloombergLP::bdlbb::Blob out; + msg.getData(&out); + char dst[16]; + BloombergLP::bdlbb::BlobUtil::copy(dst, out, 0, 16); + sink(*dst); // $ ir +} + +void test_setDataRef_chars_getData() { + bsl::string s(source()); + BloombergLP::bmqa::Message msg; + msg.setDataRef(s.data(), s.size()); + BloombergLP::bdlbb::Blob out; + msg.getData(&out); + char dst[16]; + BloombergLP::bdlbb::BlobUtil::copy(dst, out, 0, 16); + sink(*dst); // $ ir +} + +void test_setData_getData() { + bsl::string s(source()); + BloombergLP::bmqa::Message msg; + msg.setData(s.data(), s.size()); + BloombergLP::bdlbb::Blob out; + msg.getData(&out); + char dst[16]; + BloombergLP::bdlbb::BlobUtil::copy(dst, out, 0, 16); + sink(*dst); // $ ir +} + +void test_clone_getData() { + bsl::string data(source()); + BloombergLP::bmqa::Message *msg = (BloombergLP::bmqa::Message *)data.data(); + BloombergLP::bmqa::Message copy = msg->clone(); + BloombergLP::bdlbb::Blob blob; + copy.getData(&blob); + char dst[16]; + BloombergLP::bdlbb::BlobUtil::copy(dst, blob, 0, 16); + sink(*dst); // $ ir +} + +void test_loadProperties_getPropertyAsString() { + bsl::string data(source()); + BloombergLP::bmqa::Message *msg = (BloombergLP::bmqa::Message *)data.data(); + BloombergLP::bmqa::MessageProperties props; + msg->loadProperties(&props); + const bsl::string &value = props.getPropertyAsString("key"); + sink(value.data()[0]); // $ ir +} + +void test_loadProperties_getPropertyAsBinary() { + bsl::string data(source()); + BloombergLP::bmqa::Message *msg = (BloombergLP::bmqa::Message *)data.data(); + BloombergLP::bmqa::MessageProperties props; + msg->loadProperties(&props); + const bsl::vector &value = props.getPropertyAsBinary("key"); + sink(value.data()[0]); // $ ir +} + +void test_loadProperties_getPropertyAsBinary_index() { + bsl::string data(source()); + BloombergLP::bmqa::Message *msg = (BloombergLP::bmqa::Message *)data.data(); + BloombergLP::bmqa::MessageProperties props; + msg->loadProperties(&props); + const bsl::vector &value = props.getPropertyAsBinary("key"); + sink(value[0]); // $ ir +} + +void test_getPropertyAsStringOr() { + bsl::string data(source()); + BloombergLP::bmqa::Message *msg = (BloombergLP::bmqa::Message *)data.data(); + BloombergLP::bmqa::MessageProperties props; + msg->loadProperties(&props); + bsl::string dflt; + const bsl::string &value = props.getPropertyAsStringOr("key", dflt); + sink(*value.data()); // $ ir +} + +// The default value is returned when the property is absent. +void test_getPropertyAsStringOr_default() { + bsl::string dflt(source()); + BloombergLP::bmqa::MessageProperties props; + const bsl::string &value = props.getPropertyAsStringOr("key", dflt); + sink(*value.data()); // $ ir +} + +void test_getPropertyAsBinaryOr() { + bsl::string data(source()); + BloombergLP::bmqa::Message *msg = (BloombergLP::bmqa::Message *)data.data(); + BloombergLP::bmqa::MessageProperties props; + msg->loadProperties(&props); + bsl::vector dflt; + const bsl::vector &value = props.getPropertyAsBinaryOr("key", dflt); + sink(*value.data()); // $ ir +} + +void test_getPropertyAsBinaryOr_default() { + char c = *source(); + bsl::vector dflt; + dflt.push_back(c); + BloombergLP::bmqa::MessageProperties props; + const bsl::vector &value = props.getPropertyAsBinaryOr("key", dflt); + sink(*value.data()); // $ ir +} + +void test_getPropertyAsInt32_no_flow() { + bsl::string data(source()); + BloombergLP::bmqa::Message *msg = (BloombergLP::bmqa::Message *)data.data(); + BloombergLP::bmqa::MessageProperties props; + msg->loadProperties(&props); + sink(props.getPropertyAsInt32("key")); // no flow: scalar getters are not modelled +} + +void test_streamIn_getPropertyAsString() { + bsl::string s(source()); + BloombergLP::bdlbb::Blob blob; + BloombergLP::bdlbb::BlobUtil::copy(&blob, 0, s.data(), s.size()); + BloombergLP::bmqa::MessageProperties props; + props.streamIn(blob); + sink(*props.getPropertyAsString("key").data()); // $ ir +} + +void test_setPropertiesRef_loadProperties() { + bsl::string s(source()); + BloombergLP::bdlbb::Blob blob; + BloombergLP::bdlbb::BlobUtil::copy(&blob, 0, s.data(), s.size()); + BloombergLP::bmqa::MessageProperties in; + in.streamIn(blob); + BloombergLP::bmqa::Message msg; + msg.setPropertiesRef(&in); + BloombergLP::bmqa::MessageProperties out; + msg.loadProperties(&out); + sink(*out.getPropertyAsString("key").data()); // $ ir +} + +void test_streamOut() { + bsl::string data(source()); + BloombergLP::bmqa::Message *msg = (BloombergLP::bmqa::Message *)data.data(); + BloombergLP::bmqa::MessageProperties props; + msg->loadProperties(&props); + BloombergLP::bdlbb::BlobBufferFactory factory; + const BloombergLP::bdlbb::Blob &blob = props.streamOut(&factory); + char dst[16]; + BloombergLP::bdlbb::BlobUtil::copy(dst, blob, 0, 16); + sink(*dst); // $ ir +} + +void test_copy_constructor() { + bsl::string data(source()); + BloombergLP::bmqa::Message *msg = (BloombergLP::bmqa::Message *)data.data(); + BloombergLP::bmqa::MessageProperties props; + msg->loadProperties(&props); + BloombergLP::bmqa::MessageProperties copy(props); + sink(*copy.getPropertyAsString("key").data()); // $ ir +} + +void test_assignment() { + bsl::string data(source()); + BloombergLP::bmqa::Message *msg = (BloombergLP::bmqa::Message *)data.data(); + BloombergLP::bmqa::MessageProperties props; + msg->loadProperties(&props); + BloombergLP::bmqa::MessageProperties copy; + copy = props; + sink(*copy.getPropertyAsString("key").data()); // $ ir +} + +void test_assignment_result() { + bsl::string data(source()); + BloombergLP::bmqa::Message *msg = (BloombergLP::bmqa::Message *)data.data(); + BloombergLP::bmqa::MessageProperties props; + msg->loadProperties(&props); + BloombergLP::bmqa::MessageProperties copy; + sink(*(copy = props).getPropertyAsString("key").data()); // $ ir +} + +void test_setPropertyAsString() { + bsl::string data(source()); + bsl::string_view *value = (bsl::string_view *)data.data(); + BloombergLP::bmqa::MessageProperties props; + props.setPropertyAsString("key", *value); + sink(*props.getPropertyAsString("key").data()); // $ ir +} + +void test_setPropertyAsString_from_chars() { + bsl::string_view value(source()); + BloombergLP::bmqa::MessageProperties props; + props.setPropertyAsString("key", value); + sink(*props.getPropertyAsString("key").data()); // $ ir +} + +void test_setPropertyAsBinary() { + bsl::string data(source()); + bsl::span *value = (bsl::span *)data.data(); + BloombergLP::bmqa::MessageProperties props; + props.setPropertyAsBinary("key", *value); + sink(*props.getPropertyAsBinary("key").data()); // $ ir +} + +// A stored property name is exposed again by the iterator. +void test_setPropertyAsBool_name() { + bsl::string_view name(source()); + BloombergLP::bmqa::MessageProperties props; + props.setPropertyAsBool(name, true); + BloombergLP::bmqa::MessagePropertiesIterator it(&props); + sink(*it.name().data()); // $ ir +} + +void test_setPropertyAsChar_name() { + bsl::string_view name(source()); + BloombergLP::bmqa::MessageProperties props; + props.setPropertyAsChar(name, 'c'); + BloombergLP::bmqa::MessagePropertiesIterator it(&props); + sink(*it.name().data()); // $ ir +} + +void test_setPropertyAsShort_name() { + bsl::string_view name(source()); + BloombergLP::bmqa::MessageProperties props; + props.setPropertyAsShort(name, 1); + BloombergLP::bmqa::MessagePropertiesIterator it(&props); + sink(*it.name().data()); // $ ir +} + +void test_setPropertyAsInt32_name() { + bsl::string_view name(source()); + BloombergLP::bmqa::MessageProperties props; + props.setPropertyAsInt32(name, 1); + BloombergLP::bmqa::MessagePropertiesIterator it(&props); + sink(*it.name().data()); // $ ir +} + +void test_setPropertyAsInt64_name() { + bsl::string_view name(source()); + BloombergLP::bmqa::MessageProperties props; + props.setPropertyAsInt64(name, 1); + BloombergLP::bmqa::MessagePropertiesIterator it(&props); + sink(*it.name().data()); // $ ir +} + +void test_setPropertyAsString_name() { + bsl::string_view name(source()); + BloombergLP::bmqa::MessageProperties props; + props.setPropertyAsString(name, "value"); + BloombergLP::bmqa::MessagePropertiesIterator it(&props); + sink(*it.name().data()); // $ ir +} + +void test_setPropertyAsBinary_name() { + bsl::string_view name(source()); + BloombergLP::bmqa::MessageProperties props; + props.setPropertyAsBinary(name, bsl::span()); + BloombergLP::bmqa::MessagePropertiesIterator it(&props); + sink(*it.name().data()); // $ ir +} + +void test_iterator() { + bsl::string data(source()); + BloombergLP::bmqa::Message *msg = (BloombergLP::bmqa::Message *)data.data(); + BloombergLP::bmqa::MessageProperties props; + msg->loadProperties(&props); + BloombergLP::bmqa::MessagePropertiesIterator it(&props); + while (it.hasNext()) { + sink(*it.name().data()); // $ ir + sink(*it.getAsString().data()); // $ ir + sink(*it.getAsBinary().data()); // $ ir + sink(it.getAsInt32()); // no flow: scalar getters are not modelled + } +} + +void test_iterator_assignment() { + bsl::string data(source()); + BloombergLP::bmqa::Message *msg = (BloombergLP::bmqa::Message *)data.data(); + BloombergLP::bmqa::MessageProperties props; + msg->loadProperties(&props); + BloombergLP::bmqa::MessagePropertiesIterator it(&props); + BloombergLP::bmqa::MessagePropertiesIterator copy; + copy = it; + sink(*copy.getAsString().data()); // $ ir + sink(*(copy = it).name().data()); // $ ir +} 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 ee6d7539cc0a..8a153cb0b1e0 100644 --- a/cpp/ql/test/library-tests/dataflow/external-models/flow.expected +++ b/cpp/ql/test/library-tests/dataflow/external-models/flow.expected @@ -102,23 +102,60 @@ models | 101 | Summary: BloombergLP::bdlbb; BlobUtil; true; copy; (Blob *,int,const char *,int); ; Argument[*2]; Argument[*0]; taint; manual | | 102 | Summary: BloombergLP::bdlbb; BlobUtil; true; copy; (char *,const Blob &,int,int); ; Argument[*1]; Argument[*0]; taint; manual | | 103 | Summary: BloombergLP::bdlbb; BlobUtil; true; getContiguousRangeOrCopy; ; ; Argument[*1]; ReturnValue[*]; taint; manual | -| 104 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const InternetProtocol &,const string &,const string &); ; Argument[*1..2]; ReturnValue; taint; manual | -| 105 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const InternetProtocol &,const string &,const string &,error_code &); ; Argument[*1..2]; ReturnValue; taint; manual | -| 106 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const InternetProtocol &,const string &,const string &,flags); ; Argument[*1..2]; ReturnValue; taint; manual | -| 107 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const InternetProtocol &,const string &,const string &,flags,error_code &); ; Argument[*1..2]; ReturnValue; taint; manual | -| 108 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const InternetProtocol &,string_view,string_view); ; Argument[1..2]; ReturnValue; taint; manual | -| 109 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const InternetProtocol &,string_view,string_view,error_code &); ; Argument[1..2]; ReturnValue; taint; manual | -| 110 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const InternetProtocol &,string_view,string_view,flags); ; Argument[1..2]; ReturnValue; taint; manual | -| 111 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const InternetProtocol &,string_view,string_view,flags,error_code &); ; Argument[1..2]; ReturnValue; taint; manual | -| 112 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const string &,const string &); ; Argument[*0..1]; ReturnValue; taint; manual | -| 113 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const string &,const string &,error_code &); ; Argument[*0..1]; ReturnValue; taint; manual | -| 114 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const string &,const string &,flags); ; Argument[*0..1]; ReturnValue; taint; manual | -| 115 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const string &,const string &,flags,error_code &); ; Argument[*0..1]; ReturnValue; taint; manual | -| 116 | Summary: boost::asio::ip; basic_resolver; false; resolve; (string_view,string_view); ; Argument[0..1]; ReturnValue; taint; manual | -| 117 | Summary: boost::asio::ip; basic_resolver; false; resolve; (string_view,string_view,error_code &); ; Argument[0..1]; ReturnValue; taint; manual | -| 118 | Summary: boost::asio::ip; basic_resolver; false; resolve; (string_view,string_view,flags); ; Argument[0..1]; ReturnValue; taint; manual | -| 119 | Summary: boost::asio::ip; basic_resolver; false; resolve; (string_view,string_view,flags,error_code &); ; Argument[0..1]; ReturnValue; taint; manual | -| 120 | Summary: boost::asio; ; false; buffer; ; ; Argument[*0]; ReturnValue; taint; manual | +| 104 | Summary: BloombergLP::bmqa; Message; true; clone; ; ; Argument[-1]; ReturnValue; taint; manual | +| 105 | Summary: BloombergLP::bmqa; Message; true; getData; ; ; Argument[-1]; Argument[*0]; taint; manual | +| 106 | Summary: BloombergLP::bmqa; Message; true; loadProperties; ; ; Argument[-1]; Argument[*0]; taint; manual | +| 107 | Summary: BloombergLP::bmqa; Message; true; setData; ; ; Argument[*0]; Argument[-1]; taint; manual | +| 108 | Summary: BloombergLP::bmqa; Message; true; setDataRef; ; ; Argument[*0]; Argument[-1]; taint; manual | +| 109 | Summary: BloombergLP::bmqa; Message; true; setPropertiesRef; ; ; Argument[*0]; Argument[-1]; taint; manual | +| 110 | Summary: BloombergLP::bmqa; MessageEvent; true; messageIterator; ; ; Argument[-1]; ReturnValue; taint; manual | +| 111 | Summary: BloombergLP::bmqa; MessageIterator; true; message; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 112 | Summary: BloombergLP::bmqa; MessageProperties; true; MessageProperties; (const MessageProperties &,Allocator *); ; Argument[*0]; Argument[-1]; value; manual | +| 113 | Summary: BloombergLP::bmqa; MessageProperties; true; getPropertyAsBinary; ; ; Argument[-1]; ReturnValue[*].Element; taint; manual | +| 114 | Summary: BloombergLP::bmqa; MessageProperties; true; getPropertyAsBinaryOr; ; ; Argument[*1].Element[@]; ReturnValue[*].Element[@]; value; manual | +| 115 | Summary: BloombergLP::bmqa; MessageProperties; true; getPropertyAsBinaryOr; ; ; Argument[-1]; ReturnValue[*].Element; taint; manual | +| 116 | Summary: BloombergLP::bmqa; MessageProperties; true; getPropertyAsString; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 117 | Summary: BloombergLP::bmqa; MessageProperties; true; getPropertyAsStringOr; ; ; Argument[*1]; ReturnValue[*]; value; manual | +| 118 | Summary: BloombergLP::bmqa; MessageProperties; true; getPropertyAsStringOr; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 119 | Summary: BloombergLP::bmqa; MessageProperties; true; operator=; ; ; Argument[*0]; Argument[-1]; value; manual | +| 120 | Summary: BloombergLP::bmqa; MessageProperties; true; operator=; ; ; Argument[*0]; ReturnValue[*]; value; manual | +| 121 | Summary: BloombergLP::bmqa; MessageProperties; true; setPropertyAsBinary; ; ; Argument[0]; Argument[-1]; taint; manual | +| 122 | Summary: BloombergLP::bmqa; MessageProperties; true; setPropertyAsBinary; ; ; Argument[1]; Argument[-1]; taint; manual | +| 123 | Summary: BloombergLP::bmqa; MessageProperties; true; setPropertyAsBool; ; ; Argument[0]; Argument[-1]; taint; manual | +| 124 | Summary: BloombergLP::bmqa; MessageProperties; true; setPropertyAsChar; ; ; Argument[0]; Argument[-1]; taint; manual | +| 125 | Summary: BloombergLP::bmqa; MessageProperties; true; setPropertyAsInt32; ; ; Argument[0]; Argument[-1]; taint; manual | +| 126 | Summary: BloombergLP::bmqa; MessageProperties; true; setPropertyAsInt64; ; ; Argument[0]; Argument[-1]; taint; manual | +| 127 | Summary: BloombergLP::bmqa; MessageProperties; true; setPropertyAsShort; ; ; Argument[0]; Argument[-1]; taint; manual | +| 128 | Summary: BloombergLP::bmqa; MessageProperties; true; setPropertyAsString; ; ; Argument[0]; Argument[-1]; taint; manual | +| 129 | Summary: BloombergLP::bmqa; MessageProperties; true; setPropertyAsString; ; ; Argument[1]; Argument[-1]; taint; manual | +| 130 | Summary: BloombergLP::bmqa; MessageProperties; true; streamIn; ; ; Argument[*0]; Argument[-1]; taint; manual | +| 131 | Summary: BloombergLP::bmqa; MessageProperties; true; streamOut; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 132 | Summary: BloombergLP::bmqa; MessagePropertiesIterator; true; MessagePropertiesIterator; ; ; Argument[*0]; Argument[-1]; taint; manual | +| 133 | Summary: BloombergLP::bmqa; MessagePropertiesIterator; true; getAsBinary; ; ; Argument[-1]; ReturnValue[*].Element; taint; manual | +| 134 | Summary: BloombergLP::bmqa; MessagePropertiesIterator; true; getAsString; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 135 | Summary: BloombergLP::bmqa; MessagePropertiesIterator; true; name; ; ; Argument[-1]; ReturnValue[*]; taint; manual | +| 136 | Summary: BloombergLP::bmqa; MessagePropertiesIterator; true; operator=; ; ; Argument[*0]; Argument[-1]; value; manual | +| 137 | Summary: BloombergLP::bmqa; MessagePropertiesIterator; true; operator=; ; ; Argument[*0]; ReturnValue[*]; value; manual | +| 138 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const InternetProtocol &,const string &,const string &); ; Argument[*1..2]; ReturnValue; taint; manual | +| 139 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const InternetProtocol &,const string &,const string &,error_code &); ; Argument[*1..2]; ReturnValue; taint; manual | +| 140 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const InternetProtocol &,const string &,const string &,flags); ; Argument[*1..2]; ReturnValue; taint; manual | +| 141 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const InternetProtocol &,const string &,const string &,flags,error_code &); ; Argument[*1..2]; ReturnValue; taint; manual | +| 142 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const InternetProtocol &,string_view,string_view); ; Argument[1..2]; ReturnValue; taint; manual | +| 143 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const InternetProtocol &,string_view,string_view,error_code &); ; Argument[1..2]; ReturnValue; taint; manual | +| 144 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const InternetProtocol &,string_view,string_view,flags); ; Argument[1..2]; ReturnValue; taint; manual | +| 145 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const InternetProtocol &,string_view,string_view,flags,error_code &); ; Argument[1..2]; ReturnValue; taint; manual | +| 146 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const string &,const string &); ; Argument[*0..1]; ReturnValue; taint; manual | +| 147 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const string &,const string &,error_code &); ; Argument[*0..1]; ReturnValue; taint; manual | +| 148 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const string &,const string &,flags); ; Argument[*0..1]; ReturnValue; taint; manual | +| 149 | Summary: boost::asio::ip; basic_resolver; false; resolve; (const string &,const string &,flags,error_code &); ; Argument[*0..1]; ReturnValue; taint; manual | +| 150 | Summary: boost::asio::ip; basic_resolver; false; resolve; (string_view,string_view); ; Argument[0..1]; ReturnValue; taint; manual | +| 151 | Summary: boost::asio::ip; basic_resolver; false; resolve; (string_view,string_view,error_code &); ; Argument[0..1]; ReturnValue; taint; manual | +| 152 | Summary: boost::asio::ip; basic_resolver; false; resolve; (string_view,string_view,flags); ; Argument[0..1]; ReturnValue; taint; manual | +| 153 | Summary: boost::asio::ip; basic_resolver; false; resolve; (string_view,string_view,flags,error_code &); ; Argument[0..1]; ReturnValue; taint; manual | +| 154 | Summary: boost::asio; ; false; buffer; ; ; Argument[*0]; ReturnValue; taint; manual | +| 155 | Summary: bsl; vector; true; data; ; ; Argument[-1].Element[@]; ReturnValue[*@]; value; manual | +| 156 | Summary: bsl; vector; true; operator[]; ; ; Argument[-1].Element[@]; ReturnValue[*@]; value; manual | +| 157 | Summary: bsl; vector; true; push_back; ; ; Argument[*@0]; Argument[-1].Element[@]; value; manual | edges | asio_streams.cpp:129:34:129:44 | read_until output argument | asio_streams.cpp:133:7:133:17 | recv_buffer | provenance | Src:MaD:56 | | asio_streams.cpp:129:34:129:44 | read_until output argument | asio_streams.cpp:135:29:135:39 | recv_buffer | provenance | Src:MaD:56 Sink:MaD:4 | @@ -127,7 +164,7 @@ edges | asio_streams.cpp:142:44:142:62 | call to buffer | asio_streams.cpp:142:44:142:62 | call to buffer | provenance | | | asio_streams.cpp:142:44:142:62 | call to buffer | asio_streams.cpp:143:7:143:17 | send_buffer | provenance | | | asio_streams.cpp:142:44:142:62 | call to buffer | asio_streams.cpp:145:29:145:39 | send_buffer | provenance | Sink:MaD:4 | -| asio_streams.cpp:142:64:142:71 | *send_str | asio_streams.cpp:142:44:142:62 | call to buffer | provenance | MaD:120 | +| asio_streams.cpp:142:64:142:71 | *send_str | asio_streams.cpp:142:44:142:62 | call to buffer | provenance | MaD:154 | | asio_streams.cpp:156:19:156:26 | call to source | asio_streams.cpp:161:24:161:27 | *host | provenance | TaintFunction | | asio_streams.cpp:156:19:156:26 | call to source | asio_streams.cpp:162:24:162:27 | *host | provenance | TaintFunction | | asio_streams.cpp:156:19:156:26 | call to source | asio_streams.cpp:163:24:163:27 | *host | provenance | TaintFunction | @@ -144,22 +181,22 @@ edges | asio_streams.cpp:158:29:158:36 | call to source | asio_streams.cpp:177:34:177:42 | host_view | provenance | TaintFunction | | asio_streams.cpp:158:29:158:36 | call to source | asio_streams.cpp:178:34:178:42 | host_view | provenance | TaintFunction | | asio_streams.cpp:158:29:158:36 | call to source | asio_streams.cpp:179:34:179:42 | host_view | provenance | TaintFunction | -| asio_streams.cpp:161:24:161:27 | *host | asio_streams.cpp:161:16:161:22 | call to resolve | provenance | MaD:112 | -| asio_streams.cpp:162:24:162:27 | *host | asio_streams.cpp:162:16:162:22 | call to resolve | provenance | MaD:113 | -| asio_streams.cpp:163:24:163:27 | *host | asio_streams.cpp:163:16:163:22 | call to resolve | provenance | MaD:114 | -| asio_streams.cpp:164:24:164:27 | *host | asio_streams.cpp:164:16:164:22 | call to resolve | provenance | MaD:115 | -| asio_streams.cpp:166:24:166:32 | host_view | asio_streams.cpp:166:16:166:22 | call to resolve | provenance | MaD:116 | -| asio_streams.cpp:167:24:167:32 | host_view | asio_streams.cpp:167:16:167:22 | call to resolve | provenance | MaD:117 | -| asio_streams.cpp:168:24:168:32 | host_view | asio_streams.cpp:168:16:168:22 | call to resolve | provenance | MaD:118 | -| asio_streams.cpp:169:24:169:32 | host_view | asio_streams.cpp:169:16:169:22 | call to resolve | provenance | MaD:119 | -| asio_streams.cpp:171:34:171:37 | *host | asio_streams.cpp:171:16:171:22 | call to resolve | provenance | MaD:104 | -| asio_streams.cpp:172:34:172:37 | *host | asio_streams.cpp:172:16:172:22 | call to resolve | provenance | MaD:105 | -| asio_streams.cpp:173:34:173:37 | *host | asio_streams.cpp:173:16:173:22 | call to resolve | provenance | MaD:106 | -| asio_streams.cpp:174:34:174:37 | *host | asio_streams.cpp:174:16:174:22 | call to resolve | provenance | MaD:107 | -| asio_streams.cpp:176:34:176:42 | host_view | asio_streams.cpp:176:16:176:22 | call to resolve | provenance | MaD:108 | -| asio_streams.cpp:177:34:177:42 | host_view | asio_streams.cpp:177:16:177:22 | call to resolve | provenance | MaD:109 | -| asio_streams.cpp:178:34:178:42 | host_view | asio_streams.cpp:178:16:178:22 | call to resolve | provenance | MaD:110 | -| asio_streams.cpp:179:34:179:42 | host_view | asio_streams.cpp:179:16:179:22 | call to resolve | provenance | MaD:111 | +| asio_streams.cpp:161:24:161:27 | *host | asio_streams.cpp:161:16:161:22 | call to resolve | provenance | MaD:146 | +| asio_streams.cpp:162:24:162:27 | *host | asio_streams.cpp:162:16:162:22 | call to resolve | provenance | MaD:147 | +| asio_streams.cpp:163:24:163:27 | *host | asio_streams.cpp:163:16:163:22 | call to resolve | provenance | MaD:148 | +| asio_streams.cpp:164:24:164:27 | *host | asio_streams.cpp:164:16:164:22 | call to resolve | provenance | MaD:149 | +| asio_streams.cpp:166:24:166:32 | host_view | asio_streams.cpp:166:16:166:22 | call to resolve | provenance | MaD:150 | +| asio_streams.cpp:167:24:167:32 | host_view | asio_streams.cpp:167:16:167:22 | call to resolve | provenance | MaD:151 | +| asio_streams.cpp:168:24:168:32 | host_view | asio_streams.cpp:168:16:168:22 | call to resolve | provenance | MaD:152 | +| asio_streams.cpp:169:24:169:32 | host_view | asio_streams.cpp:169:16:169:22 | call to resolve | provenance | MaD:153 | +| asio_streams.cpp:171:34:171:37 | *host | asio_streams.cpp:171:16:171:22 | call to resolve | provenance | MaD:138 | +| asio_streams.cpp:172:34:172:37 | *host | asio_streams.cpp:172:16:172:22 | call to resolve | provenance | MaD:139 | +| asio_streams.cpp:173:34:173:37 | *host | asio_streams.cpp:173:16:173:22 | call to resolve | provenance | MaD:140 | +| asio_streams.cpp:174:34:174:37 | *host | asio_streams.cpp:174:16:174:22 | call to resolve | provenance | MaD:141 | +| asio_streams.cpp:176:34:176:42 | host_view | asio_streams.cpp:176:16:176:22 | call to resolve | provenance | MaD:142 | +| asio_streams.cpp:177:34:177:42 | host_view | asio_streams.cpp:177:16:177:22 | call to resolve | provenance | MaD:143 | +| asio_streams.cpp:178:34:178:42 | host_view | asio_streams.cpp:178:16:178:22 | call to resolve | provenance | MaD:144 | +| asio_streams.cpp:179:34:179:42 | host_view | asio_streams.cpp:179:16:179:22 | call to resolve | provenance | MaD:145 | | asio_streams.cpp:188:22:188:29 | call to source | asio_streams.cpp:192:30:192:36 | *service | provenance | TaintFunction | | asio_streams.cpp:188:22:188:29 | call to source | asio_streams.cpp:193:30:193:36 | *service | provenance | TaintFunction | | asio_streams.cpp:188:22:188:29 | call to source | asio_streams.cpp:194:30:194:36 | *service | provenance | TaintFunction | @@ -176,22 +213,22 @@ edges | asio_streams.cpp:190:32:190:39 | call to source | asio_streams.cpp:208:45:208:56 | service_view | provenance | TaintFunction | | asio_streams.cpp:190:32:190:39 | call to source | asio_streams.cpp:209:45:209:56 | service_view | provenance | TaintFunction | | asio_streams.cpp:190:32:190:39 | call to source | asio_streams.cpp:210:45:210:56 | service_view | provenance | TaintFunction | -| asio_streams.cpp:192:30:192:36 | *service | asio_streams.cpp:192:16:192:22 | call to resolve | provenance | MaD:112 | -| asio_streams.cpp:193:30:193:36 | *service | asio_streams.cpp:193:16:193:22 | call to resolve | provenance | MaD:113 | -| asio_streams.cpp:194:30:194:36 | *service | asio_streams.cpp:194:16:194:22 | call to resolve | provenance | MaD:114 | -| asio_streams.cpp:195:30:195:36 | *service | asio_streams.cpp:195:16:195:22 | call to resolve | provenance | MaD:115 | -| asio_streams.cpp:197:35:197:46 | service_view | asio_streams.cpp:197:16:197:22 | call to resolve | provenance | MaD:116 | -| asio_streams.cpp:198:35:198:46 | service_view | asio_streams.cpp:198:16:198:22 | call to resolve | provenance | MaD:117 | -| asio_streams.cpp:199:35:199:46 | service_view | asio_streams.cpp:199:16:199:22 | call to resolve | provenance | MaD:118 | -| asio_streams.cpp:200:35:200:46 | service_view | asio_streams.cpp:200:16:200:22 | call to resolve | provenance | MaD:119 | -| asio_streams.cpp:202:40:202:46 | *service | asio_streams.cpp:202:16:202:22 | call to resolve | provenance | MaD:104 | -| asio_streams.cpp:203:40:203:46 | *service | asio_streams.cpp:203:16:203:22 | call to resolve | provenance | MaD:105 | -| asio_streams.cpp:204:40:204:46 | *service | asio_streams.cpp:204:16:204:22 | call to resolve | provenance | MaD:106 | -| asio_streams.cpp:205:40:205:46 | *service | asio_streams.cpp:205:16:205:22 | call to resolve | provenance | MaD:107 | -| asio_streams.cpp:207:45:207:56 | service_view | asio_streams.cpp:207:16:207:22 | call to resolve | provenance | MaD:108 | -| asio_streams.cpp:208:45:208:56 | service_view | asio_streams.cpp:208:16:208:22 | call to resolve | provenance | MaD:109 | -| asio_streams.cpp:209:45:209:56 | service_view | asio_streams.cpp:209:16:209:22 | call to resolve | provenance | MaD:110 | -| asio_streams.cpp:210:45:210:56 | service_view | asio_streams.cpp:210:16:210:22 | call to resolve | provenance | MaD:111 | +| asio_streams.cpp:192:30:192:36 | *service | asio_streams.cpp:192:16:192:22 | call to resolve | provenance | MaD:146 | +| asio_streams.cpp:193:30:193:36 | *service | asio_streams.cpp:193:16:193:22 | call to resolve | provenance | MaD:147 | +| asio_streams.cpp:194:30:194:36 | *service | asio_streams.cpp:194:16:194:22 | call to resolve | provenance | MaD:148 | +| asio_streams.cpp:195:30:195:36 | *service | asio_streams.cpp:195:16:195:22 | call to resolve | provenance | MaD:149 | +| asio_streams.cpp:197:35:197:46 | service_view | asio_streams.cpp:197:16:197:22 | call to resolve | provenance | MaD:150 | +| asio_streams.cpp:198:35:198:46 | service_view | asio_streams.cpp:198:16:198:22 | call to resolve | provenance | MaD:151 | +| asio_streams.cpp:199:35:199:46 | service_view | asio_streams.cpp:199:16:199:22 | call to resolve | provenance | MaD:152 | +| asio_streams.cpp:200:35:200:46 | service_view | asio_streams.cpp:200:16:200:22 | call to resolve | provenance | MaD:153 | +| asio_streams.cpp:202:40:202:46 | *service | asio_streams.cpp:202:16:202:22 | call to resolve | provenance | MaD:138 | +| asio_streams.cpp:203:40:203:46 | *service | asio_streams.cpp:203:16:203:22 | call to resolve | provenance | MaD:139 | +| asio_streams.cpp:204:40:204:46 | *service | asio_streams.cpp:204:16:204:22 | call to resolve | provenance | MaD:140 | +| asio_streams.cpp:205:40:205:46 | *service | asio_streams.cpp:205:16:205:22 | call to resolve | provenance | MaD:141 | +| asio_streams.cpp:207:45:207:56 | service_view | asio_streams.cpp:207:16:207:22 | call to resolve | provenance | MaD:142 | +| asio_streams.cpp:208:45:208:56 | service_view | asio_streams.cpp:208:16:208:22 | call to resolve | provenance | MaD:143 | +| asio_streams.cpp:209:45:209:56 | service_view | asio_streams.cpp:209:16:209:22 | call to resolve | provenance | MaD:144 | +| asio_streams.cpp:210:45:210:56 | service_view | asio_streams.cpp:210:16:210:22 | call to resolve | provenance | MaD:145 | | 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 | | @@ -263,6 +300,256 @@ edges | bdlbb.cpp:94:46:94:48 | *src | bdlbb.cpp:94:37:94:40 | copy output argument | provenance | MaD:100 | | bdlbb.cpp:96:37:96:39 | copy output argument | bdlbb.cpp:97:7:97:10 | * ... | provenance | | | bdlbb.cpp:96:42:96:44 | *dst | bdlbb.cpp:96:37:96:39 | copy output argument | provenance | MaD:102 | +| bmqa.cpp:124:19:124:26 | call to source | bmqa.cpp:125:36:125:76 | *call to data | provenance | TaintFunction | +| bmqa.cpp:125:36:125:76 | *call to data | bmqa.cpp:127:2:127:4 | *msg | provenance | | +| bmqa.cpp:127:2:127:4 | *msg | bmqa.cpp:127:15:127:19 | getData output argument | provenance | MaD:105 | +| bmqa.cpp:127:15:127:19 | getData output argument | bmqa.cpp:129:42:129:45 | *blob | provenance | | +| bmqa.cpp:129:37:129:39 | copy output argument | bmqa.cpp:130:7:130:10 | * ... | provenance | | +| bmqa.cpp:129:42:129:45 | *blob | bmqa.cpp:129:37:129:39 | copy output argument | provenance | MaD:102 | +| bmqa.cpp:134:19:134:26 | call to source | bmqa.cpp:135:43:135:88 | *call to data | provenance | TaintFunction | +| bmqa.cpp:135:43:135:88 | *call to data | bmqa.cpp:136:42:136:46 | *event | provenance | | +| bmqa.cpp:136:42:136:46 | *event | bmqa.cpp:136:49:136:63 | call to messageIterator | provenance | MaD:110 | +| bmqa.cpp:136:49:136:63 | call to messageIterator | bmqa.cpp:136:49:136:63 | call to messageIterator | provenance | | +| bmqa.cpp:136:49:136:63 | call to messageIterator | bmqa.cpp:138:43:138:44 | *it | provenance | | +| bmqa.cpp:138:43:138:44 | *it | bmqa.cpp:138:53:138:55 | *call to message | provenance | MaD:111 | +| bmqa.cpp:138:53:138:55 | *call to message | bmqa.cpp:138:53:138:55 | *call to message | provenance | | +| bmqa.cpp:138:53:138:55 | *call to message | bmqa.cpp:140:3:140:5 | *msg | provenance | | +| bmqa.cpp:140:3:140:5 | *msg | bmqa.cpp:140:15:140:19 | getData output argument | provenance | MaD:105 | +| bmqa.cpp:140:15:140:19 | getData output argument | bmqa.cpp:142:43:142:46 | *blob | provenance | | +| bmqa.cpp:142:38:142:40 | copy output argument | bmqa.cpp:143:8:143:11 | * ... | provenance | | +| bmqa.cpp:142:43:142:46 | *blob | bmqa.cpp:142:38:142:40 | copy output argument | provenance | MaD:102 | +| bmqa.cpp:148:16:148:23 | call to source | bmqa.cpp:150:47:150:50 | *call to data | provenance | TaintFunction | +| bmqa.cpp:150:37:150:39 | copy output argument | bmqa.cpp:152:17:152:19 | *& ... | provenance | | +| bmqa.cpp:150:47:150:50 | *call to data | bmqa.cpp:150:37:150:39 | copy output argument | provenance | MaD:101 | +| bmqa.cpp:152:2:152:4 | setDataRef output argument | bmqa.cpp:154:2:154:4 | *msg | provenance | | +| bmqa.cpp:152:17:152:19 | *& ... | bmqa.cpp:152:2:152:4 | setDataRef output argument | provenance | MaD:108 | +| bmqa.cpp:154:2:154:4 | *msg | bmqa.cpp:154:14:154:17 | getData output argument | provenance | MaD:105 | +| bmqa.cpp:154:14:154:17 | getData output argument | bmqa.cpp:156:42:156:44 | *out | provenance | | +| bmqa.cpp:156:37:156:39 | copy output argument | bmqa.cpp:157:7:157:10 | * ... | provenance | | +| bmqa.cpp:156:42:156:44 | *out | bmqa.cpp:156:37:156:39 | copy output argument | provenance | MaD:102 | +| bmqa.cpp:161:16:161:23 | call to source | bmqa.cpp:163:19:163:22 | *call to data | provenance | TaintFunction | +| bmqa.cpp:163:2:163:4 | setDataRef output argument | bmqa.cpp:165:2:165:4 | *msg | provenance | | +| bmqa.cpp:163:19:163:22 | *call to data | bmqa.cpp:163:2:163:4 | setDataRef output argument | provenance | MaD:108 | +| bmqa.cpp:165:2:165:4 | *msg | bmqa.cpp:165:14:165:17 | getData output argument | provenance | MaD:105 | +| bmqa.cpp:165:14:165:17 | getData output argument | bmqa.cpp:167:42:167:44 | *out | provenance | | +| bmqa.cpp:167:37:167:39 | copy output argument | bmqa.cpp:168:7:168:10 | * ... | provenance | | +| bmqa.cpp:167:42:167:44 | *out | bmqa.cpp:167:37:167:39 | copy output argument | provenance | MaD:102 | +| bmqa.cpp:172:16:172:23 | call to source | bmqa.cpp:174:16:174:19 | *call to data | provenance | TaintFunction | +| bmqa.cpp:174:2:174:4 | setData output argument | bmqa.cpp:176:2:176:4 | *msg | provenance | | +| bmqa.cpp:174:16:174:19 | *call to data | bmqa.cpp:174:2:174:4 | setData output argument | provenance | MaD:107 | +| bmqa.cpp:176:2:176:4 | *msg | bmqa.cpp:176:14:176:17 | getData output argument | provenance | MaD:105 | +| bmqa.cpp:176:14:176:17 | getData output argument | bmqa.cpp:178:42:178:44 | *out | provenance | | +| bmqa.cpp:178:37:178:39 | copy output argument | bmqa.cpp:179:7:179:10 | * ... | provenance | | +| bmqa.cpp:178:42:178:44 | *out | bmqa.cpp:178:37:178:39 | copy output argument | provenance | MaD:102 | +| bmqa.cpp:183:19:183:26 | call to source | bmqa.cpp:184:36:184:76 | *call to data | provenance | TaintFunction | +| bmqa.cpp:184:36:184:76 | *call to data | bmqa.cpp:185:36:185:38 | *msg | provenance | | +| bmqa.cpp:185:36:185:38 | *msg | bmqa.cpp:185:41:185:45 | call to clone | provenance | MaD:104 | +| bmqa.cpp:185:41:185:45 | call to clone | bmqa.cpp:185:41:185:45 | call to clone | provenance | | +| bmqa.cpp:185:41:185:45 | call to clone | bmqa.cpp:187:2:187:5 | *copy | provenance | | +| bmqa.cpp:187:2:187:5 | *copy | bmqa.cpp:187:15:187:19 | getData output argument | provenance | MaD:105 | +| bmqa.cpp:187:15:187:19 | getData output argument | bmqa.cpp:189:42:189:45 | *blob | provenance | | +| bmqa.cpp:189:37:189:39 | copy output argument | bmqa.cpp:190:7:190:10 | * ... | provenance | | +| bmqa.cpp:189:42:189:45 | *blob | bmqa.cpp:189:37:189:39 | copy output argument | provenance | MaD:102 | +| bmqa.cpp:194:19:194:26 | call to source | bmqa.cpp:195:36:195:76 | *call to data | provenance | TaintFunction | +| bmqa.cpp:195:36:195:76 | *call to data | bmqa.cpp:197:2:197:4 | *msg | provenance | | +| bmqa.cpp:197:2:197:4 | *msg | bmqa.cpp:197:22:197:27 | loadProperties output argument | provenance | MaD:106 | +| bmqa.cpp:197:22:197:27 | loadProperties output argument | bmqa.cpp:198:29:198:33 | *props | provenance | | +| bmqa.cpp:198:29:198:33 | *props | bmqa.cpp:198:54:198:61 | *call to getPropertyAsString | provenance | MaD:116 | +| bmqa.cpp:198:54:198:61 | *call to getPropertyAsString | bmqa.cpp:198:54:198:61 | *call to getPropertyAsString | provenance | | +| bmqa.cpp:198:54:198:61 | *call to getPropertyAsString | bmqa.cpp:199:7:199:21 | access to array | provenance | TaintFunction | +| bmqa.cpp:203:19:203:26 | call to source | bmqa.cpp:204:36:204:76 | *call to data | provenance | TaintFunction | +| bmqa.cpp:204:36:204:76 | *call to data | bmqa.cpp:206:2:206:4 | *msg | provenance | | +| bmqa.cpp:206:2:206:4 | *msg | bmqa.cpp:206:22:206:27 | loadProperties output argument | provenance | MaD:106 | +| bmqa.cpp:206:22:206:27 | loadProperties output argument | bmqa.cpp:207:35:207:39 | *props | provenance | | +| bmqa.cpp:207:35:207:39 | *props | bmqa.cpp:207:60:207:67 | *call to getPropertyAsBinary [element] | provenance | MaD:113 | +| bmqa.cpp:207:60:207:67 | *call to getPropertyAsBinary [element] | bmqa.cpp:207:60:207:67 | *call to getPropertyAsBinary [element] | provenance | | +| bmqa.cpp:207:60:207:67 | *call to getPropertyAsBinary [element] | bmqa.cpp:208:7:208:11 | *value [element] | provenance | | +| bmqa.cpp:208:7:208:11 | *value [element] | bmqa.cpp:208:7:208:21 | access to array | provenance | MaD:155 | +| bmqa.cpp:212:19:212:26 | call to source | bmqa.cpp:213:36:213:76 | *call to data | provenance | TaintFunction | +| bmqa.cpp:213:36:213:76 | *call to data | bmqa.cpp:215:2:215:4 | *msg | provenance | | +| bmqa.cpp:215:2:215:4 | *msg | bmqa.cpp:215:22:215:27 | loadProperties output argument | provenance | MaD:106 | +| bmqa.cpp:215:22:215:27 | loadProperties output argument | bmqa.cpp:216:35:216:39 | *props | provenance | | +| bmqa.cpp:216:35:216:39 | *props | bmqa.cpp:216:60:216:67 | *call to getPropertyAsBinary [element] | provenance | MaD:113 | +| bmqa.cpp:216:60:216:67 | *call to getPropertyAsBinary [element] | bmqa.cpp:216:60:216:67 | *call to getPropertyAsBinary [element] | provenance | | +| bmqa.cpp:216:60:216:67 | *call to getPropertyAsBinary [element] | bmqa.cpp:217:7:217:11 | *value [element] | provenance | | +| bmqa.cpp:217:7:217:11 | *value [element] | bmqa.cpp:217:12:217:14 | call to operator[] | provenance | MaD:156 | +| bmqa.cpp:221:19:221:26 | call to source | bmqa.cpp:222:36:222:76 | *call to data | provenance | TaintFunction | +| bmqa.cpp:222:36:222:76 | *call to data | bmqa.cpp:224:2:224:4 | *msg | provenance | | +| bmqa.cpp:224:2:224:4 | *msg | bmqa.cpp:224:22:224:27 | loadProperties output argument | provenance | MaD:106 | +| bmqa.cpp:224:22:224:27 | loadProperties output argument | bmqa.cpp:226:29:226:33 | *props | provenance | | +| bmqa.cpp:226:29:226:33 | *props | bmqa.cpp:226:56:226:69 | *call to getPropertyAsStringOr | provenance | MaD:118 | +| bmqa.cpp:226:56:226:69 | *call to getPropertyAsStringOr | bmqa.cpp:226:56:226:69 | *call to getPropertyAsStringOr | provenance | | +| bmqa.cpp:226:56:226:69 | *call to getPropertyAsStringOr | bmqa.cpp:227:7:227:19 | * ... | provenance | TaintFunction | +| bmqa.cpp:232:19:232:26 | call to source | bmqa.cpp:234:64:234:67 | *dflt | provenance | TaintFunction | +| bmqa.cpp:234:56:234:69 | *call to getPropertyAsStringOr | bmqa.cpp:234:56:234:69 | *call to getPropertyAsStringOr | provenance | | +| bmqa.cpp:234:56:234:69 | *call to getPropertyAsStringOr | bmqa.cpp:235:7:235:19 | * ... | provenance | TaintFunction | +| bmqa.cpp:234:64:234:67 | *dflt | bmqa.cpp:234:56:234:69 | *call to getPropertyAsStringOr | provenance | MaD:117 | +| bmqa.cpp:239:19:239:26 | call to source | bmqa.cpp:240:36:240:76 | *call to data | provenance | TaintFunction | +| bmqa.cpp:240:36:240:76 | *call to data | bmqa.cpp:242:2:242:4 | *msg | provenance | | +| bmqa.cpp:242:2:242:4 | *msg | bmqa.cpp:242:22:242:27 | loadProperties output argument | provenance | MaD:106 | +| bmqa.cpp:242:22:242:27 | loadProperties output argument | bmqa.cpp:244:35:244:39 | *props | provenance | | +| bmqa.cpp:244:35:244:39 | *props | bmqa.cpp:244:62:244:75 | *call to getPropertyAsBinaryOr [element] | provenance | MaD:115 | +| bmqa.cpp:244:62:244:75 | *call to getPropertyAsBinaryOr [element] | bmqa.cpp:244:62:244:75 | *call to getPropertyAsBinaryOr [element] | provenance | | +| bmqa.cpp:244:62:244:75 | *call to getPropertyAsBinaryOr [element] | bmqa.cpp:245:8:245:12 | *value [element] | provenance | | +| bmqa.cpp:245:8:245:12 | *value [element] | bmqa.cpp:245:7:245:19 | * ... | provenance | MaD:155 | +| bmqa.cpp:249:11:249:19 | * ... | bmqa.cpp:251:17:251:17 | *c | provenance | | +| bmqa.cpp:249:12:249:17 | call to source | bmqa.cpp:249:11:249:19 | * ... | provenance | | +| bmqa.cpp:251:2:251:5 | push_back output argument [element] | bmqa.cpp:253:70:253:73 | *dflt [element] | provenance | | +| bmqa.cpp:251:17:251:17 | *c | bmqa.cpp:251:2:251:5 | push_back output argument [element] | provenance | MaD:157 | +| bmqa.cpp:253:62:253:75 | *call to getPropertyAsBinaryOr [element] | bmqa.cpp:253:62:253:75 | *call to getPropertyAsBinaryOr [element] | provenance | | +| bmqa.cpp:253:62:253:75 | *call to getPropertyAsBinaryOr [element] | bmqa.cpp:254:8:254:12 | *value [element] | provenance | | +| bmqa.cpp:253:70:253:73 | *dflt [element] | bmqa.cpp:253:62:253:75 | *call to getPropertyAsBinaryOr [element] | provenance | MaD:114 | +| bmqa.cpp:254:8:254:12 | *value [element] | bmqa.cpp:254:7:254:19 | * ... | provenance | MaD:155 | +| bmqa.cpp:266:16:266:23 | call to source | bmqa.cpp:268:49:268:52 | *call to data | provenance | TaintFunction | +| bmqa.cpp:268:37:268:41 | copy output argument | bmqa.cpp:270:17:270:20 | *blob | provenance | | +| bmqa.cpp:268:49:268:52 | *call to data | bmqa.cpp:268:37:268:41 | copy output argument | provenance | MaD:101 | +| bmqa.cpp:270:2:270:6 | streamIn output argument | bmqa.cpp:271:8:271:12 | *props | provenance | | +| bmqa.cpp:270:17:270:20 | *blob | bmqa.cpp:270:2:270:6 | streamIn output argument | provenance | MaD:130 | +| bmqa.cpp:271:8:271:12 | *props | bmqa.cpp:271:33:271:40 | *call to getPropertyAsString | provenance | MaD:116 | +| bmqa.cpp:271:33:271:40 | *call to getPropertyAsString | bmqa.cpp:271:7:271:46 | * ... | provenance | TaintFunction | +| bmqa.cpp:275:16:275:23 | call to source | bmqa.cpp:277:49:277:52 | *call to data | provenance | TaintFunction | +| bmqa.cpp:277:37:277:41 | copy output argument | bmqa.cpp:279:14:279:17 | *blob | provenance | | +| bmqa.cpp:277:49:277:52 | *call to data | bmqa.cpp:277:37:277:41 | copy output argument | provenance | MaD:101 | +| bmqa.cpp:279:2:279:3 | streamIn output argument | bmqa.cpp:281:23:281:25 | *& ... | provenance | | +| bmqa.cpp:279:14:279:17 | *blob | bmqa.cpp:279:2:279:3 | streamIn output argument | provenance | MaD:130 | +| bmqa.cpp:281:2:281:4 | setPropertiesRef output argument | bmqa.cpp:283:2:283:4 | *msg | provenance | | +| bmqa.cpp:281:23:281:25 | *& ... | bmqa.cpp:281:2:281:4 | setPropertiesRef output argument | provenance | MaD:109 | +| bmqa.cpp:283:2:283:4 | *msg | bmqa.cpp:283:21:283:24 | loadProperties output argument | provenance | MaD:106 | +| bmqa.cpp:283:21:283:24 | loadProperties output argument | bmqa.cpp:284:8:284:10 | *out | provenance | | +| bmqa.cpp:284:8:284:10 | *out | bmqa.cpp:284:31:284:38 | *call to getPropertyAsString | provenance | MaD:116 | +| bmqa.cpp:284:31:284:38 | *call to getPropertyAsString | bmqa.cpp:284:7:284:44 | * ... | provenance | TaintFunction | +| bmqa.cpp:288:19:288:26 | call to source | bmqa.cpp:289:36:289:76 | *call to data | provenance | TaintFunction | +| bmqa.cpp:289:36:289:76 | *call to data | bmqa.cpp:291:2:291:4 | *msg | provenance | | +| bmqa.cpp:291:2:291:4 | *msg | bmqa.cpp:291:22:291:27 | loadProperties output argument | provenance | MaD:106 | +| bmqa.cpp:291:22:291:27 | loadProperties output argument | bmqa.cpp:293:41:293:45 | *props | provenance | | +| bmqa.cpp:293:41:293:45 | *props | bmqa.cpp:293:56:293:66 | *call to streamOut | provenance | MaD:131 | +| bmqa.cpp:293:56:293:66 | *call to streamOut | bmqa.cpp:293:56:293:66 | *call to streamOut | provenance | | +| bmqa.cpp:293:56:293:66 | *call to streamOut | bmqa.cpp:295:42:295:45 | *blob | provenance | | +| bmqa.cpp:295:37:295:39 | copy output argument | bmqa.cpp:296:7:296:10 | * ... | provenance | | +| bmqa.cpp:295:42:295:45 | *blob | bmqa.cpp:295:37:295:39 | copy output argument | provenance | MaD:102 | +| bmqa.cpp:300:19:300:26 | call to source | bmqa.cpp:301:36:301:76 | *call to data | provenance | TaintFunction | +| bmqa.cpp:301:36:301:76 | *call to data | bmqa.cpp:303:2:303:4 | *msg | provenance | | +| bmqa.cpp:303:2:303:4 | *msg | bmqa.cpp:303:22:303:27 | loadProperties output argument | provenance | MaD:106 | +| bmqa.cpp:303:22:303:27 | loadProperties output argument | bmqa.cpp:304:44:304:48 | *props | provenance | | +| bmqa.cpp:303:22:303:27 | loadProperties output argument | bmqa.cpp:305:8:305:11 | *copy | provenance | DataFlowFunction | +| bmqa.cpp:303:22:303:27 | loadProperties output argument | bmqa.cpp:305:8:305:11 | *copy | provenance | TaintFunction | +| bmqa.cpp:304:39:304:42 | call to MessageProperties | bmqa.cpp:305:8:305:11 | *copy | provenance | | +| bmqa.cpp:304:44:304:48 | *props | bmqa.cpp:304:39:304:42 | call to MessageProperties | provenance | MaD:112 | +| bmqa.cpp:305:8:305:11 | *copy | bmqa.cpp:305:32:305:39 | *call to getPropertyAsString | provenance | MaD:116 | +| bmqa.cpp:305:32:305:39 | *call to getPropertyAsString | bmqa.cpp:305:7:305:45 | * ... | provenance | TaintFunction | +| bmqa.cpp:309:19:309:26 | call to source | bmqa.cpp:310:36:310:76 | *call to data | provenance | TaintFunction | +| bmqa.cpp:310:36:310:76 | *call to data | bmqa.cpp:312:2:312:4 | *msg | provenance | | +| bmqa.cpp:312:2:312:4 | *msg | bmqa.cpp:312:22:312:27 | loadProperties output argument | provenance | MaD:106 | +| bmqa.cpp:312:22:312:27 | loadProperties output argument | bmqa.cpp:314:9:314:13 | *props | provenance | | +| bmqa.cpp:312:22:312:27 | loadProperties output argument | bmqa.cpp:315:8:315:11 | *copy | provenance | TaintFunction | +| bmqa.cpp:314:2:314:5 | operator= output argument | bmqa.cpp:315:8:315:11 | *copy | provenance | | +| bmqa.cpp:314:9:314:13 | *props | bmqa.cpp:314:2:314:5 | operator= output argument | provenance | MaD:119 | +| bmqa.cpp:315:8:315:11 | *copy | bmqa.cpp:315:32:315:39 | *call to getPropertyAsString | provenance | MaD:116 | +| bmqa.cpp:315:32:315:39 | *call to getPropertyAsString | bmqa.cpp:315:7:315:45 | * ... | provenance | TaintFunction | +| bmqa.cpp:319:19:319:26 | call to source | bmqa.cpp:320:36:320:76 | *call to data | provenance | TaintFunction | +| bmqa.cpp:320:36:320:76 | *call to data | bmqa.cpp:322:2:322:4 | *msg | provenance | | +| bmqa.cpp:322:2:322:4 | *msg | bmqa.cpp:322:22:322:27 | loadProperties output argument | provenance | MaD:106 | +| bmqa.cpp:322:22:322:27 | loadProperties output argument | bmqa.cpp:324:8:324:21 | *call to operator= | provenance | TaintFunction | +| bmqa.cpp:322:22:322:27 | loadProperties output argument | bmqa.cpp:324:16:324:20 | *props | provenance | | +| bmqa.cpp:324:8:324:21 | *call to operator= | bmqa.cpp:324:42:324:49 | *call to getPropertyAsString | provenance | MaD:116 | +| bmqa.cpp:324:16:324:20 | *props | bmqa.cpp:324:8:324:21 | *call to operator= | provenance | MaD:120 | +| bmqa.cpp:324:42:324:49 | *call to getPropertyAsString | bmqa.cpp:324:7:324:55 | * ... | provenance | TaintFunction | +| bmqa.cpp:328:19:328:26 | call to source | bmqa.cpp:329:28:329:58 | *call to data | provenance | TaintFunction | +| bmqa.cpp:329:28:329:58 | *call to data | bmqa.cpp:331:35:331:40 | * ... | provenance | | +| bmqa.cpp:331:2:331:6 | setPropertyAsString output argument | bmqa.cpp:332:8:332:12 | *props | provenance | | +| bmqa.cpp:331:35:331:40 | * ... | bmqa.cpp:331:2:331:6 | setPropertyAsString output argument | provenance | MaD:129 | +| bmqa.cpp:332:8:332:12 | *props | bmqa.cpp:332:33:332:40 | *call to getPropertyAsString | provenance | MaD:116 | +| bmqa.cpp:332:33:332:40 | *call to getPropertyAsString | bmqa.cpp:332:7:332:46 | * ... | provenance | TaintFunction | +| bmqa.cpp:336:25:336:32 | call to source | bmqa.cpp:338:35:338:39 | value | provenance | TaintFunction | +| bmqa.cpp:338:2:338:6 | setPropertyAsString output argument | bmqa.cpp:339:8:339:12 | *props | provenance | | +| bmqa.cpp:338:35:338:39 | value | bmqa.cpp:338:2:338:6 | setPropertyAsString output argument | provenance | MaD:129 | +| bmqa.cpp:339:8:339:12 | *props | bmqa.cpp:339:33:339:40 | *call to getPropertyAsString | provenance | MaD:116 | +| bmqa.cpp:339:33:339:40 | *call to getPropertyAsString | bmqa.cpp:339:7:339:46 | * ... | provenance | TaintFunction | +| bmqa.cpp:343:19:343:26 | call to source | bmqa.cpp:344:33:344:68 | *call to data | provenance | TaintFunction | +| bmqa.cpp:344:33:344:68 | *call to data | bmqa.cpp:346:35:346:40 | * ... | provenance | | +| bmqa.cpp:346:2:346:6 | setPropertyAsBinary output argument | bmqa.cpp:347:8:347:12 | *props | provenance | | +| bmqa.cpp:346:35:346:40 | * ... | bmqa.cpp:346:2:346:6 | setPropertyAsBinary output argument | provenance | MaD:122 | +| bmqa.cpp:347:8:347:12 | *props | bmqa.cpp:347:33:347:40 | *call to getPropertyAsBinary [element] | provenance | MaD:113 | +| bmqa.cpp:347:33:347:40 | *call to getPropertyAsBinary [element] | bmqa.cpp:347:7:347:46 | * ... | provenance | MaD:155 | +| bmqa.cpp:352:24:352:31 | call to source | bmqa.cpp:354:26:354:29 | name | provenance | TaintFunction | +| bmqa.cpp:354:2:354:6 | setPropertyAsBool output argument | bmqa.cpp:355:50:355:55 | *& ... | provenance | | +| bmqa.cpp:354:26:354:29 | name | bmqa.cpp:354:2:354:6 | setPropertyAsBool output argument | provenance | MaD:123 | +| bmqa.cpp:355:47:355:48 | call to MessagePropertiesIterator | bmqa.cpp:356:8:356:9 | *it | provenance | | +| bmqa.cpp:355:50:355:55 | *& ... | bmqa.cpp:355:47:355:48 | call to MessagePropertiesIterator | provenance | MaD:132 | +| bmqa.cpp:356:8:356:9 | *it | bmqa.cpp:356:15:356:17 | *call to name | provenance | MaD:135 | +| bmqa.cpp:356:15:356:17 | *call to name | bmqa.cpp:356:7:356:23 | * ... | provenance | TaintFunction | +| bmqa.cpp:360:24:360:31 | call to source | bmqa.cpp:362:26:362:29 | name | provenance | TaintFunction | +| bmqa.cpp:362:2:362:6 | setPropertyAsChar output argument | bmqa.cpp:363:50:363:55 | *& ... | provenance | | +| bmqa.cpp:362:26:362:29 | name | bmqa.cpp:362:2:362:6 | setPropertyAsChar output argument | provenance | MaD:124 | +| bmqa.cpp:363:47:363:48 | call to MessagePropertiesIterator | bmqa.cpp:364:8:364:9 | *it | provenance | | +| bmqa.cpp:363:50:363:55 | *& ... | bmqa.cpp:363:47:363:48 | call to MessagePropertiesIterator | provenance | MaD:132 | +| bmqa.cpp:364:8:364:9 | *it | bmqa.cpp:364:15:364:17 | *call to name | provenance | MaD:135 | +| bmqa.cpp:364:15:364:17 | *call to name | bmqa.cpp:364:7:364:23 | * ... | provenance | TaintFunction | +| bmqa.cpp:368:24:368:31 | call to source | bmqa.cpp:370:27:370:30 | name | provenance | TaintFunction | +| bmqa.cpp:370:2:370:6 | setPropertyAsShort output argument | bmqa.cpp:371:50:371:55 | *& ... | provenance | | +| bmqa.cpp:370:27:370:30 | name | bmqa.cpp:370:2:370:6 | setPropertyAsShort output argument | provenance | MaD:127 | +| bmqa.cpp:371:47:371:48 | call to MessagePropertiesIterator | bmqa.cpp:372:8:372:9 | *it | provenance | | +| bmqa.cpp:371:50:371:55 | *& ... | bmqa.cpp:371:47:371:48 | call to MessagePropertiesIterator | provenance | MaD:132 | +| bmqa.cpp:372:8:372:9 | *it | bmqa.cpp:372:15:372:17 | *call to name | provenance | MaD:135 | +| bmqa.cpp:372:15:372:17 | *call to name | bmqa.cpp:372:7:372:23 | * ... | provenance | TaintFunction | +| bmqa.cpp:376:24:376:31 | call to source | bmqa.cpp:378:27:378:30 | name | provenance | TaintFunction | +| bmqa.cpp:378:2:378:6 | setPropertyAsInt32 output argument | bmqa.cpp:379:50:379:55 | *& ... | provenance | | +| bmqa.cpp:378:27:378:30 | name | bmqa.cpp:378:2:378:6 | setPropertyAsInt32 output argument | provenance | MaD:125 | +| bmqa.cpp:379:47:379:48 | call to MessagePropertiesIterator | bmqa.cpp:380:8:380:9 | *it | provenance | | +| bmqa.cpp:379:50:379:55 | *& ... | bmqa.cpp:379:47:379:48 | call to MessagePropertiesIterator | provenance | MaD:132 | +| bmqa.cpp:380:8:380:9 | *it | bmqa.cpp:380:15:380:17 | *call to name | provenance | MaD:135 | +| bmqa.cpp:380:15:380:17 | *call to name | bmqa.cpp:380:7:380:23 | * ... | provenance | TaintFunction | +| bmqa.cpp:384:24:384:31 | call to source | bmqa.cpp:386:27:386:30 | name | provenance | TaintFunction | +| bmqa.cpp:386:2:386:6 | setPropertyAsInt64 output argument | bmqa.cpp:387:50:387:55 | *& ... | provenance | | +| bmqa.cpp:386:27:386:30 | name | bmqa.cpp:386:2:386:6 | setPropertyAsInt64 output argument | provenance | MaD:126 | +| bmqa.cpp:387:47:387:48 | call to MessagePropertiesIterator | bmqa.cpp:388:8:388:9 | *it | provenance | | +| bmqa.cpp:387:50:387:55 | *& ... | bmqa.cpp:387:47:387:48 | call to MessagePropertiesIterator | provenance | MaD:132 | +| bmqa.cpp:388:8:388:9 | *it | bmqa.cpp:388:15:388:17 | *call to name | provenance | MaD:135 | +| bmqa.cpp:388:15:388:17 | *call to name | bmqa.cpp:388:7:388:23 | * ... | provenance | TaintFunction | +| bmqa.cpp:392:24:392:31 | call to source | bmqa.cpp:394:28:394:31 | name | provenance | TaintFunction | +| bmqa.cpp:394:2:394:6 | setPropertyAsString output argument | bmqa.cpp:395:50:395:55 | *& ... | provenance | | +| bmqa.cpp:394:28:394:31 | name | bmqa.cpp:394:2:394:6 | setPropertyAsString output argument | provenance | MaD:128 | +| bmqa.cpp:395:47:395:48 | call to MessagePropertiesIterator | bmqa.cpp:396:8:396:9 | *it | provenance | | +| bmqa.cpp:395:50:395:55 | *& ... | bmqa.cpp:395:47:395:48 | call to MessagePropertiesIterator | provenance | MaD:132 | +| bmqa.cpp:396:8:396:9 | *it | bmqa.cpp:396:15:396:17 | *call to name | provenance | MaD:135 | +| bmqa.cpp:396:15:396:17 | *call to name | bmqa.cpp:396:7:396:23 | * ... | provenance | TaintFunction | +| bmqa.cpp:400:24:400:31 | call to source | bmqa.cpp:402:28:402:31 | name | provenance | TaintFunction | +| bmqa.cpp:402:2:402:6 | setPropertyAsBinary output argument | bmqa.cpp:403:50:403:55 | *& ... | provenance | | +| bmqa.cpp:402:28:402:31 | name | bmqa.cpp:402:2:402:6 | setPropertyAsBinary output argument | provenance | MaD:121 | +| bmqa.cpp:403:47:403:48 | call to MessagePropertiesIterator | bmqa.cpp:404:8:404:9 | *it | provenance | | +| bmqa.cpp:403:50:403:55 | *& ... | bmqa.cpp:403:47:403:48 | call to MessagePropertiesIterator | provenance | MaD:132 | +| bmqa.cpp:404:8:404:9 | *it | bmqa.cpp:404:15:404:17 | *call to name | provenance | MaD:135 | +| bmqa.cpp:404:15:404:17 | *call to name | bmqa.cpp:404:7:404:23 | * ... | provenance | TaintFunction | +| bmqa.cpp:408:19:408:26 | call to source | bmqa.cpp:409:36:409:76 | *call to data | provenance | TaintFunction | +| bmqa.cpp:409:36:409:76 | *call to data | bmqa.cpp:411:2:411:4 | *msg | provenance | | +| bmqa.cpp:411:2:411:4 | *msg | bmqa.cpp:411:22:411:27 | loadProperties output argument | provenance | MaD:106 | +| bmqa.cpp:411:22:411:27 | loadProperties output argument | bmqa.cpp:412:50:412:55 | *& ... | provenance | | +| bmqa.cpp:412:47:412:48 | call to MessagePropertiesIterator | bmqa.cpp:414:9:414:10 | *it | provenance | | +| bmqa.cpp:412:47:412:48 | call to MessagePropertiesIterator | bmqa.cpp:415:9:415:10 | *it | provenance | | +| bmqa.cpp:412:47:412:48 | call to MessagePropertiesIterator | bmqa.cpp:416:9:416:10 | *it | provenance | | +| bmqa.cpp:412:50:412:55 | *& ... | bmqa.cpp:412:47:412:48 | call to MessagePropertiesIterator | provenance | MaD:132 | +| bmqa.cpp:414:9:414:10 | *it | bmqa.cpp:414:16:414:18 | *call to name | provenance | MaD:135 | +| bmqa.cpp:414:16:414:18 | *call to name | bmqa.cpp:414:8:414:24 | * ... | provenance | TaintFunction | +| bmqa.cpp:415:9:415:10 | *it | bmqa.cpp:415:23:415:25 | *call to getAsString | provenance | MaD:134 | +| bmqa.cpp:415:23:415:25 | *call to getAsString | bmqa.cpp:415:8:415:31 | * ... | provenance | TaintFunction | +| bmqa.cpp:416:9:416:10 | *it | bmqa.cpp:416:23:416:25 | *call to getAsBinary [element] | provenance | MaD:133 | +| bmqa.cpp:416:23:416:25 | *call to getAsBinary [element] | bmqa.cpp:416:8:416:31 | * ... | provenance | MaD:155 | +| bmqa.cpp:422:19:422:26 | call to source | bmqa.cpp:423:36:423:76 | *call to data | provenance | TaintFunction | +| bmqa.cpp:423:36:423:76 | *call to data | bmqa.cpp:425:2:425:4 | *msg | provenance | | +| bmqa.cpp:425:2:425:4 | *msg | bmqa.cpp:425:22:425:27 | loadProperties output argument | provenance | MaD:106 | +| bmqa.cpp:425:22:425:27 | loadProperties output argument | bmqa.cpp:426:50:426:55 | *& ... | provenance | | +| bmqa.cpp:426:47:426:48 | call to MessagePropertiesIterator | bmqa.cpp:428:9:428:10 | *it | provenance | | +| bmqa.cpp:426:47:426:48 | call to MessagePropertiesIterator | bmqa.cpp:429:8:429:11 | *copy | provenance | TaintFunction | +| bmqa.cpp:426:47:426:48 | call to MessagePropertiesIterator | bmqa.cpp:430:8:430:18 | *call to operator= | provenance | TaintFunction | +| bmqa.cpp:426:47:426:48 | call to MessagePropertiesIterator | bmqa.cpp:430:16:430:17 | *it | provenance | | +| bmqa.cpp:426:50:426:55 | *& ... | bmqa.cpp:426:47:426:48 | call to MessagePropertiesIterator | provenance | MaD:132 | +| bmqa.cpp:428:2:428:5 | operator= output argument | bmqa.cpp:429:8:429:11 | *copy | provenance | | +| bmqa.cpp:428:9:428:10 | *it | bmqa.cpp:428:2:428:5 | operator= output argument | provenance | MaD:136 | +| bmqa.cpp:429:8:429:11 | *copy | bmqa.cpp:429:24:429:26 | *call to getAsString | provenance | MaD:134 | +| bmqa.cpp:429:24:429:26 | *call to getAsString | bmqa.cpp:429:7:429:32 | * ... | provenance | TaintFunction | +| bmqa.cpp:430:8:430:18 | *call to operator= | bmqa.cpp:430:24:430:26 | *call to name | provenance | MaD:135 | +| bmqa.cpp:430:16:430:17 | *it | bmqa.cpp:430:8:430:18 | *call to operator= | provenance | MaD:137 | +| bmqa.cpp:430:24:430:26 | *call to name | bmqa.cpp:430:7:430:32 | * ... | provenance | TaintFunction | | 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 | @@ -765,6 +1052,281 @@ nodes | bdlbb.cpp:96:37:96:39 | copy output argument | semmle.label | copy output argument | | bdlbb.cpp:96:42:96:44 | *dst | semmle.label | *dst | | bdlbb.cpp:97:7:97:10 | * ... | semmle.label | * ... | +| bmqa.cpp:124:19:124:26 | call to source | semmle.label | call to source | +| bmqa.cpp:125:36:125:76 | *call to data | semmle.label | *call to data | +| bmqa.cpp:127:2:127:4 | *msg | semmle.label | *msg | +| bmqa.cpp:127:15:127:19 | getData output argument | semmle.label | getData output argument | +| bmqa.cpp:129:37:129:39 | copy output argument | semmle.label | copy output argument | +| bmqa.cpp:129:42:129:45 | *blob | semmle.label | *blob | +| bmqa.cpp:130:7:130:10 | * ... | semmle.label | * ... | +| bmqa.cpp:134:19:134:26 | call to source | semmle.label | call to source | +| bmqa.cpp:135:43:135:88 | *call to data | semmle.label | *call to data | +| bmqa.cpp:136:42:136:46 | *event | semmle.label | *event | +| bmqa.cpp:136:49:136:63 | call to messageIterator | semmle.label | call to messageIterator | +| bmqa.cpp:136:49:136:63 | call to messageIterator | semmle.label | call to messageIterator | +| bmqa.cpp:138:43:138:44 | *it | semmle.label | *it | +| bmqa.cpp:138:53:138:55 | *call to message | semmle.label | *call to message | +| bmqa.cpp:138:53:138:55 | *call to message | semmle.label | *call to message | +| bmqa.cpp:140:3:140:5 | *msg | semmle.label | *msg | +| bmqa.cpp:140:15:140:19 | getData output argument | semmle.label | getData output argument | +| bmqa.cpp:142:38:142:40 | copy output argument | semmle.label | copy output argument | +| bmqa.cpp:142:43:142:46 | *blob | semmle.label | *blob | +| bmqa.cpp:143:8:143:11 | * ... | semmle.label | * ... | +| bmqa.cpp:148:16:148:23 | call to source | semmle.label | call to source | +| bmqa.cpp:150:37:150:39 | copy output argument | semmle.label | copy output argument | +| bmqa.cpp:150:47:150:50 | *call to data | semmle.label | *call to data | +| bmqa.cpp:152:2:152:4 | setDataRef output argument | semmle.label | setDataRef output argument | +| bmqa.cpp:152:17:152:19 | *& ... | semmle.label | *& ... | +| bmqa.cpp:154:2:154:4 | *msg | semmle.label | *msg | +| bmqa.cpp:154:14:154:17 | getData output argument | semmle.label | getData output argument | +| bmqa.cpp:156:37:156:39 | copy output argument | semmle.label | copy output argument | +| bmqa.cpp:156:42:156:44 | *out | semmle.label | *out | +| bmqa.cpp:157:7:157:10 | * ... | semmle.label | * ... | +| bmqa.cpp:161:16:161:23 | call to source | semmle.label | call to source | +| bmqa.cpp:163:2:163:4 | setDataRef output argument | semmle.label | setDataRef output argument | +| bmqa.cpp:163:19:163:22 | *call to data | semmle.label | *call to data | +| bmqa.cpp:165:2:165:4 | *msg | semmle.label | *msg | +| bmqa.cpp:165:14:165:17 | getData output argument | semmle.label | getData output argument | +| bmqa.cpp:167:37:167:39 | copy output argument | semmle.label | copy output argument | +| bmqa.cpp:167:42:167:44 | *out | semmle.label | *out | +| bmqa.cpp:168:7:168:10 | * ... | semmle.label | * ... | +| bmqa.cpp:172:16:172:23 | call to source | semmle.label | call to source | +| bmqa.cpp:174:2:174:4 | setData output argument | semmle.label | setData output argument | +| bmqa.cpp:174:16:174:19 | *call to data | semmle.label | *call to data | +| bmqa.cpp:176:2:176:4 | *msg | semmle.label | *msg | +| bmqa.cpp:176:14:176:17 | getData output argument | semmle.label | getData output argument | +| bmqa.cpp:178:37:178:39 | copy output argument | semmle.label | copy output argument | +| bmqa.cpp:178:42:178:44 | *out | semmle.label | *out | +| bmqa.cpp:179:7:179:10 | * ... | semmle.label | * ... | +| bmqa.cpp:183:19:183:26 | call to source | semmle.label | call to source | +| bmqa.cpp:184:36:184:76 | *call to data | semmle.label | *call to data | +| bmqa.cpp:185:36:185:38 | *msg | semmle.label | *msg | +| bmqa.cpp:185:41:185:45 | call to clone | semmle.label | call to clone | +| bmqa.cpp:185:41:185:45 | call to clone | semmle.label | call to clone | +| bmqa.cpp:187:2:187:5 | *copy | semmle.label | *copy | +| bmqa.cpp:187:15:187:19 | getData output argument | semmle.label | getData output argument | +| bmqa.cpp:189:37:189:39 | copy output argument | semmle.label | copy output argument | +| bmqa.cpp:189:42:189:45 | *blob | semmle.label | *blob | +| bmqa.cpp:190:7:190:10 | * ... | semmle.label | * ... | +| bmqa.cpp:194:19:194:26 | call to source | semmle.label | call to source | +| bmqa.cpp:195:36:195:76 | *call to data | semmle.label | *call to data | +| bmqa.cpp:197:2:197:4 | *msg | semmle.label | *msg | +| bmqa.cpp:197:22:197:27 | loadProperties output argument | semmle.label | loadProperties output argument | +| bmqa.cpp:198:29:198:33 | *props | semmle.label | *props | +| bmqa.cpp:198:54:198:61 | *call to getPropertyAsString | semmle.label | *call to getPropertyAsString | +| bmqa.cpp:198:54:198:61 | *call to getPropertyAsString | semmle.label | *call to getPropertyAsString | +| bmqa.cpp:199:7:199:21 | access to array | semmle.label | access to array | +| bmqa.cpp:203:19:203:26 | call to source | semmle.label | call to source | +| bmqa.cpp:204:36:204:76 | *call to data | semmle.label | *call to data | +| bmqa.cpp:206:2:206:4 | *msg | semmle.label | *msg | +| bmqa.cpp:206:22:206:27 | loadProperties output argument | semmle.label | loadProperties output argument | +| bmqa.cpp:207:35:207:39 | *props | semmle.label | *props | +| bmqa.cpp:207:60:207:67 | *call to getPropertyAsBinary [element] | semmle.label | *call to getPropertyAsBinary [element] | +| bmqa.cpp:207:60:207:67 | *call to getPropertyAsBinary [element] | semmle.label | *call to getPropertyAsBinary [element] | +| bmqa.cpp:208:7:208:11 | *value [element] | semmle.label | *value [element] | +| bmqa.cpp:208:7:208:21 | access to array | semmle.label | access to array | +| bmqa.cpp:212:19:212:26 | call to source | semmle.label | call to source | +| bmqa.cpp:213:36:213:76 | *call to data | semmle.label | *call to data | +| bmqa.cpp:215:2:215:4 | *msg | semmle.label | *msg | +| bmqa.cpp:215:22:215:27 | loadProperties output argument | semmle.label | loadProperties output argument | +| bmqa.cpp:216:35:216:39 | *props | semmle.label | *props | +| bmqa.cpp:216:60:216:67 | *call to getPropertyAsBinary [element] | semmle.label | *call to getPropertyAsBinary [element] | +| bmqa.cpp:216:60:216:67 | *call to getPropertyAsBinary [element] | semmle.label | *call to getPropertyAsBinary [element] | +| bmqa.cpp:217:7:217:11 | *value [element] | semmle.label | *value [element] | +| bmqa.cpp:217:12:217:14 | call to operator[] | semmle.label | call to operator[] | +| bmqa.cpp:221:19:221:26 | call to source | semmle.label | call to source | +| bmqa.cpp:222:36:222:76 | *call to data | semmle.label | *call to data | +| bmqa.cpp:224:2:224:4 | *msg | semmle.label | *msg | +| bmqa.cpp:224:22:224:27 | loadProperties output argument | semmle.label | loadProperties output argument | +| bmqa.cpp:226:29:226:33 | *props | semmle.label | *props | +| bmqa.cpp:226:56:226:69 | *call to getPropertyAsStringOr | semmle.label | *call to getPropertyAsStringOr | +| bmqa.cpp:226:56:226:69 | *call to getPropertyAsStringOr | semmle.label | *call to getPropertyAsStringOr | +| bmqa.cpp:227:7:227:19 | * ... | semmle.label | * ... | +| bmqa.cpp:232:19:232:26 | call to source | semmle.label | call to source | +| bmqa.cpp:234:56:234:69 | *call to getPropertyAsStringOr | semmle.label | *call to getPropertyAsStringOr | +| bmqa.cpp:234:56:234:69 | *call to getPropertyAsStringOr | semmle.label | *call to getPropertyAsStringOr | +| bmqa.cpp:234:64:234:67 | *dflt | semmle.label | *dflt | +| bmqa.cpp:235:7:235:19 | * ... | semmle.label | * ... | +| bmqa.cpp:239:19:239:26 | call to source | semmle.label | call to source | +| bmqa.cpp:240:36:240:76 | *call to data | semmle.label | *call to data | +| bmqa.cpp:242:2:242:4 | *msg | semmle.label | *msg | +| bmqa.cpp:242:22:242:27 | loadProperties output argument | semmle.label | loadProperties output argument | +| bmqa.cpp:244:35:244:39 | *props | semmle.label | *props | +| bmqa.cpp:244:62:244:75 | *call to getPropertyAsBinaryOr [element] | semmle.label | *call to getPropertyAsBinaryOr [element] | +| bmqa.cpp:244:62:244:75 | *call to getPropertyAsBinaryOr [element] | semmle.label | *call to getPropertyAsBinaryOr [element] | +| bmqa.cpp:245:7:245:19 | * ... | semmle.label | * ... | +| bmqa.cpp:245:8:245:12 | *value [element] | semmle.label | *value [element] | +| bmqa.cpp:249:11:249:19 | * ... | semmle.label | * ... | +| bmqa.cpp:249:12:249:17 | call to source | semmle.label | call to source | +| bmqa.cpp:251:2:251:5 | push_back output argument [element] | semmle.label | push_back output argument [element] | +| bmqa.cpp:251:17:251:17 | *c | semmle.label | *c | +| bmqa.cpp:253:62:253:75 | *call to getPropertyAsBinaryOr [element] | semmle.label | *call to getPropertyAsBinaryOr [element] | +| bmqa.cpp:253:62:253:75 | *call to getPropertyAsBinaryOr [element] | semmle.label | *call to getPropertyAsBinaryOr [element] | +| bmqa.cpp:253:70:253:73 | *dflt [element] | semmle.label | *dflt [element] | +| bmqa.cpp:254:7:254:19 | * ... | semmle.label | * ... | +| bmqa.cpp:254:8:254:12 | *value [element] | semmle.label | *value [element] | +| bmqa.cpp:266:16:266:23 | call to source | semmle.label | call to source | +| bmqa.cpp:268:37:268:41 | copy output argument | semmle.label | copy output argument | +| bmqa.cpp:268:49:268:52 | *call to data | semmle.label | *call to data | +| bmqa.cpp:270:2:270:6 | streamIn output argument | semmle.label | streamIn output argument | +| bmqa.cpp:270:17:270:20 | *blob | semmle.label | *blob | +| bmqa.cpp:271:7:271:46 | * ... | semmle.label | * ... | +| bmqa.cpp:271:8:271:12 | *props | semmle.label | *props | +| bmqa.cpp:271:33:271:40 | *call to getPropertyAsString | semmle.label | *call to getPropertyAsString | +| bmqa.cpp:275:16:275:23 | call to source | semmle.label | call to source | +| bmqa.cpp:277:37:277:41 | copy output argument | semmle.label | copy output argument | +| bmqa.cpp:277:49:277:52 | *call to data | semmle.label | *call to data | +| bmqa.cpp:279:2:279:3 | streamIn output argument | semmle.label | streamIn output argument | +| bmqa.cpp:279:14:279:17 | *blob | semmle.label | *blob | +| bmqa.cpp:281:2:281:4 | setPropertiesRef output argument | semmle.label | setPropertiesRef output argument | +| bmqa.cpp:281:23:281:25 | *& ... | semmle.label | *& ... | +| bmqa.cpp:283:2:283:4 | *msg | semmle.label | *msg | +| bmqa.cpp:283:21:283:24 | loadProperties output argument | semmle.label | loadProperties output argument | +| bmqa.cpp:284:7:284:44 | * ... | semmle.label | * ... | +| bmqa.cpp:284:8:284:10 | *out | semmle.label | *out | +| bmqa.cpp:284:31:284:38 | *call to getPropertyAsString | semmle.label | *call to getPropertyAsString | +| bmqa.cpp:288:19:288:26 | call to source | semmle.label | call to source | +| bmqa.cpp:289:36:289:76 | *call to data | semmle.label | *call to data | +| bmqa.cpp:291:2:291:4 | *msg | semmle.label | *msg | +| bmqa.cpp:291:22:291:27 | loadProperties output argument | semmle.label | loadProperties output argument | +| bmqa.cpp:293:41:293:45 | *props | semmle.label | *props | +| bmqa.cpp:293:56:293:66 | *call to streamOut | semmle.label | *call to streamOut | +| bmqa.cpp:293:56:293:66 | *call to streamOut | semmle.label | *call to streamOut | +| bmqa.cpp:295:37:295:39 | copy output argument | semmle.label | copy output argument | +| bmqa.cpp:295:42:295:45 | *blob | semmle.label | *blob | +| bmqa.cpp:296:7:296:10 | * ... | semmle.label | * ... | +| bmqa.cpp:300:19:300:26 | call to source | semmle.label | call to source | +| bmqa.cpp:301:36:301:76 | *call to data | semmle.label | *call to data | +| bmqa.cpp:303:2:303:4 | *msg | semmle.label | *msg | +| bmqa.cpp:303:22:303:27 | loadProperties output argument | semmle.label | loadProperties output argument | +| bmqa.cpp:304:39:304:42 | call to MessageProperties | semmle.label | call to MessageProperties | +| bmqa.cpp:304:44:304:48 | *props | semmle.label | *props | +| bmqa.cpp:305:7:305:45 | * ... | semmle.label | * ... | +| bmqa.cpp:305:8:305:11 | *copy | semmle.label | *copy | +| bmqa.cpp:305:32:305:39 | *call to getPropertyAsString | semmle.label | *call to getPropertyAsString | +| bmqa.cpp:309:19:309:26 | call to source | semmle.label | call to source | +| bmqa.cpp:310:36:310:76 | *call to data | semmle.label | *call to data | +| bmqa.cpp:312:2:312:4 | *msg | semmle.label | *msg | +| bmqa.cpp:312:22:312:27 | loadProperties output argument | semmle.label | loadProperties output argument | +| bmqa.cpp:314:2:314:5 | operator= output argument | semmle.label | operator= output argument | +| bmqa.cpp:314:9:314:13 | *props | semmle.label | *props | +| bmqa.cpp:315:7:315:45 | * ... | semmle.label | * ... | +| bmqa.cpp:315:8:315:11 | *copy | semmle.label | *copy | +| bmqa.cpp:315:32:315:39 | *call to getPropertyAsString | semmle.label | *call to getPropertyAsString | +| bmqa.cpp:319:19:319:26 | call to source | semmle.label | call to source | +| bmqa.cpp:320:36:320:76 | *call to data | semmle.label | *call to data | +| bmqa.cpp:322:2:322:4 | *msg | semmle.label | *msg | +| bmqa.cpp:322:22:322:27 | loadProperties output argument | semmle.label | loadProperties output argument | +| bmqa.cpp:324:7:324:55 | * ... | semmle.label | * ... | +| bmqa.cpp:324:8:324:21 | *call to operator= | semmle.label | *call to operator= | +| bmqa.cpp:324:16:324:20 | *props | semmle.label | *props | +| bmqa.cpp:324:42:324:49 | *call to getPropertyAsString | semmle.label | *call to getPropertyAsString | +| bmqa.cpp:328:19:328:26 | call to source | semmle.label | call to source | +| bmqa.cpp:329:28:329:58 | *call to data | semmle.label | *call to data | +| bmqa.cpp:331:2:331:6 | setPropertyAsString output argument | semmle.label | setPropertyAsString output argument | +| bmqa.cpp:331:35:331:40 | * ... | semmle.label | * ... | +| bmqa.cpp:332:7:332:46 | * ... | semmle.label | * ... | +| bmqa.cpp:332:8:332:12 | *props | semmle.label | *props | +| bmqa.cpp:332:33:332:40 | *call to getPropertyAsString | semmle.label | *call to getPropertyAsString | +| bmqa.cpp:336:25:336:32 | call to source | semmle.label | call to source | +| bmqa.cpp:338:2:338:6 | setPropertyAsString output argument | semmle.label | setPropertyAsString output argument | +| bmqa.cpp:338:35:338:39 | value | semmle.label | value | +| bmqa.cpp:339:7:339:46 | * ... | semmle.label | * ... | +| bmqa.cpp:339:8:339:12 | *props | semmle.label | *props | +| bmqa.cpp:339:33:339:40 | *call to getPropertyAsString | semmle.label | *call to getPropertyAsString | +| bmqa.cpp:343:19:343:26 | call to source | semmle.label | call to source | +| bmqa.cpp:344:33:344:68 | *call to data | semmle.label | *call to data | +| bmqa.cpp:346:2:346:6 | setPropertyAsBinary output argument | semmle.label | setPropertyAsBinary output argument | +| bmqa.cpp:346:35:346:40 | * ... | semmle.label | * ... | +| bmqa.cpp:347:7:347:46 | * ... | semmle.label | * ... | +| bmqa.cpp:347:8:347:12 | *props | semmle.label | *props | +| bmqa.cpp:347:33:347:40 | *call to getPropertyAsBinary [element] | semmle.label | *call to getPropertyAsBinary [element] | +| bmqa.cpp:352:24:352:31 | call to source | semmle.label | call to source | +| bmqa.cpp:354:2:354:6 | setPropertyAsBool output argument | semmle.label | setPropertyAsBool output argument | +| bmqa.cpp:354:26:354:29 | name | semmle.label | name | +| bmqa.cpp:355:47:355:48 | call to MessagePropertiesIterator | semmle.label | call to MessagePropertiesIterator | +| bmqa.cpp:355:50:355:55 | *& ... | semmle.label | *& ... | +| bmqa.cpp:356:7:356:23 | * ... | semmle.label | * ... | +| bmqa.cpp:356:8:356:9 | *it | semmle.label | *it | +| bmqa.cpp:356:15:356:17 | *call to name | semmle.label | *call to name | +| bmqa.cpp:360:24:360:31 | call to source | semmle.label | call to source | +| bmqa.cpp:362:2:362:6 | setPropertyAsChar output argument | semmle.label | setPropertyAsChar output argument | +| bmqa.cpp:362:26:362:29 | name | semmle.label | name | +| bmqa.cpp:363:47:363:48 | call to MessagePropertiesIterator | semmle.label | call to MessagePropertiesIterator | +| bmqa.cpp:363:50:363:55 | *& ... | semmle.label | *& ... | +| bmqa.cpp:364:7:364:23 | * ... | semmle.label | * ... | +| bmqa.cpp:364:8:364:9 | *it | semmle.label | *it | +| bmqa.cpp:364:15:364:17 | *call to name | semmle.label | *call to name | +| bmqa.cpp:368:24:368:31 | call to source | semmle.label | call to source | +| bmqa.cpp:370:2:370:6 | setPropertyAsShort output argument | semmle.label | setPropertyAsShort output argument | +| bmqa.cpp:370:27:370:30 | name | semmle.label | name | +| bmqa.cpp:371:47:371:48 | call to MessagePropertiesIterator | semmle.label | call to MessagePropertiesIterator | +| bmqa.cpp:371:50:371:55 | *& ... | semmle.label | *& ... | +| bmqa.cpp:372:7:372:23 | * ... | semmle.label | * ... | +| bmqa.cpp:372:8:372:9 | *it | semmle.label | *it | +| bmqa.cpp:372:15:372:17 | *call to name | semmle.label | *call to name | +| bmqa.cpp:376:24:376:31 | call to source | semmle.label | call to source | +| bmqa.cpp:378:2:378:6 | setPropertyAsInt32 output argument | semmle.label | setPropertyAsInt32 output argument | +| bmqa.cpp:378:27:378:30 | name | semmle.label | name | +| bmqa.cpp:379:47:379:48 | call to MessagePropertiesIterator | semmle.label | call to MessagePropertiesIterator | +| bmqa.cpp:379:50:379:55 | *& ... | semmle.label | *& ... | +| bmqa.cpp:380:7:380:23 | * ... | semmle.label | * ... | +| bmqa.cpp:380:8:380:9 | *it | semmle.label | *it | +| bmqa.cpp:380:15:380:17 | *call to name | semmle.label | *call to name | +| bmqa.cpp:384:24:384:31 | call to source | semmle.label | call to source | +| bmqa.cpp:386:2:386:6 | setPropertyAsInt64 output argument | semmle.label | setPropertyAsInt64 output argument | +| bmqa.cpp:386:27:386:30 | name | semmle.label | name | +| bmqa.cpp:387:47:387:48 | call to MessagePropertiesIterator | semmle.label | call to MessagePropertiesIterator | +| bmqa.cpp:387:50:387:55 | *& ... | semmle.label | *& ... | +| bmqa.cpp:388:7:388:23 | * ... | semmle.label | * ... | +| bmqa.cpp:388:8:388:9 | *it | semmle.label | *it | +| bmqa.cpp:388:15:388:17 | *call to name | semmle.label | *call to name | +| bmqa.cpp:392:24:392:31 | call to source | semmle.label | call to source | +| bmqa.cpp:394:2:394:6 | setPropertyAsString output argument | semmle.label | setPropertyAsString output argument | +| bmqa.cpp:394:28:394:31 | name | semmle.label | name | +| bmqa.cpp:395:47:395:48 | call to MessagePropertiesIterator | semmle.label | call to MessagePropertiesIterator | +| bmqa.cpp:395:50:395:55 | *& ... | semmle.label | *& ... | +| bmqa.cpp:396:7:396:23 | * ... | semmle.label | * ... | +| bmqa.cpp:396:8:396:9 | *it | semmle.label | *it | +| bmqa.cpp:396:15:396:17 | *call to name | semmle.label | *call to name | +| bmqa.cpp:400:24:400:31 | call to source | semmle.label | call to source | +| bmqa.cpp:402:2:402:6 | setPropertyAsBinary output argument | semmle.label | setPropertyAsBinary output argument | +| bmqa.cpp:402:28:402:31 | name | semmle.label | name | +| bmqa.cpp:403:47:403:48 | call to MessagePropertiesIterator | semmle.label | call to MessagePropertiesIterator | +| bmqa.cpp:403:50:403:55 | *& ... | semmle.label | *& ... | +| bmqa.cpp:404:7:404:23 | * ... | semmle.label | * ... | +| bmqa.cpp:404:8:404:9 | *it | semmle.label | *it | +| bmqa.cpp:404:15:404:17 | *call to name | semmle.label | *call to name | +| bmqa.cpp:408:19:408:26 | call to source | semmle.label | call to source | +| bmqa.cpp:409:36:409:76 | *call to data | semmle.label | *call to data | +| bmqa.cpp:411:2:411:4 | *msg | semmle.label | *msg | +| bmqa.cpp:411:22:411:27 | loadProperties output argument | semmle.label | loadProperties output argument | +| bmqa.cpp:412:47:412:48 | call to MessagePropertiesIterator | semmle.label | call to MessagePropertiesIterator | +| bmqa.cpp:412:50:412:55 | *& ... | semmle.label | *& ... | +| bmqa.cpp:414:8:414:24 | * ... | semmle.label | * ... | +| bmqa.cpp:414:9:414:10 | *it | semmle.label | *it | +| bmqa.cpp:414:16:414:18 | *call to name | semmle.label | *call to name | +| bmqa.cpp:415:8:415:31 | * ... | semmle.label | * ... | +| bmqa.cpp:415:9:415:10 | *it | semmle.label | *it | +| bmqa.cpp:415:23:415:25 | *call to getAsString | semmle.label | *call to getAsString | +| bmqa.cpp:416:8:416:31 | * ... | semmle.label | * ... | +| bmqa.cpp:416:9:416:10 | *it | semmle.label | *it | +| bmqa.cpp:416:23:416:25 | *call to getAsBinary [element] | semmle.label | *call to getAsBinary [element] | +| bmqa.cpp:422:19:422:26 | call to source | semmle.label | call to source | +| bmqa.cpp:423:36:423:76 | *call to data | semmle.label | *call to data | +| bmqa.cpp:425:2:425:4 | *msg | semmle.label | *msg | +| bmqa.cpp:425:22:425:27 | loadProperties output argument | semmle.label | loadProperties output argument | +| bmqa.cpp:426:47:426:48 | call to MessagePropertiesIterator | semmle.label | call to MessagePropertiesIterator | +| bmqa.cpp:426:50:426:55 | *& ... | semmle.label | *& ... | +| bmqa.cpp:428:2:428:5 | operator= output argument | semmle.label | operator= output argument | +| bmqa.cpp:428:9:428:10 | *it | semmle.label | *it | +| bmqa.cpp:429:7:429:32 | * ... | semmle.label | * ... | +| bmqa.cpp:429:8:429:11 | *copy | semmle.label | *copy | +| bmqa.cpp:429:24:429:26 | *call to getAsString | semmle.label | *call to getAsString | +| bmqa.cpp:430:7:430:32 | * ... | semmle.label | * ... | +| bmqa.cpp:430:8:430:18 | *call to operator= | semmle.label | *call to operator= | +| bmqa.cpp:430:16:430:17 | *it | semmle.label | *it | +| bmqa.cpp:430:24:430:26 | *call to name | semmle.label | *call to name | | 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 | 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 04d300ecbc81..b308b1e97e99 100644 --- a/cpp/ql/test/library-tests/dataflow/external-models/steps.expected +++ b/cpp/ql/test/library-tests/dataflow/external-models/steps.expected @@ -82,6 +82,90 @@ | bdlbb.cpp:92:48:92:51 | *call to data | bdlbb.cpp:92:37:92:40 | copy output argument | | bdlbb.cpp:94:46:94:48 | *src | bdlbb.cpp:94:37:94:40 | copy output argument | | bdlbb.cpp:96:42:96:44 | *dst | bdlbb.cpp:96:37:96:39 | copy output argument | +| bmqa.cpp:127:2:127:4 | *msg | bmqa.cpp:127:15:127:19 | getData output argument | +| bmqa.cpp:129:42:129:45 | *blob | bmqa.cpp:129:37:129:39 | copy output argument | +| bmqa.cpp:136:42:136:46 | *event | bmqa.cpp:136:49:136:63 | call to messageIterator | +| bmqa.cpp:138:43:138:44 | *it | bmqa.cpp:138:53:138:55 | *call to message | +| bmqa.cpp:140:3:140:5 | *msg | bmqa.cpp:140:15:140:19 | getData output argument | +| bmqa.cpp:142:43:142:46 | *blob | bmqa.cpp:142:38:142:40 | copy output argument | +| bmqa.cpp:150:47:150:50 | *call to data | bmqa.cpp:150:37:150:39 | copy output argument | +| bmqa.cpp:152:17:152:19 | *& ... | bmqa.cpp:152:2:152:4 | setDataRef output argument | +| bmqa.cpp:154:2:154:4 | *msg | bmqa.cpp:154:14:154:17 | getData output argument | +| bmqa.cpp:156:42:156:44 | *out | bmqa.cpp:156:37:156:39 | copy output argument | +| bmqa.cpp:163:19:163:22 | *call to data | bmqa.cpp:163:2:163:4 | setDataRef output argument | +| bmqa.cpp:165:2:165:4 | *msg | bmqa.cpp:165:14:165:17 | getData output argument | +| bmqa.cpp:167:42:167:44 | *out | bmqa.cpp:167:37:167:39 | copy output argument | +| bmqa.cpp:174:16:174:19 | *call to data | bmqa.cpp:174:2:174:4 | setData output argument | +| bmqa.cpp:176:2:176:4 | *msg | bmqa.cpp:176:14:176:17 | getData output argument | +| bmqa.cpp:178:42:178:44 | *out | bmqa.cpp:178:37:178:39 | copy output argument | +| bmqa.cpp:185:36:185:38 | *msg | bmqa.cpp:185:41:185:45 | call to clone | +| bmqa.cpp:187:2:187:5 | *copy | bmqa.cpp:187:15:187:19 | getData output argument | +| bmqa.cpp:189:42:189:45 | *blob | bmqa.cpp:189:37:189:39 | copy output argument | +| bmqa.cpp:197:2:197:4 | *msg | bmqa.cpp:197:22:197:27 | loadProperties output argument | +| bmqa.cpp:198:29:198:33 | *props | bmqa.cpp:198:54:198:61 | *call to getPropertyAsString | +| bmqa.cpp:206:2:206:4 | *msg | bmqa.cpp:206:22:206:27 | loadProperties output argument | +| bmqa.cpp:215:2:215:4 | *msg | bmqa.cpp:215:22:215:27 | loadProperties output argument | +| bmqa.cpp:224:2:224:4 | *msg | bmqa.cpp:224:22:224:27 | loadProperties output argument | +| bmqa.cpp:226:29:226:33 | *props | bmqa.cpp:226:56:226:69 | *call to getPropertyAsStringOr | +| bmqa.cpp:234:29:234:33 | *props | bmqa.cpp:234:56:234:69 | *call to getPropertyAsStringOr | +| bmqa.cpp:242:2:242:4 | *msg | bmqa.cpp:242:22:242:27 | loadProperties output argument | +| bmqa.cpp:261:2:261:4 | *msg | bmqa.cpp:261:22:261:27 | loadProperties output argument | +| bmqa.cpp:268:49:268:52 | *call to data | bmqa.cpp:268:37:268:41 | copy output argument | +| bmqa.cpp:270:17:270:20 | *blob | bmqa.cpp:270:2:270:6 | streamIn output argument | +| bmqa.cpp:271:8:271:12 | *props | bmqa.cpp:271:33:271:40 | *call to getPropertyAsString | +| bmqa.cpp:277:49:277:52 | *call to data | bmqa.cpp:277:37:277:41 | copy output argument | +| bmqa.cpp:279:14:279:17 | *blob | bmqa.cpp:279:2:279:3 | streamIn output argument | +| bmqa.cpp:281:23:281:25 | *& ... | bmqa.cpp:281:2:281:4 | setPropertiesRef output argument | +| bmqa.cpp:283:2:283:4 | *msg | bmqa.cpp:283:21:283:24 | loadProperties output argument | +| bmqa.cpp:284:8:284:10 | *out | bmqa.cpp:284:31:284:38 | *call to getPropertyAsString | +| bmqa.cpp:291:2:291:4 | *msg | bmqa.cpp:291:22:291:27 | loadProperties output argument | +| bmqa.cpp:293:41:293:45 | *props | bmqa.cpp:293:56:293:66 | *call to streamOut | +| bmqa.cpp:295:42:295:45 | *blob | bmqa.cpp:295:37:295:39 | copy output argument | +| bmqa.cpp:303:2:303:4 | *msg | bmqa.cpp:303:22:303:27 | loadProperties output argument | +| bmqa.cpp:305:8:305:11 | *copy | bmqa.cpp:305:32:305:39 | *call to getPropertyAsString | +| bmqa.cpp:312:2:312:4 | *msg | bmqa.cpp:312:22:312:27 | loadProperties output argument | +| bmqa.cpp:315:8:315:11 | *copy | bmqa.cpp:315:32:315:39 | *call to getPropertyAsString | +| bmqa.cpp:322:2:322:4 | *msg | bmqa.cpp:322:22:322:27 | loadProperties output argument | +| bmqa.cpp:324:8:324:21 | *call to operator= | bmqa.cpp:324:42:324:49 | *call to getPropertyAsString | +| bmqa.cpp:331:28:331:32 | call to basic_string_view | bmqa.cpp:331:2:331:6 | setPropertyAsString output argument | +| bmqa.cpp:331:35:331:40 | * ... | bmqa.cpp:331:2:331:6 | setPropertyAsString output argument | +| bmqa.cpp:332:8:332:12 | *props | bmqa.cpp:332:33:332:40 | *call to getPropertyAsString | +| bmqa.cpp:338:28:338:32 | call to basic_string_view | bmqa.cpp:338:2:338:6 | setPropertyAsString output argument | +| bmqa.cpp:338:35:338:39 | value | bmqa.cpp:338:2:338:6 | setPropertyAsString output argument | +| bmqa.cpp:339:8:339:12 | *props | bmqa.cpp:339:33:339:40 | *call to getPropertyAsString | +| bmqa.cpp:346:28:346:32 | call to basic_string_view | bmqa.cpp:346:2:346:6 | setPropertyAsBinary output argument | +| bmqa.cpp:346:35:346:40 | * ... | bmqa.cpp:346:2:346:6 | setPropertyAsBinary output argument | +| bmqa.cpp:354:26:354:29 | name | bmqa.cpp:354:2:354:6 | setPropertyAsBool output argument | +| bmqa.cpp:355:50:355:55 | *& ... | bmqa.cpp:355:47:355:48 | call to MessagePropertiesIterator | +| bmqa.cpp:356:8:356:9 | *it | bmqa.cpp:356:15:356:17 | *call to name | +| bmqa.cpp:362:26:362:29 | name | bmqa.cpp:362:2:362:6 | setPropertyAsChar output argument | +| bmqa.cpp:363:50:363:55 | *& ... | bmqa.cpp:363:47:363:48 | call to MessagePropertiesIterator | +| bmqa.cpp:364:8:364:9 | *it | bmqa.cpp:364:15:364:17 | *call to name | +| bmqa.cpp:370:27:370:30 | name | bmqa.cpp:370:2:370:6 | setPropertyAsShort output argument | +| bmqa.cpp:371:50:371:55 | *& ... | bmqa.cpp:371:47:371:48 | call to MessagePropertiesIterator | +| bmqa.cpp:372:8:372:9 | *it | bmqa.cpp:372:15:372:17 | *call to name | +| bmqa.cpp:378:27:378:30 | name | bmqa.cpp:378:2:378:6 | setPropertyAsInt32 output argument | +| bmqa.cpp:379:50:379:55 | *& ... | bmqa.cpp:379:47:379:48 | call to MessagePropertiesIterator | +| bmqa.cpp:380:8:380:9 | *it | bmqa.cpp:380:15:380:17 | *call to name | +| bmqa.cpp:386:27:386:30 | name | bmqa.cpp:386:2:386:6 | setPropertyAsInt64 output argument | +| bmqa.cpp:387:50:387:55 | *& ... | bmqa.cpp:387:47:387:48 | call to MessagePropertiesIterator | +| bmqa.cpp:388:8:388:9 | *it | bmqa.cpp:388:15:388:17 | *call to name | +| bmqa.cpp:394:28:394:31 | name | bmqa.cpp:394:2:394:6 | setPropertyAsString output argument | +| bmqa.cpp:394:34:394:40 | call to basic_string_view | bmqa.cpp:394:2:394:6 | setPropertyAsString output argument | +| bmqa.cpp:395:50:395:55 | *& ... | bmqa.cpp:395:47:395:48 | call to MessagePropertiesIterator | +| bmqa.cpp:396:8:396:9 | *it | bmqa.cpp:396:15:396:17 | *call to name | +| bmqa.cpp:402:28:402:31 | name | bmqa.cpp:402:2:402:6 | setPropertyAsBinary output argument | +| bmqa.cpp:402:34:402:56 | call to span | bmqa.cpp:402:2:402:6 | setPropertyAsBinary output argument | +| bmqa.cpp:403:50:403:55 | *& ... | bmqa.cpp:403:47:403:48 | call to MessagePropertiesIterator | +| bmqa.cpp:404:8:404:9 | *it | bmqa.cpp:404:15:404:17 | *call to name | +| bmqa.cpp:411:2:411:4 | *msg | bmqa.cpp:411:22:411:27 | loadProperties output argument | +| bmqa.cpp:412:50:412:55 | *& ... | bmqa.cpp:412:47:412:48 | call to MessagePropertiesIterator | +| bmqa.cpp:414:9:414:10 | *it | bmqa.cpp:414:16:414:18 | *call to name | +| bmqa.cpp:415:9:415:10 | *it | bmqa.cpp:415:23:415:25 | *call to getAsString | +| bmqa.cpp:425:2:425:4 | *msg | bmqa.cpp:425:22:425:27 | loadProperties output argument | +| bmqa.cpp:426:50:426:55 | *& ... | bmqa.cpp:426:47:426:48 | call to MessagePropertiesIterator | +| bmqa.cpp:429:8:429:11 | *copy | bmqa.cpp:429:24:429:26 | *call to getAsString | +| bmqa.cpp:430:8:430:18 | *call to operator= | bmqa.cpp:430:24:430:26 | *call to name | | 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/validatemodels.expected b/cpp/ql/test/library-tests/dataflow/external-models/validatemodels.expected index 694427213c86..b2f6ad8734eb 100644 --- a/cpp/ql/test/library-tests/dataflow/external-models/validatemodels.expected +++ b/cpp/ql/test/library-tests/dataflow/external-models/validatemodels.expected @@ -3368,6 +3368,7 @@ | Dubious signature "(const ML_KEM_KEY *,const ML_KEM_KEY *)" in summary model. | | Dubious signature "(const ML_KEM_KEY *,int)" in summary model. | | Dubious signature "(const ML_KEM_KEY *,unsigned char **)" in summary model. | +| Dubious signature "(const MessageProperties &,Allocator *)" in summary model. | | Dubious signature "(const NAMING_AUTHORITY *)" in summary model. | | Dubious signature "(const NAMING_AUTHORITY *,unsigned char **)" in summary model. | | Dubious signature "(const NETSCAPE_CERT_SEQUENCE *,unsigned char **)" in summary model. | 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 65a5391a3ed0..2dee79ac9ff0 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 @@ -15113,6 +15113,8 @@ getSignatureParameterName | (const ML_KEM_KEY *,int) | | ossl_ml_kem_key_dup | 1 | int | | (const ML_KEM_KEY *,unsigned char **) | | ossl_ml_kem_i2d_pubkey | 0 | const ML_KEM_KEY * | | (const ML_KEM_KEY *,unsigned char **) | | ossl_ml_kem_i2d_pubkey | 1 | unsigned char ** | +| (const MessageProperties &,Allocator *) | MessageProperties | MessageProperties | 0 | const MessageProperties & | +| (const MessageProperties &,Allocator *) | MessageProperties | MessageProperties | 1 | Allocator * | | (const NAMING_AUTHORITY *) | | NAMING_AUTHORITY_get0_authorityId | 0 | const NAMING_AUTHORITY * | | (const NAMING_AUTHORITY *) | | NAMING_AUTHORITY_get0_authorityText | 0 | const NAMING_AUTHORITY * | | (const NAMING_AUTHORITY *) | | NAMING_AUTHORITY_get0_authorityURL | 0 | const NAMING_AUTHORITY * | From ae003821a2b56d9f903257fe29cd9ea4b2bced98 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Wed, 14 Oct 2026 14:27:47 +0100 Subject: [PATCH 2/6] Additional taint tracking for setData and setPropertiesRef Accept Copilot suggestions. Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- cpp/ql/lib/ext/bmqa.model.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/cpp/ql/lib/ext/bmqa.model.yml b/cpp/ql/lib/ext/bmqa.model.yml index cb1c3834ecf5..d5bfbf675e18 100644 --- a/cpp/ql/lib/ext/bmqa.model.yml +++ b/cpp/ql/lib/ext/bmqa.model.yml @@ -7,11 +7,17 @@ extensions: # Message payload - ["BloombergLP::bmqa", "Message", true, "getData", "", "", "Argument[-1]", "Argument[*0]", "taint", "manual"] - ["BloombergLP::bmqa", "Message", true, "setData", "", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["BloombergLP::bmqa", "Message", true, "setData", "", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["BloombergLP::bmqa", "Message", true, "setData", "", "", "Argument[*0]", "ReturnValue[*]", "taint", "manual"] - ["BloombergLP::bmqa", "Message", true, "setDataRef", "", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["BloombergLP::bmqa", "Message", true, "setDataRef", "", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["BloombergLP::bmqa", "Message", true, "setDataRef", "", "", "Argument[*0]", "ReturnValue[*]", "taint", "manual"] - ["BloombergLP::bmqa", "Message", true, "clone", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"] # Message properties - ["BloombergLP::bmqa", "Message", true, "loadProperties", "", "", "Argument[-1]", "Argument[*0]", "taint", "manual"] - ["BloombergLP::bmqa", "Message", true, "setPropertiesRef", "", "", "Argument[*0]", "Argument[-1]", "taint", "manual"] + - ["BloombergLP::bmqa", "Message", true, "setPropertiesRef", "", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"] + - ["BloombergLP::bmqa", "Message", true, "setPropertiesRef", "", "", "Argument[*0]", "ReturnValue[*]", "taint", "manual"] - ["BloombergLP::bmqa", "MessageProperties", true, "MessageProperties", "(const MessageProperties &,Allocator *)", "", "Argument[*0]", "Argument[-1]", "value", "manual"] - ["BloombergLP::bmqa", "MessageProperties", true, "operator=", "", "", "Argument[*0]", "Argument[-1]", "value", "manual"] - ["BloombergLP::bmqa", "MessageProperties", true, "operator=", "", "", "Argument[*0]", "ReturnValue[*]", "value", "manual"] From d529394e48657916884625ac256f2b30fc796647 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Wed, 14 Oct 2026 14:37:46 +0100 Subject: [PATCH 3/6] C++: Accept .expected changes following Copilot Code Review suggestions. --- .../library-tests/dataflow/external-models/steps.expected | 8 ++++++++ 1 file changed, 8 insertions(+) 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 afd8912427c4..0048cbc460ae 100644 --- a/cpp/ql/test/library-tests/dataflow/external-models/steps.expected +++ b/cpp/ql/test/library-tests/dataflow/external-models/steps.expected @@ -144,13 +144,19 @@ | bmqa.cpp:140:3:140:5 | *msg | bmqa.cpp:140:15:140:19 | getData output argument | | bmqa.cpp:142:43:142:46 | *blob | bmqa.cpp:142:38:142:40 | copy output argument | | bmqa.cpp:150:47:150:50 | *call to data | bmqa.cpp:150:37:150:39 | copy output argument | +| bmqa.cpp:152:2:152:4 | *msg | bmqa.cpp:152:16:152:21 | *call to setDataRef | | bmqa.cpp:152:17:152:19 | *& ... | bmqa.cpp:152:2:152:4 | setDataRef output argument | +| bmqa.cpp:152:17:152:19 | *& ... | bmqa.cpp:152:16:152:21 | *call to setDataRef | | bmqa.cpp:154:2:154:4 | *msg | bmqa.cpp:154:14:154:17 | getData output argument | | bmqa.cpp:156:42:156:44 | *out | bmqa.cpp:156:37:156:39 | copy output argument | +| bmqa.cpp:163:2:163:4 | *msg | bmqa.cpp:163:16:163:36 | *call to setDataRef | | bmqa.cpp:163:19:163:22 | *call to data | bmqa.cpp:163:2:163:4 | setDataRef output argument | +| bmqa.cpp:163:19:163:22 | *call to data | bmqa.cpp:163:16:163:36 | *call to setDataRef | | bmqa.cpp:165:2:165:4 | *msg | bmqa.cpp:165:14:165:17 | getData output argument | | bmqa.cpp:167:42:167:44 | *out | bmqa.cpp:167:37:167:39 | copy output argument | +| bmqa.cpp:174:2:174:4 | *msg | bmqa.cpp:174:13:174:33 | *call to setData | | bmqa.cpp:174:16:174:19 | *call to data | bmqa.cpp:174:2:174:4 | setData output argument | +| bmqa.cpp:174:16:174:19 | *call to data | bmqa.cpp:174:13:174:33 | *call to setData | | bmqa.cpp:176:2:176:4 | *msg | bmqa.cpp:176:14:176:17 | getData output argument | | bmqa.cpp:178:42:178:44 | *out | bmqa.cpp:178:37:178:39 | copy output argument | | bmqa.cpp:185:36:185:38 | *msg | bmqa.cpp:185:41:185:45 | call to clone | @@ -170,7 +176,9 @@ | bmqa.cpp:271:8:271:12 | *props | bmqa.cpp:271:33:271:40 | *call to getPropertyAsString | | bmqa.cpp:277:49:277:52 | *call to data | bmqa.cpp:277:37:277:41 | copy output argument | | bmqa.cpp:279:14:279:17 | *blob | bmqa.cpp:279:2:279:3 | streamIn output argument | +| bmqa.cpp:281:2:281:4 | *msg | bmqa.cpp:281:22:281:27 | *call to setPropertiesRef | | bmqa.cpp:281:23:281:25 | *& ... | bmqa.cpp:281:2:281:4 | setPropertiesRef output argument | +| bmqa.cpp:281:23:281:25 | *& ... | bmqa.cpp:281:22:281:27 | *call to setPropertiesRef | | bmqa.cpp:283:2:283:4 | *msg | bmqa.cpp:283:21:283:24 | loadProperties output argument | | bmqa.cpp:284:8:284:10 | *out | bmqa.cpp:284:31:284:38 | *call to getPropertyAsString | | bmqa.cpp:291:2:291:4 | *msg | bmqa.cpp:291:22:291:27 | loadProperties output argument | From d3a4e5cca6872754f55e75d54bccbb61fd84ef8f Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Wed, 14 Oct 2026 16:20:06 +0100 Subject: [PATCH 4/6] C++: Fix DBCheck error caused by conflicting definitions in the test. --- .../dataflow/external-models/bal.cpp | 34 ++++----- .../dataflow/external-models/bdlbb.cpp | 34 ++++----- .../dataflow/external-models/bmqa.cpp | 74 +++++++++---------- .../dataflow/external-models/bsl.h | 49 ++++++++++++ 4 files changed, 120 insertions(+), 71 deletions(-) create mode 100644 cpp/ql/test/library-tests/dataflow/external-models/bsl.h diff --git a/cpp/ql/test/library-tests/dataflow/external-models/bal.cpp b/cpp/ql/test/library-tests/dataflow/external-models/bal.cpp index cdf928e42b18..ba343cf098fa 100644 --- a/cpp/ql/test/library-tests/dataflow/external-models/bal.cpp +++ b/cpp/ql/test/library-tests/dataflow/external-models/bal.cpp @@ -1,23 +1,23 @@ +#include "bsl.h" // --- stub library headers --- -namespace bsl { - typedef unsigned long size_t; - class streambuf {}; - class istream {}; - class ostream {}; - 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; -} + + + + + + + + + + + + + + + + namespace BloombergLP { namespace bdlar { diff --git a/cpp/ql/test/library-tests/dataflow/external-models/bdlbb.cpp b/cpp/ql/test/library-tests/dataflow/external-models/bdlbb.cpp index c8ec9dfd031e..a5757e7b8045 100644 --- a/cpp/ql/test/library-tests/dataflow/external-models/bdlbb.cpp +++ b/cpp/ql/test/library-tests/dataflow/external-models/bdlbb.cpp @@ -1,23 +1,23 @@ +#include "bsl.h" // --- stub library headers --- -namespace bsl { - typedef unsigned long size_t; - template class allocator {}; - template struct char_traits {}; - template, class Allocator = allocator > - class basic_string { - public: - basic_string(const charT* s, const Allocator& a = Allocator()); - const charT* data() const; - size_t size() const; - }; - typedef basic_string string; - template class shared_ptr { - public: - T *get() const; - }; -} + + + + + + + + + + + + + + + + namespace BloombergLP { namespace bdlbb { diff --git a/cpp/ql/test/library-tests/dataflow/external-models/bmqa.cpp b/cpp/ql/test/library-tests/dataflow/external-models/bmqa.cpp index 589cf480a8fc..e0332153ec8e 100644 --- a/cpp/ql/test/library-tests/dataflow/external-models/bmqa.cpp +++ b/cpp/ql/test/library-tests/dataflow/external-models/bmqa.cpp @@ -1,43 +1,43 @@ +#include "bsl.h" // --- stub library headers --- -namespace bsl { - typedef unsigned long size_t; - typedef int int32_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; - template > - class basic_string_view { - public: - basic_string_view(); - basic_string_view(const charT* s); - const charT* data() const; - }; - typedef basic_string_view string_view; - template > - class vector { - public: - vector(); - const T* data() const; - const T& operator[](size_t i) const; - void push_back(const T& value); - }; - template class span { - public: - span(); - span(T* p, size_t n); - T* data() const; - }; -} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + namespace BloombergLP { namespace bslma { diff --git a/cpp/ql/test/library-tests/dataflow/external-models/bsl.h b/cpp/ql/test/library-tests/dataflow/external-models/bsl.h new file mode 100644 index 000000000000..2183b996faa6 --- /dev/null +++ b/cpp/ql/test/library-tests/dataflow/external-models/bsl.h @@ -0,0 +1,49 @@ +#ifndef CODEQL_TEST_BSL_STRING_H +#define CODEQL_TEST_BSL_STRING_H + +namespace bsl { + typedef unsigned long size_t; + typedef int int32_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; + template > + class basic_string_view { + public: + basic_string_view(); + basic_string_view(const charT* s); + const charT* data() const; + }; + typedef basic_string_view string_view; + template > + class vector { + public: + vector(); + const T* data() const; + const T& operator[](size_t i) const; + void push_back(const T& value); + }; + template class span { + public: + span(); + span(T* p, size_t n); + T* data() const; + }; + template class shared_ptr { + public: + T *get() const; + }; + class streambuf {}; + class istream {}; + class ostream {}; +} + +#endif From 3d9169fdd764335f1c7d02a03e08a4e00f0f5e8f Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Wed, 14 Oct 2026 17:48:22 +0100 Subject: [PATCH 5/6] C++: Test layout. --- .../dataflow/external-models/bdlbb.cpp | 17 - .../dataflow/external-models/bmqa.cpp | 37 - .../dataflow/external-models/flow.expected | 1176 ++++++++--------- .../dataflow/external-models/steps.expected | 208 +-- 4 files changed, 692 insertions(+), 746 deletions(-) diff --git a/cpp/ql/test/library-tests/dataflow/external-models/bdlbb.cpp b/cpp/ql/test/library-tests/dataflow/external-models/bdlbb.cpp index a5757e7b8045..6d600dd9c1a4 100644 --- a/cpp/ql/test/library-tests/dataflow/external-models/bdlbb.cpp +++ b/cpp/ql/test/library-tests/dataflow/external-models/bdlbb.cpp @@ -2,23 +2,6 @@ // --- stub library headers --- - - - - - - - - - - - - - - - - - namespace BloombergLP { namespace bdlbb { class BlobBuffer { diff --git a/cpp/ql/test/library-tests/dataflow/external-models/bmqa.cpp b/cpp/ql/test/library-tests/dataflow/external-models/bmqa.cpp index e0332153ec8e..2cd303489c00 100644 --- a/cpp/ql/test/library-tests/dataflow/external-models/bmqa.cpp +++ b/cpp/ql/test/library-tests/dataflow/external-models/bmqa.cpp @@ -2,43 +2,6 @@ // --- stub library headers --- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - namespace BloombergLP { namespace bslma { class Allocator {}; 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 c7652e6ddb9d..2430619d7fb3 100644 --- a/cpp/ql/test/library-tests/dataflow/external-models/flow.expected +++ b/cpp/ql/test/library-tests/dataflow/external-models/flow.expected @@ -572,288 +572,288 @@ edges | bal.cpp:481:38:481:57 | encodeAny output argument | bal.cpp:483:7:483:12 | access to array | provenance | | | bal.cpp:481:60:481:63 | ** ... | bal.cpp:481:37:481:65 | *call to encodeAny | provenance | MaD:120 | | bal.cpp:481:60:481:63 | ** ... | bal.cpp:481:38:481:57 | encodeAny output argument | provenance | MaD:121 | -| bdlbb.cpp:54:16:54:23 | call to source | bdlbb.cpp:56:49:56:52 | *call to data | provenance | TaintFunction | -| bdlbb.cpp:56:37:56:41 | copy output argument | bdlbb.cpp:58:42:58:45 | *blob | provenance | | -| bdlbb.cpp:56:49:56:52 | *call to data | bdlbb.cpp:56:37:56:41 | copy output argument | provenance | MaD:132 | -| bdlbb.cpp:58:37:58:39 | copy output argument | bdlbb.cpp:59:7:59:10 | * ... | provenance | | -| bdlbb.cpp:58:42:58:45 | *blob | bdlbb.cpp:58:37:58:39 | copy output argument | provenance | MaD:133 | +| bdlbb.cpp:37:16:37:23 | call to source | bdlbb.cpp:39:49:39:52 | *call to data | 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: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: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: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:65:37:65:41 | copy output argument | bdlbb.cpp:66:18:66:21 | *blob | provenance | | +| 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:66:18:66:21 | *blob | bdlbb.cpp:66:29:66:32 | *call to buffer | provenance | MaD:128 | -| bdlbb.cpp:66:18:66:38 | *call to data | bdlbb.cpp:66:18:66:38 | *call to data | provenance | | -| bdlbb.cpp:66:18:66:38 | *call to data | bdlbb.cpp:67:7:67:8 | * ... | provenance | | -| bdlbb.cpp:66:29:66:32 | *call to buffer | bdlbb.cpp:66:18:66:38 | *call to data | provenance | MaD:130 | -| bdlbb.cpp:72:16:72:23 | call to source | bdlbb.cpp:74:49:74:52 | *call to data | provenance | TaintFunction | -| bdlbb.cpp:74:37:74:41 | copy output argument | bdlbb.cpp:75:18:75:21 | *blob | provenance | | -| bdlbb.cpp:74:49:74:52 | *call to data | bdlbb.cpp:74:37:74:41 | copy output argument | provenance | MaD:132 | -| bdlbb.cpp:75:18:75:21 | *blob | bdlbb.cpp:75:29:75:32 | *call to buffer | provenance | MaD:128 | -| bdlbb.cpp:75:18:75:46 | call to get | bdlbb.cpp:76:7:76:8 | * ... | provenance | | -| bdlbb.cpp:75:29:75:32 | *call to buffer | bdlbb.cpp:75:39:75:41 | *call to buffer | provenance | MaD:129 | -| bdlbb.cpp:75:39:75:41 | *call to buffer | bdlbb.cpp:75:18:75:46 | call to get | provenance | DataFlowFunction | -| bdlbb.cpp:80:16:80:23 | call to source | bdlbb.cpp:82:49:82:52 | *call to data | provenance | TaintFunction | -| bdlbb.cpp:82:37:82:41 | copy output argument | bdlbb.cpp:84:72:84:75 | *blob | provenance | | -| bdlbb.cpp:82:49:82:52 | *call to data | bdlbb.cpp:82:37:82:41 | copy output argument | provenance | MaD:132 | -| bdlbb.cpp:84:12:84:65 | *call to getContiguousRangeOrCopy | bdlbb.cpp:84:12:84:65 | *call to getContiguousRangeOrCopy | provenance | | -| bdlbb.cpp:84:12:84:65 | *call to getContiguousRangeOrCopy | bdlbb.cpp:85:7:85:8 | * ... | provenance | | -| bdlbb.cpp:84:72:84:75 | *blob | bdlbb.cpp:84:12:84:65 | *call to getContiguousRangeOrCopy | provenance | MaD:134 | -| bdlbb.cpp:90:16:90:23 | call to source | bdlbb.cpp:92:48:92:51 | *call to data | provenance | TaintFunction | -| bdlbb.cpp:92:37:92:40 | copy output argument | bdlbb.cpp:94:46:94:48 | *src | provenance | | -| bdlbb.cpp:92:48:92:51 | *call to data | bdlbb.cpp:92:37:92:40 | copy output argument | provenance | MaD:132 | -| bdlbb.cpp:94:37:94:40 | copy output argument | bdlbb.cpp:96:42:96:44 | *dst | provenance | | -| bdlbb.cpp:94:46:94:48 | *src | bdlbb.cpp:94:37:94:40 | copy output argument | provenance | MaD:131 | -| bdlbb.cpp:96:37:96:39 | copy output argument | bdlbb.cpp:97:7:97:10 | * ... | provenance | | -| bdlbb.cpp:96:42:96:44 | *dst | bdlbb.cpp:96:37:96:39 | copy output argument | provenance | MaD:133 | -| bmqa.cpp:124:19:124:26 | call to source | bmqa.cpp:125:36:125:76 | *call to data | provenance | TaintFunction | -| bmqa.cpp:125:36:125:76 | *call to data | bmqa.cpp:127:2:127:4 | *msg | provenance | | -| bmqa.cpp:127:2:127:4 | *msg | bmqa.cpp:127:15:127:19 | getData output argument | provenance | MaD:136 | -| bmqa.cpp:127:15:127:19 | getData output argument | bmqa.cpp:129:42:129:45 | *blob | provenance | | -| bmqa.cpp:129:37:129:39 | copy output argument | bmqa.cpp:130:7:130:10 | * ... | provenance | | -| bmqa.cpp:129:42:129:45 | *blob | bmqa.cpp:129:37:129:39 | copy output argument | provenance | MaD:133 | -| bmqa.cpp:134:19:134:26 | call to source | bmqa.cpp:135:43:135:88 | *call to data | provenance | TaintFunction | -| bmqa.cpp:135:43:135:88 | *call to data | bmqa.cpp:136:42:136:46 | *event | provenance | | -| bmqa.cpp:136:42:136:46 | *event | bmqa.cpp:136:49:136:63 | call to messageIterator | provenance | MaD:141 | -| bmqa.cpp:136:49:136:63 | call to messageIterator | bmqa.cpp:136:49:136:63 | call to messageIterator | provenance | | -| bmqa.cpp:136:49:136:63 | call to messageIterator | bmqa.cpp:138:43:138:44 | *it | provenance | | -| bmqa.cpp:138:43:138:44 | *it | bmqa.cpp:138:53:138:55 | *call to message | provenance | MaD:142 | -| bmqa.cpp:138:53:138:55 | *call to message | bmqa.cpp:138:53:138:55 | *call to message | provenance | | -| bmqa.cpp:138:53:138:55 | *call to message | bmqa.cpp:140:3:140:5 | *msg | provenance | | -| bmqa.cpp:140:3:140:5 | *msg | bmqa.cpp:140:15:140:19 | getData output argument | provenance | MaD:136 | -| bmqa.cpp:140:15:140:19 | getData output argument | bmqa.cpp:142:43:142:46 | *blob | provenance | | -| bmqa.cpp:142:38:142:40 | copy output argument | bmqa.cpp:143:8:143:11 | * ... | provenance | | -| bmqa.cpp:142:43:142:46 | *blob | bmqa.cpp:142:38:142:40 | copy output argument | provenance | MaD:133 | -| bmqa.cpp:148:16:148:23 | call to source | bmqa.cpp:150:47:150:50 | *call to data | provenance | TaintFunction | -| bmqa.cpp:150:37:150:39 | copy output argument | bmqa.cpp:152:17:152:19 | *& ... | provenance | | -| bmqa.cpp:150:47:150:50 | *call to data | bmqa.cpp:150:37:150:39 | copy output argument | provenance | MaD:132 | -| bmqa.cpp:152:2:152:4 | setDataRef output argument | bmqa.cpp:154:2:154:4 | *msg | provenance | | -| bmqa.cpp:152:17:152:19 | *& ... | bmqa.cpp:152:2:152:4 | setDataRef output argument | provenance | MaD:139 | -| bmqa.cpp:154:2:154:4 | *msg | bmqa.cpp:154:14:154:17 | getData output argument | provenance | MaD:136 | -| bmqa.cpp:154:14:154:17 | getData output argument | bmqa.cpp:156:42:156:44 | *out | provenance | | -| bmqa.cpp:156:37:156:39 | copy output argument | bmqa.cpp:157:7:157:10 | * ... | provenance | | -| bmqa.cpp:156:42:156:44 | *out | bmqa.cpp:156:37:156:39 | copy output argument | provenance | MaD:133 | -| bmqa.cpp:161:16:161:23 | call to source | bmqa.cpp:163:19:163:22 | *call to data | provenance | TaintFunction | -| bmqa.cpp:163:2:163:4 | setDataRef output argument | bmqa.cpp:165:2:165:4 | *msg | provenance | | -| bmqa.cpp:163:19:163:22 | *call to data | bmqa.cpp:163:2:163:4 | setDataRef output argument | provenance | MaD:139 | -| bmqa.cpp:165:2:165:4 | *msg | bmqa.cpp:165:14:165:17 | getData output argument | provenance | MaD:136 | -| bmqa.cpp:165:14:165:17 | getData output argument | bmqa.cpp:167:42:167:44 | *out | provenance | | -| bmqa.cpp:167:37:167:39 | copy output argument | bmqa.cpp:168:7:168:10 | * ... | provenance | | -| bmqa.cpp:167:42:167:44 | *out | bmqa.cpp:167:37:167:39 | copy output argument | provenance | MaD:133 | -| bmqa.cpp:172:16:172:23 | call to source | bmqa.cpp:174:16:174:19 | *call to data | provenance | TaintFunction | -| bmqa.cpp:174:2:174:4 | setData output argument | bmqa.cpp:176:2:176:4 | *msg | provenance | | -| bmqa.cpp:174:16:174:19 | *call to data | bmqa.cpp:174:2:174:4 | setData output argument | provenance | MaD:138 | -| bmqa.cpp:176:2:176:4 | *msg | bmqa.cpp:176:14:176:17 | getData output argument | provenance | MaD:136 | -| bmqa.cpp:176:14:176:17 | getData output argument | bmqa.cpp:178:42:178:44 | *out | provenance | | -| bmqa.cpp:178:37:178:39 | copy output argument | bmqa.cpp:179:7:179:10 | * ... | provenance | | -| bmqa.cpp:178:42:178:44 | *out | bmqa.cpp:178:37:178:39 | copy output argument | provenance | MaD:133 | -| bmqa.cpp:183:19:183:26 | call to source | bmqa.cpp:184:36:184:76 | *call to data | provenance | TaintFunction | -| bmqa.cpp:184:36:184:76 | *call to data | bmqa.cpp:185:36:185:38 | *msg | provenance | | -| bmqa.cpp:185:36:185:38 | *msg | bmqa.cpp:185:41:185:45 | call to clone | provenance | MaD:135 | -| bmqa.cpp:185:41:185:45 | call to clone | bmqa.cpp:185:41:185:45 | call to clone | provenance | | -| bmqa.cpp:185:41:185:45 | call to clone | bmqa.cpp:187:2:187:5 | *copy | provenance | | -| bmqa.cpp:187:2:187:5 | *copy | bmqa.cpp:187:15:187:19 | getData output argument | provenance | MaD:136 | -| bmqa.cpp:187:15:187:19 | getData output argument | bmqa.cpp:189:42:189:45 | *blob | provenance | | -| bmqa.cpp:189:37:189:39 | copy output argument | bmqa.cpp:190:7:190:10 | * ... | provenance | | -| bmqa.cpp:189:42:189:45 | *blob | bmqa.cpp:189:37:189:39 | copy output argument | provenance | MaD:133 | -| bmqa.cpp:194:19:194:26 | call to source | bmqa.cpp:195:36:195:76 | *call to data | provenance | TaintFunction | -| bmqa.cpp:195:36:195:76 | *call to data | bmqa.cpp:197:2:197:4 | *msg | provenance | | -| bmqa.cpp:197:2:197:4 | *msg | bmqa.cpp:197:22:197:27 | loadProperties output argument | provenance | MaD:137 | -| bmqa.cpp:197:22:197:27 | loadProperties output argument | bmqa.cpp:198:29:198:33 | *props | provenance | | -| bmqa.cpp:198:29:198:33 | *props | bmqa.cpp:198:54:198:61 | *call to getPropertyAsString | provenance | MaD:147 | -| bmqa.cpp:198:54:198:61 | *call to getPropertyAsString | bmqa.cpp:198:54:198:61 | *call to getPropertyAsString | provenance | | -| bmqa.cpp:198:54:198:61 | *call to getPropertyAsString | bmqa.cpp:199:7:199:21 | access to array | provenance | TaintFunction | -| bmqa.cpp:203:19:203:26 | call to source | bmqa.cpp:204:36:204:76 | *call to data | provenance | TaintFunction | -| bmqa.cpp:204:36:204:76 | *call to data | bmqa.cpp:206:2:206:4 | *msg | provenance | | -| bmqa.cpp:206:2:206:4 | *msg | bmqa.cpp:206:22:206:27 | loadProperties output argument | provenance | MaD:137 | -| bmqa.cpp:206:22:206:27 | loadProperties output argument | bmqa.cpp:207:35:207:39 | *props | provenance | | -| bmqa.cpp:207:35:207:39 | *props | bmqa.cpp:207:60:207:67 | *call to getPropertyAsBinary [element] | provenance | MaD:144 | -| bmqa.cpp:207:60:207:67 | *call to getPropertyAsBinary [element] | bmqa.cpp:207:60:207:67 | *call to getPropertyAsBinary [element] | provenance | | -| bmqa.cpp:207:60:207:67 | *call to getPropertyAsBinary [element] | bmqa.cpp:208:7:208:11 | *value [element] | provenance | | -| bmqa.cpp:208:7:208:11 | *value [element] | bmqa.cpp:208:7:208:21 | access to array | provenance | MaD:273 | -| bmqa.cpp:212:19:212:26 | call to source | bmqa.cpp:213:36:213:76 | *call to data | provenance | TaintFunction | -| bmqa.cpp:213:36:213:76 | *call to data | bmqa.cpp:215:2:215:4 | *msg | provenance | | -| bmqa.cpp:215:2:215:4 | *msg | bmqa.cpp:215:22:215:27 | loadProperties output argument | provenance | MaD:137 | -| bmqa.cpp:215:22:215:27 | loadProperties output argument | bmqa.cpp:216:35:216:39 | *props | provenance | | -| bmqa.cpp:216:35:216:39 | *props | bmqa.cpp:216:60:216:67 | *call to getPropertyAsBinary [element] | provenance | MaD:144 | -| bmqa.cpp:216:60:216:67 | *call to getPropertyAsBinary [element] | bmqa.cpp:216:60:216:67 | *call to getPropertyAsBinary [element] | provenance | | -| bmqa.cpp:216:60:216:67 | *call to getPropertyAsBinary [element] | bmqa.cpp:217:7:217:11 | *value [element] | provenance | | -| bmqa.cpp:217:7:217:11 | *value [element] | bmqa.cpp:217:12:217:14 | call to operator[] | provenance | MaD:274 | -| bmqa.cpp:221:19:221:26 | call to source | bmqa.cpp:222:36:222:76 | *call to data | provenance | TaintFunction | -| bmqa.cpp:222:36:222:76 | *call to data | bmqa.cpp:224:2:224:4 | *msg | provenance | | -| bmqa.cpp:224:2:224:4 | *msg | bmqa.cpp:224:22:224:27 | loadProperties output argument | provenance | MaD:137 | -| bmqa.cpp:224:22:224:27 | loadProperties output argument | bmqa.cpp:226:29:226:33 | *props | provenance | | -| bmqa.cpp:226:29:226:33 | *props | bmqa.cpp:226:56:226:69 | *call to getPropertyAsStringOr | provenance | MaD:149 | -| bmqa.cpp:226:56:226:69 | *call to getPropertyAsStringOr | bmqa.cpp:226:56:226:69 | *call to getPropertyAsStringOr | provenance | | -| bmqa.cpp:226:56:226:69 | *call to getPropertyAsStringOr | bmqa.cpp:227:7:227:19 | * ... | provenance | TaintFunction | -| bmqa.cpp:232:19:232:26 | call to source | bmqa.cpp:234:64:234:67 | *dflt | provenance | TaintFunction | -| bmqa.cpp:234:56:234:69 | *call to getPropertyAsStringOr | bmqa.cpp:234:56:234:69 | *call to getPropertyAsStringOr | provenance | | -| bmqa.cpp:234:56:234:69 | *call to getPropertyAsStringOr | bmqa.cpp:235:7:235:19 | * ... | provenance | TaintFunction | -| bmqa.cpp:234:64:234:67 | *dflt | bmqa.cpp:234:56:234:69 | *call to getPropertyAsStringOr | provenance | MaD:148 | -| bmqa.cpp:239:19:239:26 | call to source | bmqa.cpp:240:36:240:76 | *call to data | provenance | TaintFunction | -| bmqa.cpp:240:36:240:76 | *call to data | bmqa.cpp:242:2:242:4 | *msg | provenance | | -| bmqa.cpp:242:2:242:4 | *msg | bmqa.cpp:242:22:242:27 | loadProperties output argument | provenance | MaD:137 | -| bmqa.cpp:242:22:242:27 | loadProperties output argument | bmqa.cpp:244:35:244:39 | *props | provenance | | -| bmqa.cpp:244:35:244:39 | *props | bmqa.cpp:244:62:244:75 | *call to getPropertyAsBinaryOr [element] | provenance | MaD:146 | -| bmqa.cpp:244:62:244:75 | *call to getPropertyAsBinaryOr [element] | bmqa.cpp:244:62:244:75 | *call to getPropertyAsBinaryOr [element] | provenance | | -| bmqa.cpp:244:62:244:75 | *call to getPropertyAsBinaryOr [element] | bmqa.cpp:245:8:245:12 | *value [element] | provenance | | -| bmqa.cpp:245:8:245:12 | *value [element] | bmqa.cpp:245:7:245:19 | * ... | provenance | MaD:273 | -| bmqa.cpp:249:11:249:19 | * ... | bmqa.cpp:251:17:251:17 | *c | provenance | | -| bmqa.cpp:249:12:249:17 | call to source | bmqa.cpp:249:11:249:19 | * ... | provenance | | -| bmqa.cpp:251:2:251:5 | push_back output argument [element] | bmqa.cpp:253:70:253:73 | *dflt [element] | provenance | | -| bmqa.cpp:251:17:251:17 | *c | bmqa.cpp:251:2:251:5 | push_back output argument [element] | provenance | MaD:275 | -| bmqa.cpp:253:62:253:75 | *call to getPropertyAsBinaryOr [element] | bmqa.cpp:253:62:253:75 | *call to getPropertyAsBinaryOr [element] | provenance | | -| bmqa.cpp:253:62:253:75 | *call to getPropertyAsBinaryOr [element] | bmqa.cpp:254:8:254:12 | *value [element] | provenance | | -| bmqa.cpp:253:70:253:73 | *dflt [element] | bmqa.cpp:253:62:253:75 | *call to getPropertyAsBinaryOr [element] | provenance | MaD:145 | -| bmqa.cpp:254:8:254:12 | *value [element] | bmqa.cpp:254:7:254:19 | * ... | provenance | MaD:273 | -| bmqa.cpp:266:16:266:23 | call to source | bmqa.cpp:268:49:268:52 | *call to data | provenance | TaintFunction | -| bmqa.cpp:268:37:268:41 | copy output argument | bmqa.cpp:270:17:270:20 | *blob | provenance | | -| bmqa.cpp:268:49:268:52 | *call to data | bmqa.cpp:268:37:268:41 | copy output argument | provenance | MaD:132 | -| bmqa.cpp:270:2:270:6 | streamIn output argument | bmqa.cpp:271:8:271:12 | *props | provenance | | -| bmqa.cpp:270:17:270:20 | *blob | bmqa.cpp:270:2:270:6 | streamIn output argument | provenance | MaD:161 | -| bmqa.cpp:271:8:271:12 | *props | bmqa.cpp:271:33:271:40 | *call to getPropertyAsString | provenance | MaD:147 | -| bmqa.cpp:271:33:271:40 | *call to getPropertyAsString | bmqa.cpp:271:7:271:46 | * ... | provenance | TaintFunction | -| bmqa.cpp:275:16:275:23 | call to source | bmqa.cpp:277:49:277:52 | *call to data | provenance | TaintFunction | -| bmqa.cpp:277:37:277:41 | copy output argument | bmqa.cpp:279:14:279:17 | *blob | provenance | | -| bmqa.cpp:277:49:277:52 | *call to data | bmqa.cpp:277:37:277:41 | copy output argument | provenance | MaD:132 | -| bmqa.cpp:279:2:279:3 | streamIn output argument | bmqa.cpp:281:23:281:25 | *& ... | provenance | | -| bmqa.cpp:279:14:279:17 | *blob | bmqa.cpp:279:2:279:3 | streamIn output argument | provenance | MaD:161 | -| bmqa.cpp:281:2:281:4 | setPropertiesRef output argument | bmqa.cpp:283:2:283:4 | *msg | provenance | | -| bmqa.cpp:281:23:281:25 | *& ... | bmqa.cpp:281:2:281:4 | setPropertiesRef output argument | provenance | MaD:140 | -| bmqa.cpp:283:2:283:4 | *msg | bmqa.cpp:283:21:283:24 | loadProperties output argument | provenance | MaD:137 | -| bmqa.cpp:283:21:283:24 | loadProperties output argument | bmqa.cpp:284:8:284:10 | *out | provenance | | -| bmqa.cpp:284:8:284:10 | *out | bmqa.cpp:284:31:284:38 | *call to getPropertyAsString | provenance | MaD:147 | -| bmqa.cpp:284:31:284:38 | *call to getPropertyAsString | bmqa.cpp:284:7:284:44 | * ... | provenance | TaintFunction | -| bmqa.cpp:288:19:288:26 | call to source | bmqa.cpp:289:36:289:76 | *call to data | provenance | TaintFunction | -| bmqa.cpp:289:36:289:76 | *call to data | bmqa.cpp:291:2:291:4 | *msg | provenance | | -| bmqa.cpp:291:2:291:4 | *msg | bmqa.cpp:291:22:291:27 | loadProperties output argument | provenance | MaD:137 | -| bmqa.cpp:291:22:291:27 | loadProperties output argument | bmqa.cpp:293:41:293:45 | *props | provenance | | -| bmqa.cpp:293:41:293:45 | *props | bmqa.cpp:293:56:293:66 | *call to streamOut | provenance | MaD:162 | -| bmqa.cpp:293:56:293:66 | *call to streamOut | bmqa.cpp:293:56:293:66 | *call to streamOut | provenance | | -| bmqa.cpp:293:56:293:66 | *call to streamOut | bmqa.cpp:295:42:295:45 | *blob | provenance | | -| bmqa.cpp:295:37:295:39 | copy output argument | bmqa.cpp:296:7:296:10 | * ... | provenance | | -| bmqa.cpp:295:42:295:45 | *blob | bmqa.cpp:295:37:295:39 | copy output argument | provenance | MaD:133 | -| bmqa.cpp:300:19:300:26 | call to source | bmqa.cpp:301:36:301:76 | *call to data | provenance | TaintFunction | -| bmqa.cpp:301:36:301:76 | *call to data | bmqa.cpp:303:2:303:4 | *msg | provenance | | -| bmqa.cpp:303:2:303:4 | *msg | bmqa.cpp:303:22:303:27 | loadProperties output argument | provenance | MaD:137 | -| bmqa.cpp:303:22:303:27 | loadProperties output argument | bmqa.cpp:304:44:304:48 | *props | provenance | | -| bmqa.cpp:303:22:303:27 | loadProperties output argument | bmqa.cpp:305:8:305:11 | *copy | provenance | DataFlowFunction | -| bmqa.cpp:303:22:303:27 | loadProperties output argument | bmqa.cpp:305:8:305:11 | *copy | provenance | TaintFunction | -| bmqa.cpp:304:39:304:42 | call to MessageProperties | bmqa.cpp:305:8:305:11 | *copy | provenance | | -| bmqa.cpp:304:44:304:48 | *props | bmqa.cpp:304:39:304:42 | call to MessageProperties | provenance | MaD:143 | -| bmqa.cpp:305:8:305:11 | *copy | bmqa.cpp:305:32:305:39 | *call to getPropertyAsString | provenance | MaD:147 | -| bmqa.cpp:305:32:305:39 | *call to getPropertyAsString | bmqa.cpp:305:7:305:45 | * ... | provenance | TaintFunction | -| bmqa.cpp:309:19:309:26 | call to source | bmqa.cpp:310:36:310:76 | *call to data | provenance | TaintFunction | -| bmqa.cpp:310:36:310:76 | *call to data | bmqa.cpp:312:2:312:4 | *msg | provenance | | -| bmqa.cpp:312:2:312:4 | *msg | bmqa.cpp:312:22:312:27 | loadProperties output argument | provenance | MaD:137 | -| bmqa.cpp:312:22:312:27 | loadProperties output argument | bmqa.cpp:314:9:314:13 | *props | provenance | | -| bmqa.cpp:312:22:312:27 | loadProperties output argument | bmqa.cpp:315:8:315:11 | *copy | provenance | TaintFunction | -| bmqa.cpp:314:2:314:5 | operator= output argument | bmqa.cpp:315:8:315:11 | *copy | provenance | | -| bmqa.cpp:314:9:314:13 | *props | bmqa.cpp:314:2:314:5 | operator= output argument | provenance | MaD:150 | -| bmqa.cpp:315:8:315:11 | *copy | bmqa.cpp:315:32:315:39 | *call to getPropertyAsString | provenance | MaD:147 | -| bmqa.cpp:315:32:315:39 | *call to getPropertyAsString | bmqa.cpp:315:7:315:45 | * ... | provenance | TaintFunction | -| bmqa.cpp:319:19:319:26 | call to source | bmqa.cpp:320:36:320:76 | *call to data | provenance | TaintFunction | -| bmqa.cpp:320:36:320:76 | *call to data | bmqa.cpp:322:2:322:4 | *msg | provenance | | -| bmqa.cpp:322:2:322:4 | *msg | bmqa.cpp:322:22:322:27 | loadProperties output argument | provenance | MaD:137 | -| bmqa.cpp:322:22:322:27 | loadProperties output argument | bmqa.cpp:324:8:324:21 | *call to operator= | provenance | TaintFunction | -| bmqa.cpp:322:22:322:27 | loadProperties output argument | bmqa.cpp:324:16:324:20 | *props | provenance | | -| bmqa.cpp:324:8:324:21 | *call to operator= | bmqa.cpp:324:42:324:49 | *call to getPropertyAsString | provenance | MaD:147 | -| bmqa.cpp:324:16:324:20 | *props | bmqa.cpp:324:8:324:21 | *call to operator= | provenance | MaD:151 | -| bmqa.cpp:324:42:324:49 | *call to getPropertyAsString | bmqa.cpp:324:7:324:55 | * ... | provenance | TaintFunction | -| bmqa.cpp:328:19:328:26 | call to source | bmqa.cpp:329:28:329:58 | *call to data | provenance | TaintFunction | -| bmqa.cpp:329:28:329:58 | *call to data | bmqa.cpp:331:35:331:40 | * ... | provenance | | -| bmqa.cpp:331:2:331:6 | setPropertyAsString output argument | bmqa.cpp:332:8:332:12 | *props | provenance | | -| bmqa.cpp:331:35:331:40 | * ... | bmqa.cpp:331:2:331:6 | setPropertyAsString output argument | provenance | MaD:160 | -| bmqa.cpp:332:8:332:12 | *props | bmqa.cpp:332:33:332:40 | *call to getPropertyAsString | provenance | MaD:147 | -| bmqa.cpp:332:33:332:40 | *call to getPropertyAsString | bmqa.cpp:332:7:332:46 | * ... | provenance | TaintFunction | -| bmqa.cpp:336:25:336:32 | call to source | bmqa.cpp:338:35:338:39 | value | provenance | TaintFunction | -| bmqa.cpp:338:2:338:6 | setPropertyAsString output argument | bmqa.cpp:339:8:339:12 | *props | provenance | | -| bmqa.cpp:338:35:338:39 | value | bmqa.cpp:338:2:338:6 | setPropertyAsString output argument | provenance | MaD:160 | -| bmqa.cpp:339:8:339:12 | *props | bmqa.cpp:339:33:339:40 | *call to getPropertyAsString | provenance | MaD:147 | -| bmqa.cpp:339:33:339:40 | *call to getPropertyAsString | bmqa.cpp:339:7:339:46 | * ... | provenance | TaintFunction | -| bmqa.cpp:343:19:343:26 | call to source | bmqa.cpp:344:33:344:68 | *call to data | provenance | TaintFunction | -| bmqa.cpp:344:33:344:68 | *call to data | bmqa.cpp:346:35:346:40 | * ... | provenance | | -| bmqa.cpp:346:2:346:6 | setPropertyAsBinary output argument | bmqa.cpp:347:8:347:12 | *props | provenance | | -| bmqa.cpp:346:35:346:40 | * ... | bmqa.cpp:346:2:346:6 | setPropertyAsBinary output argument | provenance | MaD:153 | -| bmqa.cpp:347:8:347:12 | *props | bmqa.cpp:347:33:347:40 | *call to getPropertyAsBinary [element] | provenance | MaD:144 | -| bmqa.cpp:347:33:347:40 | *call to getPropertyAsBinary [element] | bmqa.cpp:347:7:347:46 | * ... | provenance | MaD:273 | -| bmqa.cpp:352:24:352:31 | call to source | bmqa.cpp:354:26:354:29 | name | provenance | TaintFunction | -| bmqa.cpp:354:2:354:6 | setPropertyAsBool output argument | bmqa.cpp:355:50:355:55 | *& ... | provenance | | -| bmqa.cpp:354:26:354:29 | name | bmqa.cpp:354:2:354:6 | setPropertyAsBool output argument | provenance | MaD:154 | -| bmqa.cpp:355:47:355:48 | call to MessagePropertiesIterator | bmqa.cpp:356:8:356:9 | *it | provenance | | -| bmqa.cpp:355:50:355:55 | *& ... | bmqa.cpp:355:47:355:48 | call to MessagePropertiesIterator | provenance | MaD:163 | -| bmqa.cpp:356:8:356:9 | *it | bmqa.cpp:356:15:356:17 | *call to name | provenance | MaD:166 | -| bmqa.cpp:356:15:356:17 | *call to name | bmqa.cpp:356:7:356:23 | * ... | provenance | TaintFunction | -| bmqa.cpp:360:24:360:31 | call to source | bmqa.cpp:362:26:362:29 | name | provenance | TaintFunction | -| bmqa.cpp:362:2:362:6 | setPropertyAsChar output argument | bmqa.cpp:363:50:363:55 | *& ... | provenance | | -| bmqa.cpp:362:26:362:29 | name | bmqa.cpp:362:2:362:6 | setPropertyAsChar output argument | provenance | MaD:155 | -| bmqa.cpp:363:47:363:48 | call to MessagePropertiesIterator | bmqa.cpp:364:8:364:9 | *it | provenance | | -| bmqa.cpp:363:50:363:55 | *& ... | bmqa.cpp:363:47:363:48 | call to MessagePropertiesIterator | provenance | MaD:163 | -| bmqa.cpp:364:8:364:9 | *it | bmqa.cpp:364:15:364:17 | *call to name | provenance | MaD:166 | -| bmqa.cpp:364:15:364:17 | *call to name | bmqa.cpp:364:7:364:23 | * ... | provenance | TaintFunction | -| bmqa.cpp:368:24:368:31 | call to source | bmqa.cpp:370:27:370:30 | name | provenance | TaintFunction | -| bmqa.cpp:370:2:370:6 | setPropertyAsShort output argument | bmqa.cpp:371:50:371:55 | *& ... | provenance | | -| bmqa.cpp:370:27:370:30 | name | bmqa.cpp:370:2:370:6 | setPropertyAsShort output argument | provenance | MaD:158 | -| bmqa.cpp:371:47:371:48 | call to MessagePropertiesIterator | bmqa.cpp:372:8:372:9 | *it | provenance | | -| bmqa.cpp:371:50:371:55 | *& ... | bmqa.cpp:371:47:371:48 | call to MessagePropertiesIterator | provenance | MaD:163 | -| bmqa.cpp:372:8:372:9 | *it | bmqa.cpp:372:15:372:17 | *call to name | provenance | MaD:166 | -| bmqa.cpp:372:15:372:17 | *call to name | bmqa.cpp:372:7:372:23 | * ... | provenance | TaintFunction | -| bmqa.cpp:376:24:376:31 | call to source | bmqa.cpp:378:27:378:30 | name | provenance | TaintFunction | -| bmqa.cpp:378:2:378:6 | setPropertyAsInt32 output argument | bmqa.cpp:379:50:379:55 | *& ... | provenance | | -| bmqa.cpp:378:27:378:30 | name | bmqa.cpp:378:2:378:6 | setPropertyAsInt32 output argument | provenance | MaD:156 | -| bmqa.cpp:379:47:379:48 | call to MessagePropertiesIterator | bmqa.cpp:380:8:380:9 | *it | provenance | | -| bmqa.cpp:379:50:379:55 | *& ... | bmqa.cpp:379:47:379:48 | call to MessagePropertiesIterator | provenance | MaD:163 | -| bmqa.cpp:380:8:380:9 | *it | bmqa.cpp:380:15:380:17 | *call to name | provenance | MaD:166 | -| bmqa.cpp:380:15:380:17 | *call to name | bmqa.cpp:380:7:380:23 | * ... | provenance | TaintFunction | -| bmqa.cpp:384:24:384:31 | call to source | bmqa.cpp:386:27:386:30 | name | provenance | TaintFunction | -| bmqa.cpp:386:2:386:6 | setPropertyAsInt64 output argument | bmqa.cpp:387:50:387:55 | *& ... | provenance | | -| bmqa.cpp:386:27:386:30 | name | bmqa.cpp:386:2:386:6 | setPropertyAsInt64 output argument | provenance | MaD:157 | -| bmqa.cpp:387:47:387:48 | call to MessagePropertiesIterator | bmqa.cpp:388:8:388:9 | *it | provenance | | -| bmqa.cpp:387:50:387:55 | *& ... | bmqa.cpp:387:47:387:48 | call to MessagePropertiesIterator | provenance | MaD:163 | -| bmqa.cpp:388:8:388:9 | *it | bmqa.cpp:388:15:388:17 | *call to name | provenance | MaD:166 | -| bmqa.cpp:388:15:388:17 | *call to name | bmqa.cpp:388:7:388:23 | * ... | provenance | TaintFunction | -| bmqa.cpp:392:24:392:31 | call to source | bmqa.cpp:394:28:394:31 | name | provenance | TaintFunction | -| bmqa.cpp:394:2:394:6 | setPropertyAsString output argument | bmqa.cpp:395:50:395:55 | *& ... | provenance | | -| bmqa.cpp:394:28:394:31 | name | bmqa.cpp:394:2:394:6 | setPropertyAsString output argument | provenance | MaD:159 | -| bmqa.cpp:395:47:395:48 | call to MessagePropertiesIterator | bmqa.cpp:396:8:396:9 | *it | provenance | | -| bmqa.cpp:395:50:395:55 | *& ... | bmqa.cpp:395:47:395:48 | call to MessagePropertiesIterator | provenance | MaD:163 | -| bmqa.cpp:396:8:396:9 | *it | bmqa.cpp:396:15:396:17 | *call to name | provenance | MaD:166 | -| bmqa.cpp:396:15:396:17 | *call to name | bmqa.cpp:396:7:396:23 | * ... | provenance | TaintFunction | -| bmqa.cpp:400:24:400:31 | call to source | bmqa.cpp:402:28:402:31 | name | provenance | TaintFunction | -| bmqa.cpp:402:2:402:6 | setPropertyAsBinary output argument | bmqa.cpp:403:50:403:55 | *& ... | provenance | | -| bmqa.cpp:402:28:402:31 | name | bmqa.cpp:402:2:402:6 | setPropertyAsBinary output argument | provenance | MaD:152 | -| bmqa.cpp:403:47:403:48 | call to MessagePropertiesIterator | bmqa.cpp:404:8:404:9 | *it | provenance | | -| bmqa.cpp:403:50:403:55 | *& ... | bmqa.cpp:403:47:403:48 | call to MessagePropertiesIterator | provenance | MaD:163 | -| bmqa.cpp:404:8:404:9 | *it | bmqa.cpp:404:15:404:17 | *call to name | provenance | MaD:166 | -| bmqa.cpp:404:15:404:17 | *call to name | bmqa.cpp:404:7:404:23 | * ... | provenance | TaintFunction | -| bmqa.cpp:408:19:408:26 | call to source | bmqa.cpp:409:36:409:76 | *call to data | provenance | TaintFunction | -| bmqa.cpp:409:36:409:76 | *call to data | bmqa.cpp:411:2:411:4 | *msg | provenance | | -| bmqa.cpp:411:2:411:4 | *msg | bmqa.cpp:411:22:411:27 | loadProperties output argument | provenance | MaD:137 | -| bmqa.cpp:411:22:411:27 | loadProperties output argument | bmqa.cpp:412:50:412:55 | *& ... | provenance | | -| bmqa.cpp:412:47:412:48 | call to MessagePropertiesIterator | bmqa.cpp:414:9:414:10 | *it | provenance | | -| bmqa.cpp:412:47:412:48 | call to MessagePropertiesIterator | bmqa.cpp:415:9:415:10 | *it | provenance | | -| bmqa.cpp:412:47:412:48 | call to MessagePropertiesIterator | bmqa.cpp:416:9:416:10 | *it | provenance | | -| bmqa.cpp:412:50:412:55 | *& ... | bmqa.cpp:412:47:412:48 | call to MessagePropertiesIterator | provenance | MaD:163 | -| bmqa.cpp:414:9:414:10 | *it | bmqa.cpp:414:16:414:18 | *call to name | provenance | MaD:166 | -| bmqa.cpp:414:16:414:18 | *call to name | bmqa.cpp:414:8:414:24 | * ... | provenance | TaintFunction | -| bmqa.cpp:415:9:415:10 | *it | bmqa.cpp:415:23:415:25 | *call to getAsString | provenance | MaD:165 | -| bmqa.cpp:415:23:415:25 | *call to getAsString | bmqa.cpp:415:8:415:31 | * ... | provenance | TaintFunction | -| bmqa.cpp:416:9:416:10 | *it | bmqa.cpp:416:23:416:25 | *call to getAsBinary [element] | provenance | MaD:164 | -| bmqa.cpp:416:23:416:25 | *call to getAsBinary [element] | bmqa.cpp:416:8:416:31 | * ... | provenance | MaD:273 | -| bmqa.cpp:422:19:422:26 | call to source | bmqa.cpp:423:36:423:76 | *call to data | provenance | TaintFunction | -| bmqa.cpp:423:36:423:76 | *call to data | bmqa.cpp:425:2:425:4 | *msg | provenance | | -| bmqa.cpp:425:2:425:4 | *msg | bmqa.cpp:425:22:425:27 | loadProperties output argument | provenance | MaD:137 | -| bmqa.cpp:425:22:425:27 | loadProperties output argument | bmqa.cpp:426:50:426:55 | *& ... | provenance | | -| bmqa.cpp:426:47:426:48 | call to MessagePropertiesIterator | bmqa.cpp:428:9:428:10 | *it | provenance | | -| bmqa.cpp:426:47:426:48 | call to MessagePropertiesIterator | bmqa.cpp:429:8:429:11 | *copy | provenance | TaintFunction | -| bmqa.cpp:426:47:426:48 | call to MessagePropertiesIterator | bmqa.cpp:430:8:430:18 | *call to operator= | provenance | TaintFunction | -| bmqa.cpp:426:47:426:48 | call to MessagePropertiesIterator | bmqa.cpp:430:16:430:17 | *it | provenance | | -| bmqa.cpp:426:50:426:55 | *& ... | bmqa.cpp:426:47:426:48 | call to MessagePropertiesIterator | provenance | MaD:163 | -| bmqa.cpp:428:2:428:5 | operator= output argument | bmqa.cpp:429:8:429:11 | *copy | provenance | | -| bmqa.cpp:428:9:428:10 | *it | bmqa.cpp:428:2:428:5 | operator= output argument | provenance | MaD:167 | -| bmqa.cpp:429:8:429:11 | *copy | bmqa.cpp:429:24:429:26 | *call to getAsString | provenance | MaD:165 | -| bmqa.cpp:429:24:429:26 | *call to getAsString | bmqa.cpp:429:7:429:32 | * ... | provenance | TaintFunction | -| bmqa.cpp:430:8:430:18 | *call to operator= | bmqa.cpp:430:24:430:26 | *call to name | provenance | MaD:166 | -| bmqa.cpp:430:16:430:17 | *it | bmqa.cpp:430:8:430:18 | *call to operator= | provenance | MaD:168 | -| bmqa.cpp:430:24:430:26 | *call to name | bmqa.cpp:430:7:430:32 | * ... | provenance | TaintFunction | +| 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: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: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: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 | +| 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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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 | @@ -1960,318 +1960,318 @@ nodes | bal.cpp:481:60:481:63 | ** ... | semmle.label | ** ... | | bal.cpp:482:7:482:17 | * ... | semmle.label | * ... | | bal.cpp:483:7:483:12 | access to array | semmle.label | access to array | -| bdlbb.cpp:54:16:54:23 | call to source | semmle.label | call to source | -| bdlbb.cpp:56:37:56:41 | copy output argument | semmle.label | copy output argument | -| bdlbb.cpp:56:49:56:52 | *call to data | semmle.label | *call to data | -| bdlbb.cpp:58:37:58:39 | copy output argument | semmle.label | copy output argument | -| bdlbb.cpp:58:42:58:45 | *blob | semmle.label | *blob | -| bdlbb.cpp:59:7:59:10 | * ... | semmle.label | * ... | +| 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: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: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: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: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: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: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: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:49:65:52 | *call to data | semmle.label | *call to data | -| bdlbb.cpp:66:18:66:21 | *blob | semmle.label | *blob | -| bdlbb.cpp:66:18:66:38 | *call to data | semmle.label | *call to data | -| bdlbb.cpp:66:18:66:38 | *call to data | semmle.label | *call to data | -| bdlbb.cpp:66:29:66:32 | *call to buffer | semmle.label | *call to buffer | -| bdlbb.cpp:67:7:67:8 | * ... | semmle.label | * ... | -| bdlbb.cpp:72:16:72:23 | call to source | semmle.label | call to source | -| bdlbb.cpp:74:37:74:41 | copy output argument | semmle.label | copy output argument | -| bdlbb.cpp:74:49:74:52 | *call to data | semmle.label | *call to data | -| bdlbb.cpp:75:18:75:21 | *blob | semmle.label | *blob | -| bdlbb.cpp:75:18:75:46 | call to get | semmle.label | call to get | -| bdlbb.cpp:75:29:75:32 | *call to buffer | semmle.label | *call to buffer | -| bdlbb.cpp:75:39:75:41 | *call to buffer | semmle.label | *call to buffer | -| bdlbb.cpp:76:7:76:8 | * ... | semmle.label | * ... | -| bdlbb.cpp:80:16:80:23 | call to source | semmle.label | call to source | -| bdlbb.cpp:82:37:82:41 | copy output argument | semmle.label | copy output argument | -| bdlbb.cpp:82:49:82:52 | *call to data | semmle.label | *call to data | -| bdlbb.cpp:84:12:84:65 | *call to getContiguousRangeOrCopy | semmle.label | *call to getContiguousRangeOrCopy | -| bdlbb.cpp:84:12:84:65 | *call to getContiguousRangeOrCopy | semmle.label | *call to getContiguousRangeOrCopy | -| bdlbb.cpp:84:72:84:75 | *blob | semmle.label | *blob | -| bdlbb.cpp:85:7:85:8 | * ... | semmle.label | * ... | -| bdlbb.cpp:90:16:90:23 | call to source | semmle.label | call to source | -| bdlbb.cpp:92:37:92:40 | copy output argument | semmle.label | copy output argument | -| bdlbb.cpp:92:48:92:51 | *call to data | semmle.label | *call to data | -| bdlbb.cpp:94:37:94:40 | copy output argument | semmle.label | copy output argument | -| bdlbb.cpp:94:46:94:48 | *src | semmle.label | *src | -| bdlbb.cpp:96:37:96:39 | copy output argument | semmle.label | copy output argument | -| bdlbb.cpp:96:42:96:44 | *dst | semmle.label | *dst | -| bdlbb.cpp:97:7:97:10 | * ... | semmle.label | * ... | -| bmqa.cpp:124:19:124:26 | call to source | semmle.label | call to source | -| bmqa.cpp:125:36:125:76 | *call to data | semmle.label | *call to data | -| bmqa.cpp:127:2:127:4 | *msg | semmle.label | *msg | -| bmqa.cpp:127:15:127:19 | getData output argument | semmle.label | getData output argument | -| bmqa.cpp:129:37:129:39 | copy output argument | semmle.label | copy output argument | -| bmqa.cpp:129:42:129:45 | *blob | semmle.label | *blob | -| bmqa.cpp:130:7:130:10 | * ... | semmle.label | * ... | -| bmqa.cpp:134:19:134:26 | call to source | semmle.label | call to source | -| bmqa.cpp:135:43:135:88 | *call to data | semmle.label | *call to data | -| bmqa.cpp:136:42:136:46 | *event | semmle.label | *event | -| bmqa.cpp:136:49:136:63 | call to messageIterator | semmle.label | call to messageIterator | -| bmqa.cpp:136:49:136:63 | call to messageIterator | semmle.label | call to messageIterator | -| bmqa.cpp:138:43:138:44 | *it | semmle.label | *it | -| bmqa.cpp:138:53:138:55 | *call to message | semmle.label | *call to message | -| bmqa.cpp:138:53:138:55 | *call to message | semmle.label | *call to message | -| bmqa.cpp:140:3:140:5 | *msg | semmle.label | *msg | -| bmqa.cpp:140:15:140:19 | getData output argument | semmle.label | getData output argument | -| bmqa.cpp:142:38:142:40 | copy output argument | semmle.label | copy output argument | -| bmqa.cpp:142:43:142:46 | *blob | semmle.label | *blob | -| bmqa.cpp:143:8:143:11 | * ... | semmle.label | * ... | -| bmqa.cpp:148:16:148:23 | call to source | semmle.label | call to source | -| bmqa.cpp:150:37:150:39 | copy output argument | semmle.label | copy output argument | -| bmqa.cpp:150:47:150:50 | *call to data | semmle.label | *call to data | -| bmqa.cpp:152:2:152:4 | setDataRef output argument | semmle.label | setDataRef output argument | -| bmqa.cpp:152:17:152:19 | *& ... | semmle.label | *& ... | -| bmqa.cpp:154:2:154:4 | *msg | semmle.label | *msg | -| bmqa.cpp:154:14:154:17 | getData output argument | semmle.label | getData output argument | -| bmqa.cpp:156:37:156:39 | copy output argument | semmle.label | copy output argument | -| bmqa.cpp:156:42:156:44 | *out | semmle.label | *out | -| bmqa.cpp:157:7:157:10 | * ... | semmle.label | * ... | -| bmqa.cpp:161:16:161:23 | call to source | semmle.label | call to source | -| bmqa.cpp:163:2:163:4 | setDataRef output argument | semmle.label | setDataRef output argument | -| bmqa.cpp:163:19:163:22 | *call to data | semmle.label | *call to data | -| bmqa.cpp:165:2:165:4 | *msg | semmle.label | *msg | -| bmqa.cpp:165:14:165:17 | getData output argument | semmle.label | getData output argument | -| bmqa.cpp:167:37:167:39 | copy output argument | semmle.label | copy output argument | -| bmqa.cpp:167:42:167:44 | *out | semmle.label | *out | -| bmqa.cpp:168:7:168:10 | * ... | semmle.label | * ... | -| bmqa.cpp:172:16:172:23 | call to source | semmle.label | call to source | -| bmqa.cpp:174:2:174:4 | setData output argument | semmle.label | setData output argument | -| bmqa.cpp:174:16:174:19 | *call to data | semmle.label | *call to data | -| bmqa.cpp:176:2:176:4 | *msg | semmle.label | *msg | -| bmqa.cpp:176:14:176:17 | getData output argument | semmle.label | getData output argument | -| bmqa.cpp:178:37:178:39 | copy output argument | semmle.label | copy output argument | -| bmqa.cpp:178:42:178:44 | *out | semmle.label | *out | -| bmqa.cpp:179:7:179:10 | * ... | semmle.label | * ... | -| bmqa.cpp:183:19:183:26 | call to source | semmle.label | call to source | -| bmqa.cpp:184:36:184:76 | *call to data | semmle.label | *call to data | -| bmqa.cpp:185:36:185:38 | *msg | semmle.label | *msg | -| bmqa.cpp:185:41:185:45 | call to clone | semmle.label | call to clone | -| bmqa.cpp:185:41:185:45 | call to clone | semmle.label | call to clone | -| bmqa.cpp:187:2:187:5 | *copy | semmle.label | *copy | -| bmqa.cpp:187:15:187:19 | getData output argument | semmle.label | getData output argument | -| bmqa.cpp:189:37:189:39 | copy output argument | semmle.label | copy output argument | -| bmqa.cpp:189:42:189:45 | *blob | semmle.label | *blob | -| bmqa.cpp:190:7:190:10 | * ... | semmle.label | * ... | -| bmqa.cpp:194:19:194:26 | call to source | semmle.label | call to source | -| bmqa.cpp:195:36:195:76 | *call to data | semmle.label | *call to data | -| bmqa.cpp:197:2:197:4 | *msg | semmle.label | *msg | -| bmqa.cpp:197:22:197:27 | loadProperties output argument | semmle.label | loadProperties output argument | -| bmqa.cpp:198:29:198:33 | *props | semmle.label | *props | -| bmqa.cpp:198:54:198:61 | *call to getPropertyAsString | semmle.label | *call to getPropertyAsString | -| bmqa.cpp:198:54:198:61 | *call to getPropertyAsString | semmle.label | *call to getPropertyAsString | -| bmqa.cpp:199:7:199:21 | access to array | semmle.label | access to array | -| bmqa.cpp:203:19:203:26 | call to source | semmle.label | call to source | -| bmqa.cpp:204:36:204:76 | *call to data | semmle.label | *call to data | -| bmqa.cpp:206:2:206:4 | *msg | semmle.label | *msg | -| bmqa.cpp:206:22:206:27 | loadProperties output argument | semmle.label | loadProperties output argument | +| 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 | +| bdlbb.cpp:67:72:67:75 | *blob | semmle.label | *blob | +| 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: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 | +| bdlbb.cpp:79:37:79:39 | copy output argument | semmle.label | copy output argument | +| bdlbb.cpp:79:42:79:44 | *dst | semmle.label | *dst | +| 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: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 | +| bmqa.cpp:92:42:92:45 | *blob | semmle.label | *blob | +| 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: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: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: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: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: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:19:126:22 | *call to data | semmle.label | *call to data | +| 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:16:137:19 | *call to data | semmle.label | *call to data | +| 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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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:60:207:67 | *call to getPropertyAsBinary [element] | semmle.label | *call to getPropertyAsBinary [element] | -| bmqa.cpp:207:60:207:67 | *call to getPropertyAsBinary [element] | semmle.label | *call to getPropertyAsBinary [element] | -| bmqa.cpp:208:7:208:11 | *value [element] | semmle.label | *value [element] | -| bmqa.cpp:208:7:208:21 | access to array | semmle.label | access to array | -| bmqa.cpp:212:19:212:26 | call to source | semmle.label | call to source | -| bmqa.cpp:213:36:213:76 | *call to data | semmle.label | *call to data | -| bmqa.cpp:215:2:215:4 | *msg | semmle.label | *msg | -| bmqa.cpp:215:22:215:27 | loadProperties output argument | semmle.label | loadProperties output argument | -| bmqa.cpp:216:35:216:39 | *props | semmle.label | *props | -| bmqa.cpp:216:60:216:67 | *call to getPropertyAsBinary [element] | semmle.label | *call to getPropertyAsBinary [element] | -| bmqa.cpp:216:60:216:67 | *call to getPropertyAsBinary [element] | semmle.label | *call to getPropertyAsBinary [element] | -| bmqa.cpp:217:7:217:11 | *value [element] | semmle.label | *value [element] | -| bmqa.cpp:217:12:217:14 | call to operator[] | semmle.label | call to operator[] | -| bmqa.cpp:221:19:221:26 | call to source | semmle.label | call to source | -| bmqa.cpp:222:36:222:76 | *call to data | semmle.label | *call to data | -| bmqa.cpp:224:2:224:4 | *msg | semmle.label | *msg | -| bmqa.cpp:224:22:224:27 | loadProperties output argument | semmle.label | loadProperties output argument | -| bmqa.cpp:226:29:226:33 | *props | semmle.label | *props | -| bmqa.cpp:226:56:226:69 | *call to getPropertyAsStringOr | semmle.label | *call to getPropertyAsStringOr | -| bmqa.cpp:226:56:226:69 | *call to getPropertyAsStringOr | semmle.label | *call to getPropertyAsStringOr | -| bmqa.cpp:227:7:227:19 | * ... | semmle.label | * ... | -| bmqa.cpp:232:19:232:26 | call to source | semmle.label | call to source | -| bmqa.cpp:234:56:234:69 | *call to getPropertyAsStringOr | semmle.label | *call to getPropertyAsStringOr | -| bmqa.cpp:234:56:234:69 | *call to getPropertyAsStringOr | semmle.label | *call to getPropertyAsStringOr | -| bmqa.cpp:234:64:234:67 | *dflt | semmle.label | *dflt | -| bmqa.cpp:235:7:235:19 | * ... | semmle.label | * ... | -| bmqa.cpp:239:19:239:26 | call to source | semmle.label | call to source | -| bmqa.cpp:240:36:240:76 | *call to data | semmle.label | *call to data | -| bmqa.cpp:242:2:242:4 | *msg | semmle.label | *msg | -| bmqa.cpp:242:22:242:27 | loadProperties output argument | semmle.label | loadProperties output argument | -| bmqa.cpp:244:35:244:39 | *props | semmle.label | *props | -| bmqa.cpp:244:62:244:75 | *call to getPropertyAsBinaryOr [element] | semmle.label | *call to getPropertyAsBinaryOr [element] | -| bmqa.cpp:244:62:244:75 | *call to getPropertyAsBinaryOr [element] | semmle.label | *call to getPropertyAsBinaryOr [element] | -| bmqa.cpp:245:7:245:19 | * ... | semmle.label | * ... | -| bmqa.cpp:245:8:245:12 | *value [element] | semmle.label | *value [element] | -| bmqa.cpp:249:11:249:19 | * ... | semmle.label | * ... | -| bmqa.cpp:249:12:249:17 | call to source | semmle.label | call to source | -| bmqa.cpp:251:2:251:5 | push_back output argument [element] | semmle.label | push_back output argument [element] | -| bmqa.cpp:251:17:251:17 | *c | semmle.label | *c | -| bmqa.cpp:253:62:253:75 | *call to getPropertyAsBinaryOr [element] | semmle.label | *call to getPropertyAsBinaryOr [element] | -| bmqa.cpp:253:62:253:75 | *call to getPropertyAsBinaryOr [element] | semmle.label | *call to getPropertyAsBinaryOr [element] | -| bmqa.cpp:253:70:253:73 | *dflt [element] | semmle.label | *dflt [element] | -| bmqa.cpp:254:7:254:19 | * ... | semmle.label | * ... | -| bmqa.cpp:254:8:254:12 | *value [element] | semmle.label | *value [element] | -| bmqa.cpp:266:16:266:23 | call to source | semmle.label | call to source | -| bmqa.cpp:268:37:268:41 | copy output argument | semmle.label | copy output argument | -| bmqa.cpp:268:49:268:52 | *call to data | semmle.label | *call to data | -| bmqa.cpp:270:2:270:6 | streamIn output argument | semmle.label | streamIn output argument | -| bmqa.cpp:270:17:270:20 | *blob | semmle.label | *blob | -| bmqa.cpp:271:7:271:46 | * ... | semmle.label | * ... | -| bmqa.cpp:271:8:271:12 | *props | semmle.label | *props | -| bmqa.cpp:271:33:271:40 | *call to getPropertyAsString | semmle.label | *call to getPropertyAsString | -| bmqa.cpp:275:16:275:23 | call to source | semmle.label | call to source | -| bmqa.cpp:277:37:277:41 | copy output argument | semmle.label | copy output argument | -| bmqa.cpp:277:49:277:52 | *call to data | semmle.label | *call to data | -| bmqa.cpp:279:2:279:3 | streamIn output argument | semmle.label | streamIn output argument | -| bmqa.cpp:279:14:279:17 | *blob | semmle.label | *blob | -| bmqa.cpp:281:2:281:4 | setPropertiesRef output argument | semmle.label | setPropertiesRef output argument | -| bmqa.cpp:281:23:281:25 | *& ... | semmle.label | *& ... | -| bmqa.cpp:283:2:283:4 | *msg | semmle.label | *msg | -| bmqa.cpp:283:21:283:24 | loadProperties output argument | semmle.label | loadProperties output argument | -| bmqa.cpp:284:7:284:44 | * ... | semmle.label | * ... | -| bmqa.cpp:284:8:284:10 | *out | semmle.label | *out | -| bmqa.cpp:284:31:284:38 | *call to getPropertyAsString | semmle.label | *call to getPropertyAsString | -| bmqa.cpp:288:19:288:26 | call to source | semmle.label | call to source | -| bmqa.cpp:289:36:289:76 | *call to data | semmle.label | *call to data | -| bmqa.cpp:291:2:291:4 | *msg | semmle.label | *msg | -| bmqa.cpp:291:22:291:27 | loadProperties output argument | semmle.label | loadProperties output argument | -| bmqa.cpp:293:41:293:45 | *props | semmle.label | *props | -| bmqa.cpp:293:56:293:66 | *call to streamOut | semmle.label | *call to streamOut | -| bmqa.cpp:293:56:293:66 | *call to streamOut | semmle.label | *call to streamOut | -| bmqa.cpp:295:37:295:39 | copy output argument | semmle.label | copy output argument | -| bmqa.cpp:295:42:295:45 | *blob | semmle.label | *blob | -| bmqa.cpp:296:7:296:10 | * ... | semmle.label | * ... | -| bmqa.cpp:300:19:300:26 | call to source | semmle.label | call to source | -| bmqa.cpp:301:36:301:76 | *call to data | semmle.label | *call to data | -| bmqa.cpp:303:2:303:4 | *msg | semmle.label | *msg | -| bmqa.cpp:303:22:303:27 | loadProperties output argument | semmle.label | loadProperties output argument | -| bmqa.cpp:304:39:304:42 | call to MessageProperties | semmle.label | call to MessageProperties | -| bmqa.cpp:304:44:304:48 | *props | semmle.label | *props | -| bmqa.cpp:305:7:305:45 | * ... | semmle.label | * ... | -| bmqa.cpp:305:8:305:11 | *copy | semmle.label | *copy | -| bmqa.cpp:305:32:305:39 | *call to getPropertyAsString | semmle.label | *call to getPropertyAsString | -| bmqa.cpp:309:19:309:26 | call to source | semmle.label | call to source | -| bmqa.cpp:310:36:310:76 | *call to data | semmle.label | *call to data | -| bmqa.cpp:312:2:312:4 | *msg | semmle.label | *msg | -| bmqa.cpp:312:22:312:27 | loadProperties output argument | semmle.label | loadProperties output argument | -| bmqa.cpp:314:2:314:5 | operator= output argument | semmle.label | operator= output argument | -| bmqa.cpp:314:9:314:13 | *props | semmle.label | *props | -| bmqa.cpp:315:7:315:45 | * ... | semmle.label | * ... | -| bmqa.cpp:315:8:315:11 | *copy | semmle.label | *copy | -| bmqa.cpp:315:32:315:39 | *call to getPropertyAsString | semmle.label | *call to getPropertyAsString | -| bmqa.cpp:319:19:319:26 | call to source | semmle.label | call to source | -| bmqa.cpp:320:36:320:76 | *call to data | semmle.label | *call to data | -| bmqa.cpp:322:2:322:4 | *msg | semmle.label | *msg | -| bmqa.cpp:322:22:322:27 | loadProperties output argument | semmle.label | loadProperties output argument | -| bmqa.cpp:324:7:324:55 | * ... | semmle.label | * ... | -| bmqa.cpp:324:8:324:21 | *call to operator= | semmle.label | *call to operator= | -| bmqa.cpp:324:16:324:20 | *props | semmle.label | *props | -| bmqa.cpp:324:42:324:49 | *call to getPropertyAsString | semmle.label | *call to getPropertyAsString | -| bmqa.cpp:328:19:328:26 | call to source | semmle.label | call to source | -| bmqa.cpp:329:28:329:58 | *call to data | semmle.label | *call to data | -| bmqa.cpp:331:2:331:6 | setPropertyAsString output argument | semmle.label | setPropertyAsString output argument | -| bmqa.cpp:331:35:331:40 | * ... | semmle.label | * ... | -| bmqa.cpp:332:7:332:46 | * ... | semmle.label | * ... | -| bmqa.cpp:332:8:332:12 | *props | semmle.label | *props | -| bmqa.cpp:332:33:332:40 | *call to getPropertyAsString | semmle.label | *call to getPropertyAsString | -| bmqa.cpp:336:25:336:32 | call to source | semmle.label | call to source | -| bmqa.cpp:338:2:338:6 | setPropertyAsString output argument | semmle.label | setPropertyAsString output argument | -| bmqa.cpp:338:35:338:39 | value | semmle.label | value | -| bmqa.cpp:339:7:339:46 | * ... | semmle.label | * ... | -| bmqa.cpp:339:8:339:12 | *props | semmle.label | *props | -| bmqa.cpp:339:33:339:40 | *call to getPropertyAsString | semmle.label | *call to getPropertyAsString | -| bmqa.cpp:343:19:343:26 | call to source | semmle.label | call to source | -| bmqa.cpp:344:33:344:68 | *call to data | semmle.label | *call to data | -| bmqa.cpp:346:2:346:6 | setPropertyAsBinary output argument | semmle.label | setPropertyAsBinary output argument | -| bmqa.cpp:346:35:346:40 | * ... | semmle.label | * ... | -| bmqa.cpp:347:7:347:46 | * ... | semmle.label | * ... | -| bmqa.cpp:347:8:347:12 | *props | semmle.label | *props | -| bmqa.cpp:347:33:347:40 | *call to getPropertyAsBinary [element] | semmle.label | *call to getPropertyAsBinary [element] | -| bmqa.cpp:352:24:352:31 | call to source | semmle.label | call to source | -| bmqa.cpp:354:2:354:6 | setPropertyAsBool output argument | semmle.label | setPropertyAsBool output argument | -| bmqa.cpp:354:26:354:29 | name | semmle.label | name | -| bmqa.cpp:355:47:355:48 | call to MessagePropertiesIterator | semmle.label | call to MessagePropertiesIterator | -| bmqa.cpp:355:50:355:55 | *& ... | semmle.label | *& ... | -| bmqa.cpp:356:7:356:23 | * ... | semmle.label | * ... | -| bmqa.cpp:356:8:356:9 | *it | semmle.label | *it | -| bmqa.cpp:356:15:356:17 | *call to name | semmle.label | *call to name | -| bmqa.cpp:360:24:360:31 | call to source | semmle.label | call to source | -| bmqa.cpp:362:2:362:6 | setPropertyAsChar output argument | semmle.label | setPropertyAsChar output argument | -| bmqa.cpp:362:26:362:29 | name | semmle.label | name | -| bmqa.cpp:363:47:363:48 | call to MessagePropertiesIterator | semmle.label | call to MessagePropertiesIterator | -| bmqa.cpp:363:50:363:55 | *& ... | semmle.label | *& ... | -| bmqa.cpp:364:7:364:23 | * ... | semmle.label | * ... | -| bmqa.cpp:364:8:364:9 | *it | semmle.label | *it | -| bmqa.cpp:364:15:364:17 | *call to name | semmle.label | *call to name | -| bmqa.cpp:368:24:368:31 | call to source | semmle.label | call to source | -| bmqa.cpp:370:2:370:6 | setPropertyAsShort output argument | semmle.label | setPropertyAsShort output argument | -| bmqa.cpp:370:27:370:30 | name | semmle.label | name | -| bmqa.cpp:371:47:371:48 | call to MessagePropertiesIterator | semmle.label | call to MessagePropertiesIterator | -| bmqa.cpp:371:50:371:55 | *& ... | semmle.label | *& ... | -| bmqa.cpp:372:7:372:23 | * ... | semmle.label | * ... | -| bmqa.cpp:372:8:372:9 | *it | semmle.label | *it | -| bmqa.cpp:372:15:372:17 | *call to name | semmle.label | *call to name | -| bmqa.cpp:376:24:376:31 | call to source | semmle.label | call to source | -| bmqa.cpp:378:2:378:6 | setPropertyAsInt32 output argument | semmle.label | setPropertyAsInt32 output argument | -| bmqa.cpp:378:27:378:30 | name | semmle.label | name | -| bmqa.cpp:379:47:379:48 | call to MessagePropertiesIterator | semmle.label | call to MessagePropertiesIterator | -| bmqa.cpp:379:50:379:55 | *& ... | semmle.label | *& ... | -| bmqa.cpp:380:7:380:23 | * ... | semmle.label | * ... | -| bmqa.cpp:380:8:380:9 | *it | semmle.label | *it | -| bmqa.cpp:380:15:380:17 | *call to name | semmle.label | *call to name | -| bmqa.cpp:384:24:384:31 | call to source | semmle.label | call to source | -| bmqa.cpp:386:2:386:6 | setPropertyAsInt64 output argument | semmle.label | setPropertyAsInt64 output argument | -| bmqa.cpp:386:27:386:30 | name | semmle.label | name | -| bmqa.cpp:387:47:387:48 | call to MessagePropertiesIterator | semmle.label | call to MessagePropertiesIterator | -| bmqa.cpp:387:50:387:55 | *& ... | semmle.label | *& ... | -| bmqa.cpp:388:7:388:23 | * ... | semmle.label | * ... | -| bmqa.cpp:388:8:388:9 | *it | semmle.label | *it | -| bmqa.cpp:388:15:388:17 | *call to name | semmle.label | *call to name | -| bmqa.cpp:392:24:392:31 | call to source | semmle.label | call to source | -| bmqa.cpp:394:2:394:6 | setPropertyAsString output argument | semmle.label | setPropertyAsString output argument | -| bmqa.cpp:394:28:394:31 | name | semmle.label | name | -| bmqa.cpp:395:47:395:48 | call to MessagePropertiesIterator | semmle.label | call to MessagePropertiesIterator | -| bmqa.cpp:395:50:395:55 | *& ... | semmle.label | *& ... | -| bmqa.cpp:396:7:396:23 | * ... | semmle.label | * ... | -| bmqa.cpp:396:8:396:9 | *it | semmle.label | *it | -| bmqa.cpp:396:15:396:17 | *call to name | semmle.label | *call to name | -| bmqa.cpp:400:24:400:31 | call to source | semmle.label | call to source | -| bmqa.cpp:402:2:402:6 | setPropertyAsBinary output argument | semmle.label | setPropertyAsBinary output argument | -| bmqa.cpp:402:28:402:31 | name | semmle.label | name | -| bmqa.cpp:403:47:403:48 | call to MessagePropertiesIterator | semmle.label | call to MessagePropertiesIterator | -| bmqa.cpp:403:50:403:55 | *& ... | semmle.label | *& ... | -| bmqa.cpp:404:7:404:23 | * ... | semmle.label | * ... | -| bmqa.cpp:404:8:404:9 | *it | semmle.label | *it | -| bmqa.cpp:404:15:404:17 | *call to name | semmle.label | *call to name | -| bmqa.cpp:408:19:408:26 | call to source | semmle.label | call to source | -| bmqa.cpp:409:36:409:76 | *call to data | semmle.label | *call to data | -| bmqa.cpp:411:2:411:4 | *msg | semmle.label | *msg | -| bmqa.cpp:411:22:411:27 | loadProperties output argument | semmle.label | loadProperties output argument | -| bmqa.cpp:412:47:412:48 | call to MessagePropertiesIterator | semmle.label | call to MessagePropertiesIterator | -| bmqa.cpp:412:50:412:55 | *& ... | semmle.label | *& ... | -| bmqa.cpp:414:8:414:24 | * ... | semmle.label | * ... | -| bmqa.cpp:414:9:414:10 | *it | semmle.label | *it | -| bmqa.cpp:414:16:414:18 | *call to name | semmle.label | *call to name | -| bmqa.cpp:415:8:415:31 | * ... | semmle.label | * ... | -| bmqa.cpp:415:9:415:10 | *it | semmle.label | *it | -| bmqa.cpp:415:23:415:25 | *call to getAsString | semmle.label | *call to getAsString | -| bmqa.cpp:416:8:416:31 | * ... | semmle.label | * ... | -| bmqa.cpp:416:9:416:10 | *it | semmle.label | *it | -| bmqa.cpp:416:23:416:25 | *call to getAsBinary [element] | semmle.label | *call to getAsBinary [element] | -| bmqa.cpp:422:19:422:26 | call to source | semmle.label | call to source | -| bmqa.cpp:423:36:423:76 | *call to data | semmle.label | *call to data | -| bmqa.cpp:425:2:425:4 | *msg | semmle.label | *msg | -| bmqa.cpp:425:22:425:27 | loadProperties output argument | semmle.label | loadProperties output argument | -| bmqa.cpp:426:47:426:48 | call to MessagePropertiesIterator | semmle.label | call to MessagePropertiesIterator | -| bmqa.cpp:426:50:426:55 | *& ... | semmle.label | *& ... | -| bmqa.cpp:428:2:428:5 | operator= output argument | semmle.label | operator= output argument | -| bmqa.cpp:428:9:428:10 | *it | semmle.label | *it | -| bmqa.cpp:429:7:429:32 | * ... | semmle.label | * ... | -| bmqa.cpp:429:8:429:11 | *copy | semmle.label | *copy | -| bmqa.cpp:429:24:429:26 | *call to getAsString | semmle.label | *call to getAsString | -| bmqa.cpp:430:7:430:32 | * ... | semmle.label | * ... | -| bmqa.cpp:430:8:430:18 | *call to operator= | semmle.label | *call to operator= | -| bmqa.cpp:430:16:430:17 | *it | semmle.label | *it | -| bmqa.cpp:430:24:430:26 | *call to name | semmle.label | *call to name | +| 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: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] | +| bmqa.cpp:214:17:214:17 | *c | semmle.label | *c | +| bmqa.cpp:216:62:216:75 | *call to getPropertyAsBinaryOr [element] | semmle.label | *call to getPropertyAsBinaryOr [element] | +| 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: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: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: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: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: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: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: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: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 | +| bmqa.cpp:258:42:258:45 | *blob | semmle.label | *blob | +| 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: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: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: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: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: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:16:287:20 | *props | semmle.label | *props | +| bmqa.cpp:287:42:287:49 | *call to getPropertyAsString | semmle.label | *call to getPropertyAsString | +| 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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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 | +| bmqa.cpp:389:50:389:55 | *& ... | semmle.label | *& ... | +| 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:393:7:393:32 | * ... | semmle.label | * ... | +| 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 | | 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 | 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 0048cbc460ae..51a8c754d408 100644 --- a/cpp/ql/test/library-tests/dataflow/external-models/steps.expected +++ b/cpp/ql/test/library-tests/dataflow/external-models/steps.expected @@ -123,112 +123,112 @@ | bal.cpp:481:38:481:57 | ** ... | bal.cpp:481:37:481:65 | *call to encodeAny | | bal.cpp:481:60:481:63 | ** ... | bal.cpp:481:37:481:65 | *call to encodeAny | | bal.cpp:481:60:481:63 | ** ... | bal.cpp:481:38:481:57 | encodeAny output argument | -| bdlbb.cpp:56:49:56:52 | *call to data | bdlbb.cpp:56:37:56:41 | copy output argument | -| bdlbb.cpp:58:42:58:45 | *blob | bdlbb.cpp:58:37:58:39 | copy output argument | +| 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: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:65:49:65:52 | *call to data | bdlbb.cpp:65:37:65:41 | copy output argument | -| bdlbb.cpp:66:18:66:21 | *blob | bdlbb.cpp:66:29:66:32 | *call to buffer | -| bdlbb.cpp:66:29:66:32 | *call to buffer | bdlbb.cpp:66:18:66:38 | *call to data | -| bdlbb.cpp:74:49:74:52 | *call to data | bdlbb.cpp:74:37:74:41 | copy output argument | -| bdlbb.cpp:75:18:75:21 | *blob | bdlbb.cpp:75:29:75:32 | *call to buffer | -| bdlbb.cpp:75:29:75:32 | *call to buffer | bdlbb.cpp:75:39:75:41 | *call to buffer | -| bdlbb.cpp:82:49:82:52 | *call to data | bdlbb.cpp:82:37:82:41 | copy output argument | -| bdlbb.cpp:84:72:84:75 | *blob | bdlbb.cpp:84:12:84:65 | *call to getContiguousRangeOrCopy | -| bdlbb.cpp:84:72:84:75 | *blob | bdlbb.cpp:84:67:84:69 | getContiguousRangeOrCopy output argument | -| bdlbb.cpp:92:48:92:51 | *call to data | bdlbb.cpp:92:37:92:40 | copy output argument | -| bdlbb.cpp:94:46:94:48 | *src | bdlbb.cpp:94:37:94:40 | copy output argument | -| bdlbb.cpp:96:42:96:44 | *dst | bdlbb.cpp:96:37:96:39 | copy output argument | -| bmqa.cpp:127:2:127:4 | *msg | bmqa.cpp:127:15:127:19 | getData output argument | -| bmqa.cpp:129:42:129:45 | *blob | bmqa.cpp:129:37:129:39 | copy output argument | -| bmqa.cpp:136:42:136:46 | *event | bmqa.cpp:136:49:136:63 | call to messageIterator | -| bmqa.cpp:138:43:138:44 | *it | bmqa.cpp:138:53:138:55 | *call to message | -| bmqa.cpp:140:3:140:5 | *msg | bmqa.cpp:140:15:140:19 | getData output argument | -| bmqa.cpp:142:43:142:46 | *blob | bmqa.cpp:142:38:142:40 | copy output argument | -| bmqa.cpp:150:47:150:50 | *call to data | bmqa.cpp:150:37:150:39 | copy output argument | -| bmqa.cpp:152:2:152:4 | *msg | bmqa.cpp:152:16:152:21 | *call to setDataRef | -| bmqa.cpp:152:17:152:19 | *& ... | bmqa.cpp:152:2:152:4 | setDataRef output argument | -| bmqa.cpp:152:17:152:19 | *& ... | bmqa.cpp:152:16:152:21 | *call to setDataRef | -| bmqa.cpp:154:2:154:4 | *msg | bmqa.cpp:154:14:154:17 | getData output argument | -| bmqa.cpp:156:42:156:44 | *out | bmqa.cpp:156:37:156:39 | copy output argument | -| bmqa.cpp:163:2:163:4 | *msg | bmqa.cpp:163:16:163:36 | *call to setDataRef | -| bmqa.cpp:163:19:163:22 | *call to data | bmqa.cpp:163:2:163:4 | setDataRef output argument | -| bmqa.cpp:163:19:163:22 | *call to data | bmqa.cpp:163:16:163:36 | *call to setDataRef | -| bmqa.cpp:165:2:165:4 | *msg | bmqa.cpp:165:14:165:17 | getData output argument | -| bmqa.cpp:167:42:167:44 | *out | bmqa.cpp:167:37:167:39 | copy output argument | -| bmqa.cpp:174:2:174:4 | *msg | bmqa.cpp:174:13:174:33 | *call to setData | -| bmqa.cpp:174:16:174:19 | *call to data | bmqa.cpp:174:2:174:4 | setData output argument | -| bmqa.cpp:174:16:174:19 | *call to data | bmqa.cpp:174:13:174:33 | *call to setData | -| bmqa.cpp:176:2:176:4 | *msg | bmqa.cpp:176:14:176:17 | getData output argument | -| bmqa.cpp:178:42:178:44 | *out | bmqa.cpp:178:37:178:39 | copy output argument | -| bmqa.cpp:185:36:185:38 | *msg | bmqa.cpp:185:41:185:45 | call to clone | -| bmqa.cpp:187:2:187:5 | *copy | bmqa.cpp:187:15:187:19 | getData output argument | -| bmqa.cpp:189:42:189:45 | *blob | bmqa.cpp:189:37:189:39 | copy output argument | -| bmqa.cpp:197:2:197:4 | *msg | bmqa.cpp:197:22:197:27 | loadProperties output argument | -| bmqa.cpp:198:29:198:33 | *props | bmqa.cpp:198:54:198:61 | *call to getPropertyAsString | -| bmqa.cpp:206:2:206:4 | *msg | bmqa.cpp:206:22:206:27 | loadProperties output argument | -| bmqa.cpp:215:2:215:4 | *msg | bmqa.cpp:215:22:215:27 | loadProperties 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 | +| bdlbb.cpp:75:48:75:51 | *call to data | bdlbb.cpp:75:37:75:40 | copy output argument | +| bdlbb.cpp:77:46:77:48 | *src | bdlbb.cpp:77:37:77:40 | copy output argument | +| bdlbb.cpp:79:42:79:44 | *dst | bdlbb.cpp:79:37:79:39 | copy output argument | +| 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: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: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: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: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: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: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: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: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: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: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:226:29:226:33 | *props | bmqa.cpp:226:56:226:69 | *call to getPropertyAsStringOr | -| bmqa.cpp:234:29:234:33 | *props | bmqa.cpp:234:56:234:69 | *call to getPropertyAsStringOr | -| bmqa.cpp:242:2:242:4 | *msg | bmqa.cpp:242:22:242:27 | loadProperties output argument | -| bmqa.cpp:261:2:261:4 | *msg | bmqa.cpp:261:22:261:27 | loadProperties output argument | -| bmqa.cpp:268:49:268:52 | *call to data | bmqa.cpp:268:37:268:41 | copy output argument | -| bmqa.cpp:270:17:270:20 | *blob | bmqa.cpp:270:2:270:6 | streamIn output argument | -| bmqa.cpp:271:8:271:12 | *props | bmqa.cpp:271:33:271:40 | *call to getPropertyAsString | -| bmqa.cpp:277:49:277:52 | *call to data | bmqa.cpp:277:37:277:41 | copy output argument | -| bmqa.cpp:279:14:279:17 | *blob | bmqa.cpp:279:2:279:3 | streamIn output argument | -| bmqa.cpp:281:2:281:4 | *msg | bmqa.cpp:281:22:281:27 | *call to setPropertiesRef | -| bmqa.cpp:281:23:281:25 | *& ... | bmqa.cpp:281:2:281:4 | setPropertiesRef output argument | -| bmqa.cpp:281:23:281:25 | *& ... | bmqa.cpp:281:22:281:27 | *call to setPropertiesRef | -| bmqa.cpp:283:2:283:4 | *msg | bmqa.cpp:283:21:283:24 | loadProperties output argument | -| bmqa.cpp:284:8:284:10 | *out | bmqa.cpp:284:31:284:38 | *call to getPropertyAsString | -| bmqa.cpp:291:2:291:4 | *msg | bmqa.cpp:291:22:291:27 | loadProperties output argument | -| bmqa.cpp:293:41:293:45 | *props | bmqa.cpp:293:56:293:66 | *call to streamOut | -| bmqa.cpp:295:42:295:45 | *blob | bmqa.cpp:295:37:295:39 | copy output argument | -| bmqa.cpp:303:2:303:4 | *msg | bmqa.cpp:303:22:303:27 | loadProperties output argument | -| bmqa.cpp:305:8:305:11 | *copy | bmqa.cpp:305:32:305:39 | *call to getPropertyAsString | -| bmqa.cpp:312:2:312:4 | *msg | bmqa.cpp:312:22:312:27 | loadProperties output argument | -| bmqa.cpp:315:8:315:11 | *copy | bmqa.cpp:315:32:315:39 | *call to getPropertyAsString | -| bmqa.cpp:322:2:322:4 | *msg | bmqa.cpp:322:22:322:27 | loadProperties output argument | -| bmqa.cpp:324:8:324:21 | *call to operator= | bmqa.cpp:324:42:324:49 | *call to getPropertyAsString | -| bmqa.cpp:331:28:331:32 | call to basic_string_view | bmqa.cpp:331:2:331:6 | setPropertyAsString output argument | -| bmqa.cpp:331:35:331:40 | * ... | bmqa.cpp:331:2:331:6 | setPropertyAsString output argument | -| bmqa.cpp:332:8:332:12 | *props | bmqa.cpp:332:33:332:40 | *call to getPropertyAsString | -| bmqa.cpp:338:28:338:32 | call to basic_string_view | bmqa.cpp:338:2:338:6 | setPropertyAsString output argument | -| bmqa.cpp:338:35:338:39 | value | bmqa.cpp:338:2:338:6 | setPropertyAsString output argument | -| bmqa.cpp:339:8:339:12 | *props | bmqa.cpp:339:33:339:40 | *call to getPropertyAsString | -| bmqa.cpp:346:28:346:32 | call to basic_string_view | bmqa.cpp:346:2:346:6 | setPropertyAsBinary output argument | -| bmqa.cpp:346:35:346:40 | * ... | bmqa.cpp:346:2:346:6 | setPropertyAsBinary output argument | -| bmqa.cpp:354:26:354:29 | name | bmqa.cpp:354:2:354:6 | setPropertyAsBool output argument | -| bmqa.cpp:355:50:355:55 | *& ... | bmqa.cpp:355:47:355:48 | call to MessagePropertiesIterator | -| bmqa.cpp:356:8:356:9 | *it | bmqa.cpp:356:15:356:17 | *call to name | -| bmqa.cpp:362:26:362:29 | name | bmqa.cpp:362:2:362:6 | setPropertyAsChar output argument | -| bmqa.cpp:363:50:363:55 | *& ... | bmqa.cpp:363:47:363:48 | call to MessagePropertiesIterator | -| bmqa.cpp:364:8:364:9 | *it | bmqa.cpp:364:15:364:17 | *call to name | -| bmqa.cpp:370:27:370:30 | name | bmqa.cpp:370:2:370:6 | setPropertyAsShort output argument | -| bmqa.cpp:371:50:371:55 | *& ... | bmqa.cpp:371:47:371:48 | call to MessagePropertiesIterator | -| bmqa.cpp:372:8:372:9 | *it | bmqa.cpp:372:15:372:17 | *call to name | -| bmqa.cpp:378:27:378:30 | name | bmqa.cpp:378:2:378:6 | setPropertyAsInt32 output argument | -| bmqa.cpp:379:50:379:55 | *& ... | bmqa.cpp:379:47:379:48 | call to MessagePropertiesIterator | -| bmqa.cpp:380:8:380:9 | *it | bmqa.cpp:380:15:380:17 | *call to name | -| bmqa.cpp:386:27:386:30 | name | bmqa.cpp:386:2:386:6 | setPropertyAsInt64 output argument | -| bmqa.cpp:387:50:387:55 | *& ... | bmqa.cpp:387:47:387:48 | call to MessagePropertiesIterator | -| bmqa.cpp:388:8:388:9 | *it | bmqa.cpp:388:15:388:17 | *call to name | -| bmqa.cpp:394:28:394:31 | name | bmqa.cpp:394:2:394:6 | setPropertyAsString output argument | -| bmqa.cpp:394:34:394:40 | call to basic_string_view | bmqa.cpp:394:2:394:6 | setPropertyAsString output argument | -| bmqa.cpp:395:50:395:55 | *& ... | bmqa.cpp:395:47:395:48 | call to MessagePropertiesIterator | -| bmqa.cpp:396:8:396:9 | *it | bmqa.cpp:396:15:396:17 | *call to name | -| bmqa.cpp:402:28:402:31 | name | bmqa.cpp:402:2:402:6 | setPropertyAsBinary output argument | -| bmqa.cpp:402:34:402:56 | call to span | bmqa.cpp:402:2:402:6 | setPropertyAsBinary output argument | -| bmqa.cpp:403:50:403:55 | *& ... | bmqa.cpp:403:47:403:48 | call to MessagePropertiesIterator | -| bmqa.cpp:404:8:404:9 | *it | bmqa.cpp:404:15:404:17 | *call to name | -| bmqa.cpp:411:2:411:4 | *msg | bmqa.cpp:411:22:411:27 | loadProperties output argument | -| bmqa.cpp:412:50:412:55 | *& ... | bmqa.cpp:412:47:412:48 | call to MessagePropertiesIterator | -| bmqa.cpp:414:9:414:10 | *it | bmqa.cpp:414:16:414:18 | *call to name | -| bmqa.cpp:415:9:415:10 | *it | bmqa.cpp:415:23:415:25 | *call to getAsString | -| bmqa.cpp:425:2:425:4 | *msg | bmqa.cpp:425:22:425:27 | loadProperties output argument | -| bmqa.cpp:426:50:426:55 | *& ... | bmqa.cpp:426:47:426:48 | call to MessagePropertiesIterator | -| bmqa.cpp:429:8:429:11 | *copy | bmqa.cpp:429:24:429:26 | *call to getAsString | -| bmqa.cpp:430:8:430:18 | *call to operator= | bmqa.cpp:430:24:430:26 | *call to name | +| 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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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 | From b76f38d9b4988fe858c1891d250388d48723100f Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Thu, 15 Oct 2026 09:27:42 +0100 Subject: [PATCH 6/6] C++: Another test layout cleanup. --- .../dataflow/external-models/bal.cpp | 17 - .../dataflow/external-models/flow.expected | 614 +++++++++--------- .../dataflow/external-models/steps.expected | 110 ++-- 3 files changed, 362 insertions(+), 379 deletions(-) diff --git a/cpp/ql/test/library-tests/dataflow/external-models/bal.cpp b/cpp/ql/test/library-tests/dataflow/external-models/bal.cpp index ba343cf098fa..ad72d3321c80 100644 --- a/cpp/ql/test/library-tests/dataflow/external-models/bal.cpp +++ b/cpp/ql/test/library-tests/dataflow/external-models/bal.cpp @@ -2,23 +2,6 @@ // --- stub library headers --- - - - - - - - - - - - - - - - - - namespace BloombergLP { namespace bdlar { class AnyRef {}; 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 2430619d7fb3..618661341ced 100644 --- a/cpp/ql/test/library-tests/dataflow/external-models/flow.expected +++ b/cpp/ql/test/library-tests/dataflow/external-models/flow.expected @@ -432,146 +432,146 @@ edges | 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:145:19:145:26 | call to source | bal.cpp:146:23:146:51 | *call to data | provenance | TaintFunction | -| bal.cpp:146:23:146:51 | *call to data | bal.cpp:149:17:149:18 | *sb | provenance | | -| bal.cpp:149:17:149:18 | *sb | bal.cpp:149:21:149:24 | decode output argument | provenance | MaD:99 | -| bal.cpp:149:21:149:24 | decode output argument | bal.cpp:150:7:150:17 | * ... | provenance | TaintFunction | -| bal.cpp:154:19:154:26 | call to source | bal.cpp:155:21:155:47 | *call to data | provenance | TaintFunction | -| bal.cpp:155:21:155:47 | *call to data | bal.cpp:158:17:158:19 | ** ... | provenance | | -| bal.cpp:158:17:158:19 | ** ... | bal.cpp:158:22:158:25 | decode output argument | provenance | MaD:99 | -| bal.cpp:158:22:158:25 | decode output argument | bal.cpp:159:7:159:17 | * ... | provenance | TaintFunction | -| bal.cpp:163:19:163:26 | call to source | bal.cpp:164:23:164:51 | *call to data | provenance | TaintFunction | -| bal.cpp:164:23:164:51 | *call to data | bal.cpp:167:20:167:21 | *sb | provenance | | -| bal.cpp:167:20:167:21 | *sb | bal.cpp:167:24:167:27 | decodeAny output argument | provenance | MaD:100 | -| bal.cpp:167:24:167:27 | decodeAny output argument | bal.cpp:168:7:168:17 | * ... | provenance | TaintFunction | -| bal.cpp:173:18:173:25 | call to source | bal.cpp:176:40:176:42 | *obj | provenance | TaintFunction | -| bal.cpp:176:17:176:37 | encode output argument | bal.cpp:177:7:177:12 | access to array | provenance | | -| bal.cpp:176:40:176:42 | *obj | bal.cpp:176:17:176:37 | encode output argument | provenance | MaD:101 | -| bal.cpp:181:18:181:25 | call to source | bal.cpp:184:43:184:45 | *obj | provenance | TaintFunction | -| bal.cpp:184:20:184:40 | encodeAny output argument | bal.cpp:185:7:185:12 | access to array | provenance | | -| bal.cpp:184:43:184:45 | *obj | bal.cpp:184:20:184:40 | encodeAny output argument | provenance | MaD:102 | -| bal.cpp:192:19:192:26 | call to source | bal.cpp:193:23:193:51 | *call to data | provenance | TaintFunction | -| bal.cpp:193:23:193:51 | *call to data | bal.cpp:197:17:197:18 | *sb | provenance | | -| bal.cpp:197:17:197:18 | *sb | bal.cpp:197:21:197:24 | decode output argument | provenance | MaD:103 | -| bal.cpp:197:21:197:24 | decode output argument | bal.cpp:198:7:198:17 | * ... | provenance | TaintFunction | -| bal.cpp:202:19:202:26 | call to source | bal.cpp:203:21:203:47 | *call to data | provenance | TaintFunction | -| bal.cpp:203:21:203:47 | *call to data | bal.cpp:207:17:207:19 | ** ... | provenance | | -| bal.cpp:207:17:207:19 | ** ... | bal.cpp:207:22:207:25 | decode output argument | provenance | MaD:103 | -| bal.cpp:207:22:207:25 | decode output argument | bal.cpp:208:7:208:17 | * ... | provenance | TaintFunction | -| bal.cpp:212:19:212:26 | call to source | bal.cpp:213:23:213:51 | *call to data | provenance | TaintFunction | -| bal.cpp:213:23:213:51 | *call to data | bal.cpp:216:20:216:21 | *sb | provenance | | -| bal.cpp:216:20:216:21 | *sb | bal.cpp:216:24:216:27 | decodeAny output argument | provenance | MaD:104 | -| bal.cpp:216:24:216:27 | decodeAny output argument | bal.cpp:217:7:217:17 | * ... | provenance | TaintFunction | -| bal.cpp:221:18:221:25 | call to source | bal.cpp:225:40:225:42 | *obj | provenance | TaintFunction | -| bal.cpp:225:17:225:37 | encode output argument | bal.cpp:226:7:226:12 | access to array | provenance | | -| bal.cpp:225:40:225:42 | *obj | bal.cpp:225:17:225:37 | encode output argument | provenance | MaD:105 | -| bal.cpp:230:18:230:25 | call to source | bal.cpp:233:43:233:45 | *obj | provenance | TaintFunction | -| bal.cpp:233:20:233:40 | encodeAny output argument | bal.cpp:234:7:234:12 | access to array | provenance | | -| bal.cpp:233:43:233:45 | *obj | bal.cpp:233:20:233:40 | encodeAny output argument | provenance | MaD:106 | -| bal.cpp:239:19:239:26 | call to source | bal.cpp:240:23:240:51 | *call to data | provenance | TaintFunction | -| bal.cpp:240:23:240:51 | *call to data | bal.cpp:243:17:243:18 | *sb | provenance | | -| bal.cpp:243:17:243:18 | *sb | bal.cpp:243:21:243:24 | decode output argument | provenance | MaD:103 | -| bal.cpp:243:21:243:24 | decode output argument | bal.cpp:246:40:246:42 | *rec | provenance | | -| bal.cpp:246:17:246:37 | encode output argument | bal.cpp:247:7:247:12 | access to array | provenance | | -| bal.cpp:246:40:246:42 | *rec | bal.cpp:246:17:246:37 | encode output argument | provenance | MaD:105 | -| bal.cpp:262:19:262:26 | call to source | bal.cpp:263:21:263:47 | *call to data | provenance | TaintFunction | -| bal.cpp:263:21:263:47 | *call to data | bal.cpp:266:17:266:19 | ** ... | provenance | | -| bal.cpp:266:17:266:19 | ** ... | bal.cpp:266:22:266:25 | decode output argument | provenance | MaD:108 | -| bal.cpp:266:22:266:25 | decode output argument | bal.cpp:267:7:267:17 | * ... | provenance | TaintFunction | -| bal.cpp:271:19:271:26 | call to source | bal.cpp:272:21:272:47 | *call to data | provenance | TaintFunction | -| bal.cpp:272:21:272:47 | *call to data | bal.cpp:275:35:275:37 | ** ... | provenance | | -| bal.cpp:275:34:275:52 | *call to decode | bal.cpp:275:34:275:52 | *call to decode | provenance | | -| bal.cpp:275:34:275:52 | *call to decode | bal.cpp:276:7:276:17 | * ... | provenance | | -| bal.cpp:275:35:275:37 | ** ... | bal.cpp:275:34:275:52 | *call to decode | provenance | MaD:109 | -| bal.cpp:275:35:275:37 | ** ... | bal.cpp:275:40:275:43 | decode output argument | provenance | MaD:108 | -| bal.cpp:275:40:275:43 | decode output argument | bal.cpp:277:7:277:9 | out | provenance | | -| bal.cpp:281:19:281:26 | call to source | bal.cpp:282:23:282:51 | *call to data | provenance | TaintFunction | -| bal.cpp:282:23:282:51 | *call to data | bal.cpp:285:17:285:18 | *sb | provenance | | -| bal.cpp:285:17:285:18 | *sb | bal.cpp:285:21:285:24 | decode output argument | provenance | MaD:110 | -| bal.cpp:285:21:285:24 | decode output argument | bal.cpp:286:7:286:17 | * ... | provenance | TaintFunction | -| bal.cpp:290:19:290:26 | call to source | bal.cpp:293:22:293:25 | *call to data | provenance | TaintFunction | -| bal.cpp:293:22:293:25 | *call to data | bal.cpp:293:43:293:46 | decode output argument | provenance | MaD:107 | -| bal.cpp:293:43:293:46 | decode output argument | bal.cpp:294:7:294:17 | * ... | provenance | TaintFunction | -| bal.cpp:318:19:318:26 | call to source | bal.cpp:319:21:319:47 | *call to data | provenance | TaintFunction | -| bal.cpp:319:21:319:47 | *call to data | bal.cpp:322:20:322:22 | ** ... | provenance | | -| bal.cpp:322:20:322:22 | ** ... | bal.cpp:322:25:322:28 | decodeAny output argument | provenance | MaD:114 | -| bal.cpp:322:25:322:28 | decodeAny output argument | bal.cpp:323:7:323:17 | * ... | provenance | TaintFunction | -| bal.cpp:327:19:327:26 | call to source | bal.cpp:328:21:328:47 | *call to data | provenance | TaintFunction | -| bal.cpp:328:21:328:47 | *call to data | bal.cpp:331:38:331:40 | ** ... | provenance | | -| bal.cpp:331:37:331:48 | *call to decodeAny | bal.cpp:331:37:331:48 | *call to decodeAny | provenance | | -| bal.cpp:331:37:331:48 | *call to decodeAny | bal.cpp:332:7:332:17 | * ... | provenance | | -| bal.cpp:331:38:331:40 | ** ... | bal.cpp:331:37:331:48 | *call to decodeAny | provenance | MaD:115 | -| bal.cpp:331:38:331:40 | ** ... | bal.cpp:331:43:331:46 | decodeAny output argument | provenance | MaD:114 | -| bal.cpp:331:43:331:46 | decodeAny output argument | bal.cpp:333:7:333:9 | out | provenance | | -| bal.cpp:337:19:337:26 | call to source | bal.cpp:338:23:338:51 | *call to data | provenance | TaintFunction | -| bal.cpp:338:23:338:51 | *call to data | bal.cpp:341:20:341:21 | *sb | provenance | | -| bal.cpp:341:20:341:21 | *sb | bal.cpp:341:24:341:27 | decodeAny output argument | provenance | MaD:116 | -| bal.cpp:341:24:341:27 | decodeAny output argument | bal.cpp:342:7:342:17 | * ... | provenance | TaintFunction | -| bal.cpp:346:19:346:26 | call to source | bal.cpp:347:21:347:47 | *call to data | provenance | TaintFunction | -| bal.cpp:347:21:347:47 | *call to data | bal.cpp:350:20:350:22 | ** ... | provenance | | -| bal.cpp:350:20:350:22 | ** ... | bal.cpp:350:25:350:28 | decodeAny output argument | provenance | MaD:111 | -| bal.cpp:350:25:350:28 | decodeAny output argument | bal.cpp:351:7:351:19 | * ... | provenance | | -| bal.cpp:355:19:355:26 | call to source | bal.cpp:356:21:356:47 | *call to data | provenance | TaintFunction | -| bal.cpp:356:21:356:47 | *call to data | bal.cpp:359:38:359:40 | ** ... | provenance | | -| bal.cpp:359:37:359:48 | *call to decodeAny | bal.cpp:359:37:359:48 | *call to decodeAny | provenance | | -| bal.cpp:359:37:359:48 | *call to decodeAny | bal.cpp:360:7:360:17 | * ... | provenance | | -| bal.cpp:359:38:359:40 | ** ... | bal.cpp:359:37:359:48 | *call to decodeAny | provenance | MaD:112 | -| bal.cpp:359:38:359:40 | ** ... | bal.cpp:359:43:359:46 | decodeAny output argument | provenance | MaD:111 | -| bal.cpp:359:43:359:46 | decodeAny output argument | bal.cpp:361:7:361:19 | * ... | provenance | | -| bal.cpp:365:19:365:26 | call to source | bal.cpp:366:23:366:51 | *call to data | provenance | TaintFunction | -| bal.cpp:366:23:366:51 | *call to data | bal.cpp:369:20:369:21 | *sb | provenance | | -| bal.cpp:369:20:369:21 | *sb | bal.cpp:369:24:369:27 | decodeAny output argument | provenance | MaD:113 | -| bal.cpp:369:24:369:27 | decodeAny output argument | bal.cpp:370:7:370:19 | * ... | provenance | | -| bal.cpp:374:18:374:25 | call to source | bal.cpp:377:40:377:42 | *obj | provenance | TaintFunction | -| bal.cpp:377:17:377:37 | encode output argument | bal.cpp:378:7:378:12 | access to array | provenance | | -| bal.cpp:377:40:377:42 | *obj | bal.cpp:377:17:377:37 | encode output argument | provenance | MaD:119 | -| bal.cpp:382:18:382:25 | call to source | bal.cpp:385:39:385:41 | *obj | provenance | TaintFunction | -| bal.cpp:385:17:385:36 | encode output argument | bal.cpp:386:7:386:12 | access to array | provenance | | -| bal.cpp:385:39:385:41 | *obj | bal.cpp:385:17:385:36 | encode output argument | provenance | MaD:118 | -| bal.cpp:390:18:390:25 | call to source | bal.cpp:393:57:393:59 | *obj | provenance | TaintFunction | -| bal.cpp:393:34:393:61 | *call to encode | bal.cpp:393:34:393:61 | *call to encode | provenance | | -| bal.cpp:393:34:393:61 | *call to encode | bal.cpp:394:7:394:17 | * ... | provenance | | -| bal.cpp:393:35:393:54 | encode output argument | bal.cpp:395:7:395:12 | access to array | provenance | | -| bal.cpp:393:57:393:59 | *obj | bal.cpp:393:34:393:61 | *call to encode | provenance | MaD:117 | -| bal.cpp:393:57:393:59 | *obj | bal.cpp:393:35:393:54 | encode output argument | provenance | MaD:118 | -| bal.cpp:399:19:399:26 | call to source | bal.cpp:400:21:400:47 | *call to data | provenance | TaintFunction | -| bal.cpp:400:21:400:47 | *call to data | bal.cpp:403:35:403:37 | ** ... | provenance | | -| bal.cpp:403:34:403:44 | *call to encode | bal.cpp:403:34:403:44 | *call to encode | provenance | | -| bal.cpp:403:34:403:44 | *call to encode | bal.cpp:404:7:404:17 | * ... | provenance | | -| bal.cpp:403:35:403:37 | ** ... | bal.cpp:403:34:403:44 | *call to encode | provenance | MaD:117 | -| bal.cpp:408:18:408:25 | call to source | bal.cpp:411:47:411:49 | *obj | provenance | TaintFunction | -| bal.cpp:411:25:411:44 | encodeToStream output argument | bal.cpp:412:7:412:12 | access to array | provenance | | -| bal.cpp:411:47:411:49 | *obj | bal.cpp:411:25:411:44 | encodeToStream output argument | provenance | MaD:127 | -| bal.cpp:426:18:426:25 | call to source | bal.cpp:429:43:429:45 | *obj | provenance | TaintFunction | -| bal.cpp:429:20:429:40 | encodeAny output argument | bal.cpp:430:7:430:12 | access to array | provenance | | -| bal.cpp:429:43:429:45 | *obj | bal.cpp:429:20:429:40 | encodeAny output argument | provenance | MaD:125 | -| bal.cpp:434:18:434:25 | call to source | bal.cpp:437:42:437:44 | *obj | provenance | TaintFunction | -| bal.cpp:437:20:437:39 | encodeAny output argument | bal.cpp:438:7:438:12 | access to array | provenance | | -| bal.cpp:437:42:437:44 | *obj | bal.cpp:437:20:437:39 | encodeAny output argument | provenance | MaD:124 | -| bal.cpp:442:18:442:25 | call to source | bal.cpp:445:60:445:62 | *obj | provenance | TaintFunction | -| bal.cpp:445:37:445:64 | *call to encodeAny | bal.cpp:445:37:445:64 | *call to encodeAny | provenance | | -| bal.cpp:445:37:445:64 | *call to encodeAny | bal.cpp:446:7:446:17 | * ... | provenance | | -| bal.cpp:445:38:445:57 | encodeAny output argument | bal.cpp:447:7:447:12 | access to array | provenance | | -| bal.cpp:445:60:445:62 | *obj | bal.cpp:445:37:445:64 | *call to encodeAny | provenance | MaD:123 | -| bal.cpp:445:60:445:62 | *obj | bal.cpp:445:38:445:57 | encodeAny output argument | provenance | MaD:124 | -| bal.cpp:451:18:451:25 | call to source | bal.cpp:454:50:454:52 | *obj | provenance | TaintFunction | -| bal.cpp:454:28:454:47 | encodeAnyToStream output argument | bal.cpp:455:7:455:12 | access to array | provenance | | -| bal.cpp:454:50:454:52 | *obj | bal.cpp:454:28:454:47 | encodeAnyToStream output argument | provenance | MaD:126 | -| bal.cpp:459:19:459:26 | call to source | bal.cpp:460:41:460:86 | *call to data | provenance | TaintFunction | -| bal.cpp:460:41:460:86 | *call to data | bal.cpp:463:43:463:46 | ** ... | provenance | | -| bal.cpp:463:20:463:40 | encodeAny output argument | bal.cpp:464:7:464:12 | access to array | provenance | | -| bal.cpp:463:43:463:46 | ** ... | bal.cpp:463:20:463:40 | encodeAny output argument | provenance | MaD:122 | -| bal.cpp:468:19:468:26 | call to source | bal.cpp:469:41:469:86 | *call to data | provenance | TaintFunction | -| bal.cpp:469:41:469:86 | *call to data | bal.cpp:472:42:472:45 | ** ... | provenance | | -| bal.cpp:472:20:472:39 | encodeAny output argument | bal.cpp:473:7:473:12 | access to array | provenance | | -| bal.cpp:472:42:472:45 | ** ... | bal.cpp:472:20:472:39 | encodeAny output argument | provenance | MaD:121 | -| bal.cpp:477:19:477:26 | call to source | bal.cpp:478:41:478:86 | *call to data | provenance | TaintFunction | -| bal.cpp:478:41:478:86 | *call to data | bal.cpp:481:60:481:63 | ** ... | provenance | | -| bal.cpp:481:37:481:65 | *call to encodeAny | bal.cpp:481:37:481:65 | *call to encodeAny | provenance | | -| bal.cpp:481:37:481:65 | *call to encodeAny | bal.cpp:482:7:482:17 | * ... | provenance | | -| bal.cpp:481:38:481:57 | encodeAny output argument | bal.cpp:483:7:483:12 | access to array | provenance | | -| bal.cpp:481:60:481:63 | ** ... | bal.cpp:481:37:481:65 | *call to encodeAny | provenance | MaD:120 | -| bal.cpp:481:60:481:63 | ** ... | bal.cpp:481:38:481:57 | encodeAny output argument | provenance | MaD:121 | +| bal.cpp:128:19:128:26 | call to source | bal.cpp:129:23:129:51 | *call to data | provenance | TaintFunction | +| 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: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: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: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: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: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: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: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: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: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: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: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: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:255:21:255:47 | *call to data | bal.cpp:258:35:258:37 | ** ... | provenance | | +| 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: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: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: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:311:21:311:47 | *call to data | bal.cpp:314:38:314:40 | ** ... | provenance | | +| 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: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: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: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: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:339:21:339:47 | *call to data | bal.cpp:342:38:342:40 | ** ... | provenance | | +| 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: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: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: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: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: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:383:21:383:47 | *call to data | bal.cpp:386:35:386:37 | ** ... | provenance | | +| 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: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: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: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: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: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:443:41:443:86 | *call to data | bal.cpp:446:43:446:46 | ** ... | provenance | | +| 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:452:41:452:86 | *call to data | bal.cpp:455:42:455:45 | ** ... | provenance | | +| 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:461:41:461:86 | *call to data | bal.cpp:464:60:464:63 | ** ... | provenance | | +| 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 | | 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 | @@ -1787,179 +1787,179 @@ nodes | 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 | -| bal.cpp:145:19:145:26 | call to source | semmle.label | call to source | -| bal.cpp:146:23:146:51 | *call to data | semmle.label | *call to data | -| bal.cpp:149:17:149:18 | *sb | semmle.label | *sb | -| bal.cpp:149:21:149:24 | decode output argument | semmle.label | decode output argument | -| bal.cpp:150:7:150:17 | * ... | semmle.label | * ... | -| bal.cpp:154:19:154:26 | call to source | semmle.label | call to source | -| bal.cpp:155:21:155:47 | *call to data | semmle.label | *call to data | -| bal.cpp:158:17:158:19 | ** ... | semmle.label | ** ... | -| bal.cpp:158:22:158:25 | decode output argument | semmle.label | decode output argument | -| bal.cpp:159:7:159:17 | * ... | semmle.label | * ... | -| bal.cpp:163:19:163:26 | call to source | semmle.label | call to source | -| bal.cpp:164:23:164:51 | *call to data | semmle.label | *call to data | -| bal.cpp:167:20:167:21 | *sb | semmle.label | *sb | -| bal.cpp:167:24:167:27 | decodeAny output argument | semmle.label | decodeAny output argument | -| bal.cpp:168:7:168:17 | * ... | semmle.label | * ... | -| bal.cpp:173:18:173:25 | call to source | semmle.label | call to source | -| bal.cpp:176:17:176:37 | encode output argument | semmle.label | encode output argument | -| bal.cpp:176:40:176:42 | *obj | semmle.label | *obj | -| bal.cpp:177:7:177:12 | access to array | semmle.label | access to array | -| bal.cpp:181:18:181:25 | call to source | semmle.label | call to source | -| bal.cpp:184:20:184:40 | encodeAny output argument | semmle.label | encodeAny output argument | -| bal.cpp:184:43:184:45 | *obj | semmle.label | *obj | -| bal.cpp:185:7:185:12 | access to array | semmle.label | access to array | -| bal.cpp:192:19:192:26 | call to source | semmle.label | call to source | -| bal.cpp:193:23:193:51 | *call to data | semmle.label | *call to data | -| bal.cpp:197:17:197:18 | *sb | semmle.label | *sb | -| bal.cpp:197:21:197:24 | decode output argument | semmle.label | decode output argument | -| bal.cpp:198:7:198:17 | * ... | semmle.label | * ... | -| bal.cpp:202:19:202:26 | call to source | semmle.label | call to source | -| bal.cpp:203:21:203:47 | *call to data | semmle.label | *call to data | -| bal.cpp:207:17:207:19 | ** ... | semmle.label | ** ... | -| bal.cpp:207:22:207:25 | decode output argument | semmle.label | decode output argument | -| bal.cpp:208:7:208:17 | * ... | semmle.label | * ... | -| bal.cpp:212:19:212:26 | call to source | semmle.label | call to source | -| bal.cpp:213:23:213:51 | *call to data | semmle.label | *call to data | -| bal.cpp:216:20:216:21 | *sb | semmle.label | *sb | -| bal.cpp:216:24:216:27 | decodeAny output argument | semmle.label | decodeAny output argument | -| bal.cpp:217:7:217:17 | * ... | semmle.label | * ... | -| bal.cpp:221:18:221:25 | call to source | semmle.label | call to source | -| bal.cpp:225:17:225:37 | encode output argument | semmle.label | encode output argument | -| bal.cpp:225:40:225:42 | *obj | semmle.label | *obj | -| bal.cpp:226:7:226:12 | access to array | semmle.label | access to array | -| bal.cpp:230:18:230:25 | call to source | semmle.label | call to source | -| bal.cpp:233:20:233:40 | encodeAny output argument | semmle.label | encodeAny output argument | -| bal.cpp:233:43:233:45 | *obj | semmle.label | *obj | -| bal.cpp:234:7:234:12 | access to array | semmle.label | access to array | -| bal.cpp:239:19:239:26 | call to source | semmle.label | call to source | -| bal.cpp:240:23:240:51 | *call to data | semmle.label | *call to data | -| bal.cpp:243:17:243:18 | *sb | semmle.label | *sb | -| bal.cpp:243:21:243:24 | decode output argument | semmle.label | decode output argument | -| bal.cpp:246:17:246:37 | encode output argument | semmle.label | encode output argument | -| bal.cpp:246:40:246:42 | *rec | semmle.label | *rec | -| bal.cpp:247:7:247:12 | access to array | semmle.label | access to array | -| bal.cpp:262:19:262:26 | call to source | semmle.label | call to source | -| bal.cpp:263:21:263:47 | *call to data | semmle.label | *call to data | -| bal.cpp:266:17:266:19 | ** ... | semmle.label | ** ... | -| bal.cpp:266:22:266:25 | decode output argument | semmle.label | decode output argument | -| bal.cpp:267:7:267:17 | * ... | semmle.label | * ... | -| bal.cpp:271:19:271:26 | call to source | semmle.label | call to source | -| bal.cpp:272:21:272:47 | *call to data | semmle.label | *call to data | -| bal.cpp:275:34:275:52 | *call to decode | semmle.label | *call to decode | -| bal.cpp:275:34:275:52 | *call to decode | semmle.label | *call to decode | -| bal.cpp:275:35:275:37 | ** ... | semmle.label | ** ... | -| bal.cpp:275:40:275:43 | decode output argument | semmle.label | decode output argument | -| bal.cpp:276:7:276:17 | * ... | semmle.label | * ... | -| bal.cpp:277:7:277:9 | out | semmle.label | out | -| bal.cpp:281:19:281:26 | call to source | semmle.label | call to source | -| bal.cpp:282:23:282:51 | *call to data | semmle.label | *call to data | -| bal.cpp:285:17:285:18 | *sb | semmle.label | *sb | -| bal.cpp:285:21:285:24 | decode output argument | semmle.label | decode output argument | -| bal.cpp:286:7:286:17 | * ... | semmle.label | * ... | -| bal.cpp:290:19:290:26 | call to source | semmle.label | call to source | -| bal.cpp:293:22:293:25 | *call to data | semmle.label | *call to data | -| bal.cpp:293:43:293:46 | decode output argument | semmle.label | decode output argument | -| bal.cpp:294:7:294:17 | * ... | semmle.label | * ... | -| bal.cpp:318:19:318:26 | call to source | semmle.label | call to source | -| bal.cpp:319:21:319:47 | *call to data | semmle.label | *call to data | -| bal.cpp:322:20:322:22 | ** ... | semmle.label | ** ... | -| bal.cpp:322:25:322:28 | decodeAny output argument | semmle.label | decodeAny output argument | -| bal.cpp:323:7:323:17 | * ... | semmle.label | * ... | -| bal.cpp:327:19:327:26 | call to source | semmle.label | call to source | -| bal.cpp:328:21:328:47 | *call to data | semmle.label | *call to data | -| bal.cpp:331:37:331:48 | *call to decodeAny | semmle.label | *call to decodeAny | -| bal.cpp:331:37:331:48 | *call to decodeAny | semmle.label | *call to decodeAny | -| bal.cpp:331:38:331:40 | ** ... | semmle.label | ** ... | -| bal.cpp:331:43:331:46 | decodeAny output argument | semmle.label | decodeAny output argument | -| bal.cpp:332:7:332:17 | * ... | semmle.label | * ... | -| bal.cpp:333:7:333:9 | out | semmle.label | out | -| bal.cpp:337:19:337:26 | call to source | semmle.label | call to source | -| bal.cpp:338:23:338:51 | *call to data | semmle.label | *call to data | -| bal.cpp:341:20:341:21 | *sb | semmle.label | *sb | -| bal.cpp:341:24:341:27 | decodeAny output argument | semmle.label | decodeAny output argument | -| bal.cpp:342:7:342:17 | * ... | semmle.label | * ... | -| bal.cpp:346:19:346:26 | call to source | semmle.label | call to source | -| bal.cpp:347:21:347:47 | *call to data | semmle.label | *call to data | -| bal.cpp:350:20:350:22 | ** ... | semmle.label | ** ... | -| bal.cpp:350:25:350:28 | decodeAny output argument | semmle.label | decodeAny output argument | -| bal.cpp:351:7:351:19 | * ... | semmle.label | * ... | -| bal.cpp:355:19:355:26 | call to source | semmle.label | call to source | -| bal.cpp:356:21:356:47 | *call to data | semmle.label | *call to data | -| bal.cpp:359:37:359:48 | *call to decodeAny | semmle.label | *call to decodeAny | -| bal.cpp:359:37:359:48 | *call to decodeAny | semmle.label | *call to decodeAny | -| bal.cpp:359:38:359:40 | ** ... | semmle.label | ** ... | -| bal.cpp:359:43:359:46 | decodeAny output argument | semmle.label | decodeAny output argument | -| bal.cpp:360:7:360:17 | * ... | semmle.label | * ... | -| bal.cpp:361:7:361:19 | * ... | semmle.label | * ... | -| bal.cpp:365:19:365:26 | call to source | semmle.label | call to source | -| bal.cpp:366:23:366:51 | *call to data | semmle.label | *call to data | -| bal.cpp:369:20:369:21 | *sb | semmle.label | *sb | -| bal.cpp:369:24:369:27 | decodeAny output argument | semmle.label | decodeAny output argument | -| bal.cpp:370:7:370:19 | * ... | semmle.label | * ... | -| bal.cpp:374:18:374:25 | call to source | semmle.label | call to source | -| bal.cpp:377:17:377:37 | encode output argument | semmle.label | encode output argument | -| bal.cpp:377:40:377:42 | *obj | semmle.label | *obj | +| 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: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: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: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: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: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: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 | +| bal.cpp:160:7:160:12 | access to array | semmle.label | access to array | +| bal.cpp:164:18:164:25 | call to source | semmle.label | call to source | +| bal.cpp:167:20:167:40 | encodeAny output argument | semmle.label | encodeAny output argument | +| bal.cpp:167:43:167:45 | *obj | semmle.label | *obj | +| 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: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: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: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: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: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: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 | +| bal.cpp:209:7:209:12 | access to array | semmle.label | access to array | +| bal.cpp:213:18:213:25 | call to source | semmle.label | call to source | +| bal.cpp:216:20:216:40 | encodeAny output argument | semmle.label | encodeAny output argument | +| bal.cpp:216:43:216:45 | *obj | semmle.label | *obj | +| 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: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 | +| bal.cpp:229:40:229:42 | *rec | semmle.label | *rec | +| 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: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: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: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 | ** ... | +| bal.cpp:258:40:258:43 | decode output argument | semmle.label | decode output argument | +| bal.cpp:259:7:259:17 | * ... | semmle.label | * ... | +| 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: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:273:19:273:26 | call to source | semmle.label | call to source | +| 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: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: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: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: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 | ** ... | +| bal.cpp:314:43:314:46 | decodeAny output argument | semmle.label | decodeAny output argument | +| bal.cpp:315:7:315:17 | * ... | semmle.label | * ... | +| 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: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: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: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: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 | ** ... | +| bal.cpp:342:43:342:46 | decodeAny output argument | semmle.label | decodeAny output argument | +| bal.cpp:343:7:343:17 | * ... | semmle.label | * ... | +| 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: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 | * ... | +| bal.cpp:357:18:357:25 | call to source | semmle.label | call to source | +| bal.cpp:360:17:360:37 | encode output argument | semmle.label | encode output argument | +| bal.cpp:360:40:360:42 | *obj | semmle.label | *obj | +| bal.cpp:361:7:361:12 | access to array | semmle.label | access to array | +| bal.cpp:365:18:365:25 | call to source | semmle.label | call to source | +| bal.cpp:368:17:368:36 | encode output argument | semmle.label | encode output argument | +| bal.cpp:368:39:368:41 | *obj | semmle.label | *obj | +| bal.cpp:369:7:369:12 | access to array | semmle.label | access to array | +| bal.cpp:373:18:373:25 | call to source | semmle.label | call to source | +| bal.cpp:376:34:376:61 | *call to encode | semmle.label | *call to encode | +| bal.cpp:376:34:376:61 | *call to encode | semmle.label | *call to encode | +| bal.cpp:376:35:376:54 | encode output argument | semmle.label | encode output argument | +| bal.cpp:376:57:376:59 | *obj | semmle.label | *obj | +| bal.cpp:377:7:377:17 | * ... | semmle.label | * ... | | bal.cpp:378:7:378:12 | access to array | semmle.label | access to array | -| bal.cpp:382:18:382:25 | call to source | semmle.label | call to source | -| bal.cpp:385:17:385:36 | encode output argument | semmle.label | encode output argument | -| bal.cpp:385:39:385:41 | *obj | semmle.label | *obj | -| bal.cpp:386:7:386:12 | access to array | semmle.label | access to array | -| bal.cpp:390:18:390:25 | call to source | semmle.label | call to source | -| bal.cpp:393:34:393:61 | *call to encode | semmle.label | *call to encode | -| bal.cpp:393:34:393:61 | *call to encode | semmle.label | *call to encode | -| bal.cpp:393:35:393:54 | encode output argument | semmle.label | encode output argument | -| bal.cpp:393:57:393:59 | *obj | semmle.label | *obj | -| bal.cpp:394:7:394:17 | * ... | semmle.label | * ... | +| 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: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 | ** ... | +| bal.cpp:387:7:387:17 | * ... | semmle.label | * ... | +| bal.cpp:391:18:391:25 | call to source | semmle.label | call to source | +| bal.cpp:394:25:394:44 | encodeToStream output argument | semmle.label | encodeToStream output argument | +| bal.cpp:394:47:394:49 | *obj | semmle.label | *obj | | bal.cpp:395:7:395:12 | access to array | semmle.label | access to array | -| bal.cpp:399:19:399:26 | call to source | semmle.label | call to source | -| bal.cpp:400:21:400:47 | *call to data | semmle.label | *call to data | -| bal.cpp:403:34:403:44 | *call to encode | semmle.label | *call to encode | -| bal.cpp:403:34:403:44 | *call to encode | semmle.label | *call to encode | -| bal.cpp:403:35:403:37 | ** ... | semmle.label | ** ... | -| bal.cpp:404:7:404:17 | * ... | semmle.label | * ... | -| bal.cpp:408:18:408:25 | call to source | semmle.label | call to source | -| bal.cpp:411:25:411:44 | encodeToStream output argument | semmle.label | encodeToStream output argument | -| bal.cpp:411:47:411:49 | *obj | semmle.label | *obj | -| bal.cpp:412:7:412:12 | access to array | semmle.label | access to array | -| bal.cpp:426:18:426:25 | call to source | semmle.label | call to source | -| bal.cpp:429:20:429:40 | encodeAny output argument | semmle.label | encodeAny output argument | -| bal.cpp:429:43:429:45 | *obj | semmle.label | *obj | +| bal.cpp:409:18:409:25 | call to source | semmle.label | call to source | +| bal.cpp:412:20:412:40 | encodeAny output argument | semmle.label | encodeAny output argument | +| bal.cpp:412:43:412:45 | *obj | semmle.label | *obj | +| bal.cpp:413:7:413:12 | access to array | semmle.label | access to array | +| bal.cpp:417:18:417:25 | call to source | semmle.label | call to source | +| bal.cpp:420:20:420:39 | encodeAny output argument | semmle.label | encodeAny output argument | +| bal.cpp:420:42:420:44 | *obj | semmle.label | *obj | +| bal.cpp:421:7:421:12 | access to array | semmle.label | access to array | +| bal.cpp:425:18:425:25 | call to source | semmle.label | call to source | +| bal.cpp:428:37:428:64 | *call to encodeAny | semmle.label | *call to encodeAny | +| bal.cpp:428:37:428:64 | *call to encodeAny | semmle.label | *call to encodeAny | +| bal.cpp:428:38:428:57 | encodeAny output argument | semmle.label | encodeAny output argument | +| bal.cpp:428:60:428:62 | *obj | semmle.label | *obj | +| bal.cpp:429:7:429:17 | * ... | semmle.label | * ... | | bal.cpp:430:7:430:12 | access to array | semmle.label | access to array | | bal.cpp:434:18:434:25 | call to source | semmle.label | call to source | -| bal.cpp:437:20:437:39 | encodeAny output argument | semmle.label | encodeAny output argument | -| bal.cpp:437:42:437:44 | *obj | semmle.label | *obj | +| bal.cpp:437:28:437:47 | encodeAnyToStream output argument | semmle.label | encodeAnyToStream output argument | +| bal.cpp:437:50:437:52 | *obj | semmle.label | *obj | | bal.cpp:438:7:438:12 | access to array | semmle.label | access to array | -| bal.cpp:442:18:442:25 | call to source | semmle.label | call to source | -| bal.cpp:445:37:445:64 | *call to encodeAny | semmle.label | *call to encodeAny | -| bal.cpp:445:37:445:64 | *call to encodeAny | semmle.label | *call to encodeAny | -| bal.cpp:445:38:445:57 | encodeAny output argument | semmle.label | encodeAny output argument | -| bal.cpp:445:60:445:62 | *obj | semmle.label | *obj | -| bal.cpp:446:7:446:17 | * ... | semmle.label | * ... | +| 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: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:18:451:25 | call to source | semmle.label | call to source | -| bal.cpp:454:28:454:47 | encodeAnyToStream output argument | semmle.label | encodeAnyToStream output argument | -| bal.cpp:454:50:454:52 | *obj | semmle.label | *obj | -| bal.cpp:455:7:455:12 | access to array | semmle.label | access to array | -| bal.cpp:459:19:459:26 | call to source | semmle.label | call to source | -| bal.cpp:460:41:460:86 | *call to data | semmle.label | *call to data | -| bal.cpp:463:20:463:40 | encodeAny output argument | semmle.label | encodeAny output argument | -| bal.cpp:463:43:463:46 | ** ... | semmle.label | ** ... | -| bal.cpp:464:7:464:12 | access to array | semmle.label | access to array | -| bal.cpp:468:19:468:26 | call to source | semmle.label | call to source | -| bal.cpp:469:41:469:86 | *call to data | semmle.label | *call to data | -| bal.cpp:472:20:472:39 | encodeAny output argument | semmle.label | encodeAny output argument | -| bal.cpp:472:42:472:45 | ** ... | semmle.label | ** ... | -| bal.cpp:473:7:473:12 | access to array | semmle.label | access to array | -| bal.cpp:477:19:477:26 | call to source | semmle.label | call to source | -| bal.cpp:478:41:478:86 | *call to data | semmle.label | *call to data | -| bal.cpp:481:37:481:65 | *call to encodeAny | semmle.label | *call to encodeAny | -| bal.cpp:481:37:481:65 | *call to encodeAny | semmle.label | *call to encodeAny | -| bal.cpp:481:38:481:57 | encodeAny output argument | semmle.label | encodeAny output argument | -| bal.cpp:481:60:481:63 | ** ... | semmle.label | ** ... | -| bal.cpp:482:7:482:17 | * ... | semmle.label | * ... | -| bal.cpp:483:7:483: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: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: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 | +| bal.cpp:464:60:464:63 | ** ... | semmle.label | ** ... | +| bal.cpp:465:7:465:17 | * ... | semmle.label | * ... | +| 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:49:39:52 | *call to data | semmle.label | *call to data | 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 51a8c754d408..2f9c6d74208d 100644 --- a/cpp/ql/test/library-tests/dataflow/external-models/steps.expected +++ b/cpp/ql/test/library-tests/dataflow/external-models/steps.expected @@ -68,61 +68,61 @@ | 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 | -| bal.cpp:149:17:149:18 | *sb | bal.cpp:149:21:149:24 | decode output argument | -| bal.cpp:158:17:158:19 | ** ... | bal.cpp:158:22:158:25 | decode output argument | -| bal.cpp:167:20:167:21 | *sb | bal.cpp:167:24:167:27 | decodeAny output argument | -| bal.cpp:176:40:176:42 | *obj | bal.cpp:176:17:176:37 | encode output argument | -| bal.cpp:184:43:184:45 | *obj | bal.cpp:184:20:184:40 | encodeAny output argument | -| bal.cpp:197:17:197:18 | *sb | bal.cpp:197:21:197:24 | decode output argument | -| bal.cpp:207:17:207:19 | ** ... | bal.cpp:207:22:207:25 | decode output argument | -| bal.cpp:216:20:216:21 | *sb | bal.cpp:216:24:216:27 | decodeAny output argument | -| bal.cpp:225:40:225:42 | *obj | bal.cpp:225:17:225:37 | encode output argument | -| bal.cpp:233:43:233:45 | *obj | bal.cpp:233:20:233:40 | encodeAny output argument | -| bal.cpp:243:17:243:18 | *sb | bal.cpp:243:21:243:24 | decode output argument | -| bal.cpp:246:40:246:42 | *rec | bal.cpp:246:17:246:37 | encode output argument | -| bal.cpp:255:17:255:18 | *sb | bal.cpp:255:21:255:24 | decode output argument | -| bal.cpp:266:17:266:19 | ** ... | bal.cpp:266:16:266:27 | *call to decode | -| bal.cpp:266:17:266:19 | ** ... | bal.cpp:266:22:266:25 | decode output argument | -| bal.cpp:275:35:275:37 | ** ... | bal.cpp:275:34:275:52 | *call to decode | -| bal.cpp:275:35:275:37 | ** ... | bal.cpp:275:40:275:43 | decode output argument | -| bal.cpp:285:17:285:18 | *sb | bal.cpp:285:21:285:24 | decode output argument | -| bal.cpp:293:22:293:25 | *call to data | bal.cpp:293:43:293:46 | decode output argument | -| bal.cpp:322:20:322:22 | ** ... | bal.cpp:322:19:322:30 | *call to decodeAny | -| bal.cpp:322:20:322:22 | ** ... | bal.cpp:322:25:322:28 | decodeAny output argument | -| bal.cpp:331:38:331:40 | ** ... | bal.cpp:331:37:331:48 | *call to decodeAny | -| bal.cpp:331:38:331:40 | ** ... | bal.cpp:331:43:331:46 | decodeAny output argument | -| bal.cpp:341:20:341:21 | *sb | bal.cpp:341:24:341:27 | decodeAny output argument | -| bal.cpp:350:20:350:22 | ** ... | bal.cpp:350:19:350:30 | *call to decodeAny | -| bal.cpp:350:20:350:22 | ** ... | bal.cpp:350:25:350:28 | decodeAny output argument | -| bal.cpp:359:38:359:40 | ** ... | bal.cpp:359:37:359:48 | *call to decodeAny | -| bal.cpp:359:38:359:40 | ** ... | bal.cpp:359:43:359:46 | decodeAny output argument | -| bal.cpp:369:20:369:21 | *sb | bal.cpp:369:24:369:27 | decodeAny output argument | -| bal.cpp:377:40:377:42 | *obj | bal.cpp:377:17:377:37 | encode output argument | -| bal.cpp:385:17:385:36 | ** ... | bal.cpp:385:16:385:43 | *call to encode | -| bal.cpp:385:39:385:41 | *obj | bal.cpp:385:16:385:43 | *call to encode | -| bal.cpp:385:39:385:41 | *obj | bal.cpp:385:17:385:36 | encode output argument | -| bal.cpp:393:35:393:54 | ** ... | bal.cpp:393:34:393:61 | *call to encode | -| bal.cpp:393:57:393:59 | *obj | bal.cpp:393:34:393:61 | *call to encode | -| bal.cpp:393:57:393:59 | *obj | bal.cpp:393:35:393:54 | encode output argument | -| bal.cpp:403:35:403:37 | ** ... | bal.cpp:403:34:403:44 | *call to encode | -| bal.cpp:403:40:403:42 | *obj | bal.cpp:403:34:403:44 | *call to encode | -| bal.cpp:403:40:403:42 | *obj | bal.cpp:403:35:403:37 | encode output argument | -| bal.cpp:411:47:411:49 | *obj | bal.cpp:411:25:411:44 | encodeToStream output argument | -| bal.cpp:429:43:429:45 | *obj | bal.cpp:429:20:429:40 | encodeAny output argument | -| bal.cpp:437:20:437:39 | ** ... | bal.cpp:437:19:437:46 | *call to encodeAny | -| bal.cpp:437:42:437:44 | *obj | bal.cpp:437:19:437:46 | *call to encodeAny | -| bal.cpp:437:42:437:44 | *obj | bal.cpp:437:20:437:39 | encodeAny output argument | -| bal.cpp:445:38:445:57 | ** ... | bal.cpp:445:37:445:64 | *call to encodeAny | -| bal.cpp:445:60:445:62 | *obj | bal.cpp:445:37:445:64 | *call to encodeAny | -| bal.cpp:445:60:445:62 | *obj | bal.cpp:445:38:445:57 | encodeAny output argument | -| bal.cpp:454:50:454:52 | *obj | bal.cpp:454:28:454:47 | encodeAnyToStream output argument | -| bal.cpp:463:43:463:46 | ** ... | bal.cpp:463:20:463:40 | encodeAny output argument | -| bal.cpp:472:20:472:39 | ** ... | bal.cpp:472:19:472:47 | *call to encodeAny | -| bal.cpp:472:42:472:45 | ** ... | bal.cpp:472:19:472:47 | *call to encodeAny | -| bal.cpp:472:42:472:45 | ** ... | bal.cpp:472:20:472:39 | encodeAny output argument | -| bal.cpp:481:38:481:57 | ** ... | bal.cpp:481:37:481:65 | *call to encodeAny | -| bal.cpp:481:60:481:63 | ** ... | bal.cpp:481:37:481:65 | *call to encodeAny | -| bal.cpp:481:60:481:63 | ** ... | bal.cpp:481:38:481:57 | encodeAny output argument | +| 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 | +| bal.cpp:159:40:159:42 | *obj | bal.cpp:159:17:159:37 | encode output argument | +| bal.cpp:167:43:167:45 | *obj | bal.cpp:167:20:167:40 | encodeAny output argument | +| bal.cpp:180:17:180:18 | *sb | bal.cpp:180:21:180:24 | decode output argument | +| bal.cpp:190:17:190:19 | ** ... | bal.cpp:190:22:190:25 | decode output argument | +| bal.cpp:199:20:199:21 | *sb | bal.cpp:199:24:199:27 | decodeAny output argument | +| bal.cpp:208:40:208:42 | *obj | bal.cpp:208:17:208:37 | encode output argument | +| bal.cpp:216:43:216:45 | *obj | bal.cpp:216:20:216:40 | encodeAny output argument | +| bal.cpp:226:17:226:18 | *sb | bal.cpp:226:21:226:24 | decode output argument | +| bal.cpp:229:40:229:42 | *rec | bal.cpp:229:17:229:37 | encode output argument | +| bal.cpp:238:17:238:18 | *sb | bal.cpp:238:21:238:24 | decode output argument | +| bal.cpp:249:17:249:19 | ** ... | bal.cpp:249:16:249:27 | *call to decode | +| bal.cpp:249:17:249:19 | ** ... | bal.cpp:249:22:249:25 | decode output argument | +| bal.cpp:258:35:258:37 | ** ... | bal.cpp:258:34:258:52 | *call to decode | +| bal.cpp:258:35:258:37 | ** ... | bal.cpp:258:40:258:43 | decode output argument | +| bal.cpp:268:17:268:18 | *sb | bal.cpp:268:21:268:24 | decode output argument | +| bal.cpp:276:22:276:25 | *call to data | bal.cpp:276:43:276:46 | decode output argument | +| bal.cpp:305:20:305:22 | ** ... | bal.cpp:305:19:305:30 | *call to decodeAny | +| bal.cpp:305:20:305:22 | ** ... | bal.cpp:305:25:305:28 | decodeAny output argument | +| bal.cpp:314:38:314:40 | ** ... | bal.cpp:314:37:314:48 | *call to decodeAny | +| bal.cpp:314:38:314:40 | ** ... | bal.cpp:314:43:314:46 | decodeAny output argument | +| bal.cpp:324:20:324:21 | *sb | bal.cpp:324:24:324:27 | decodeAny output argument | +| bal.cpp:333:20:333:22 | ** ... | bal.cpp:333:19:333:30 | *call to decodeAny | +| bal.cpp:333:20:333:22 | ** ... | bal.cpp:333:25:333:28 | decodeAny output argument | +| bal.cpp:342:38:342:40 | ** ... | bal.cpp:342:37:342:48 | *call to decodeAny | +| bal.cpp:342:38:342:40 | ** ... | bal.cpp:342:43:342:46 | decodeAny output argument | +| bal.cpp:352:20:352:21 | *sb | bal.cpp:352:24:352:27 | decodeAny output argument | +| bal.cpp:360:40:360:42 | *obj | bal.cpp:360:17:360:37 | encode output argument | +| bal.cpp:368:17:368:36 | ** ... | bal.cpp:368:16:368:43 | *call to encode | +| bal.cpp:368:39:368:41 | *obj | bal.cpp:368:16:368:43 | *call to encode | +| bal.cpp:368:39:368:41 | *obj | bal.cpp:368:17:368:36 | encode output argument | +| bal.cpp:376:35:376:54 | ** ... | bal.cpp:376:34:376:61 | *call to encode | +| bal.cpp:376:57:376:59 | *obj | bal.cpp:376:34:376:61 | *call to encode | +| bal.cpp:376:57:376:59 | *obj | bal.cpp:376:35:376:54 | encode output argument | +| bal.cpp:386:35:386:37 | ** ... | bal.cpp:386:34:386:44 | *call to encode | +| bal.cpp:386:40:386:42 | *obj | bal.cpp:386:34:386:44 | *call to encode | +| bal.cpp:386:40:386:42 | *obj | bal.cpp:386:35:386:37 | encode output argument | +| bal.cpp:394:47:394:49 | *obj | bal.cpp:394:25:394:44 | encodeToStream output argument | +| bal.cpp:412:43:412:45 | *obj | bal.cpp:412:20:412:40 | encodeAny output argument | +| bal.cpp:420:20:420:39 | ** ... | bal.cpp:420:19:420:46 | *call to encodeAny | +| bal.cpp:420:42:420:44 | *obj | bal.cpp:420:19:420:46 | *call to encodeAny | +| bal.cpp:420:42:420:44 | *obj | bal.cpp:420:20:420:39 | encodeAny output argument | +| bal.cpp:428:38:428:57 | ** ... | bal.cpp:428:37:428:64 | *call to encodeAny | +| bal.cpp:428:60:428:62 | *obj | bal.cpp:428:37:428:64 | *call to encodeAny | +| bal.cpp:428:60:428:62 | *obj | bal.cpp:428:38:428:57 | encodeAny output argument | +| bal.cpp:437:50:437:52 | *obj | bal.cpp:437:28:437:47 | encodeAnyToStream output argument | +| bal.cpp:446:43:446:46 | ** ... | bal.cpp:446:20:446:40 | encodeAny output argument | +| bal.cpp:455:20:455:39 | ** ... | bal.cpp:455:19:455:47 | *call to encodeAny | +| bal.cpp:455:42:455:45 | ** ... | bal.cpp:455:19:455:47 | *call to encodeAny | +| bal.cpp:455:42:455:45 | ** ... | bal.cpp:455:20:455:39 | encodeAny output argument | +| bal.cpp:464:38:464:57 | ** ... | bal.cpp:464:37:464:65 | *call to encodeAny | +| bal.cpp:464:60:464:63 | ** ... | bal.cpp:464:37:464:65 | *call to encodeAny | +| bal.cpp:464:60:464:63 | ** ... | bal.cpp:464:38:464:57 | encodeAny output argument | | 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 |