Fuzz introspector: cxa_demangle_fuzzer
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
32 34 3 :

['(anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::look(unsigned int) const', '(anonymous namespace)::itanium_demangle::Node* (anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::make<(anonymous namespace)::itanium_demangle::SpecialName, char const (&) [18], (anonymous namespace)::itanium_demangle::Node*&>(char const (&) [18], (anonymous namespace)::itanium_demangle::Node*&)', '(anonymous namespace)::itanium_demangle::Node* (anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::make<(anonymous namespace)::itanium_demangle::SpecialName, char const (&) [22], (anonymous namespace)::itanium_demangle::Node*&>(char const (&) [22], (anonymous namespace)::itanium_demangle::Node*&)']

54 251 (anonymousnamespace)::itanium_demangle::AbstractManglingParser<(anonymousnamespace)::itanium_demangle::ManglingParser<(anonymousnamespace)::DefaultAllocator>,(anonymousnamespace)::DefaultAllocator>::parseSpecialName() call site: 00000 /src/llvm-project/libcxxabi/src/demangle/ItaniumDemangle.h:4891
32 32 2 :

['(anonymous namespace)::itanium_demangle::Node* (anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::make<(anonymous namespace)::itanium_demangle::NodeArrayNode, (anonymous namespace)::itanium_demangle::NodeArray>((anonymous namespace)::itanium_demangle::NodeArray&&)', '(anonymous namespace)::itanium_demangle::Node* (anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::make<(anonymous namespace)::itanium_demangle::EnclosingExpr, char const (&) [11], (anonymous namespace)::itanium_demangle::Node*&>(char const (&) [11], (anonymous namespace)::itanium_demangle::Node*&)']

32 100 (anonymousnamespace)::itanium_demangle::AbstractManglingParser<(anonymousnamespace)::itanium_demangle::ManglingParser<(anonymousnamespace)::DefaultAllocator>,(anonymousnamespace)::DefaultAllocator>::parseExpr() call site: 00000 /src/llvm-project/libcxxabi/src/demangle/ItaniumDemangle.h:4771
16 234 8 :

['(anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::consumeIf(char)', '(anonymous namespace)::itanium_demangle::Node* (anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::make<(anonymous namespace)::itanium_demangle::SpecialName, char const (&) [34], (anonymous namespace)::itanium_demangle::Node*&>(char const (&) [34], (anonymous namespace)::itanium_demangle::Node*&)', 'std::__1::basic_string_view >::empty() const', 'std::__1::basic_string_view >::basic_string_view(char const*)', '(anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::look(unsigned int) const', '(anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::parseEncoding()', '(anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::parseNumber(bool)', '(anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::consumeIf(std::__1::basic_string_view >)']

16 238 (anonymousnamespace)::itanium_demangle::AbstractManglingParser<(anonymousnamespace)::itanium_demangle::ManglingParser<(anonymousnamespace)::DefaultAllocator>,(anonymousnamespace)::DefaultAllocator>::parse() call site: 00000 /src/llvm-project/libcxxabi/src/demangle/ItaniumDemangle.h:5488
16 74 2 :

['(anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::parseFunctionParam()', '(anonymous namespace)::itanium_demangle::Node* (anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::make<(anonymous namespace)::itanium_demangle::EnclosingExpr, char const (&) [11], (anonymous namespace)::itanium_demangle::Node*&>(char const (&) [11], (anonymous namespace)::itanium_demangle::Node*&)']

16 76 (anonymousnamespace)::itanium_demangle::AbstractManglingParser<(anonymousnamespace)::itanium_demangle::ManglingParser<(anonymousnamespace)::DefaultAllocator>,(anonymousnamespace)::DefaultAllocator>::parseExpr() call site: 00000 /src/llvm-project/libcxxabi/src/demangle/ItaniumDemangle.h:4760
16 61 2 :

['(anonymous namespace)::itanium_demangle::Node* (anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::make<(anonymous namespace)::itanium_demangle::EnableIfAttr, (anonymous namespace)::itanium_demangle::NodeArray>((anonymous namespace)::itanium_demangle::NodeArray&&)', '(anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::parseTemplateArg()']

16 634 (anonymousnamespace)::itanium_demangle::AbstractManglingParser<(anonymousnamespace)::itanium_demangle::ManglingParser<(anonymousnamespace)::DefaultAllocator>,(anonymousnamespace)::DefaultAllocator>::parseEncoding() call site: 00000 /src/llvm-project/libcxxabi/src/demangle/ItaniumDemangle.h:5075
16 16 1 :

['(anonymous namespace)::itanium_demangle::Node* (anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::make<(anonymous namespace)::itanium_demangle::SpecialName, char const (&) [27], (anonymous namespace)::itanium_demangle::Node*&>(char const (&) [27], (anonymous namespace)::itanium_demangle::Node*&)']

60 255 (anonymousnamespace)::itanium_demangle::AbstractManglingParser<(anonymousnamespace)::itanium_demangle::ManglingParser<(anonymousnamespace)::DefaultAllocator>,(anonymousnamespace)::DefaultAllocator>::parseSpecialName() call site: 00000 /src/llvm-project/libcxxabi/src/demangle/ItaniumDemangle.h:4891
16 16 1 :

['(anonymous namespace)::itanium_demangle::Node* (anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::make<(anonymous namespace)::itanium_demangle::SpecialName, char const (&) [12], (anonymous namespace)::itanium_demangle::Node*&>(char const (&) [12], (anonymous namespace)::itanium_demangle::Node*&)']

16 210 (anonymousnamespace)::itanium_demangle::AbstractManglingParser<(anonymousnamespace)::itanium_demangle::ManglingParser<(anonymousnamespace)::DefaultAllocator>,(anonymousnamespace)::DefaultAllocator>::parseSpecialName() call site: 00000 /src/llvm-project/libcxxabi/src/demangle/ItaniumDemangle.h:4891
16 16 1 :

['(anonymous namespace)::itanium_demangle::Node* (anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::make<(anonymous namespace)::itanium_demangle::SpecialName, char const (&) [9], (anonymous namespace)::itanium_demangle::Node*&>(char const (&) [9], (anonymous namespace)::itanium_demangle::Node*&)']

16 210 (anonymousnamespace)::itanium_demangle::AbstractManglingParser<(anonymousnamespace)::itanium_demangle::ManglingParser<(anonymousnamespace)::DefaultAllocator>,(anonymousnamespace)::DefaultAllocator>::parseSpecialName() call site: 00000 /src/llvm-project/libcxxabi/src/demangle/ItaniumDemangle.h:4891
16 16 1 :

['(anonymous namespace)::itanium_demangle::Node* (anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::make<(anonymous namespace)::itanium_demangle::SpecialName, char const (&) [14], (anonymous namespace)::itanium_demangle::Node*&>(char const (&) [14], (anonymous namespace)::itanium_demangle::Node*&)']

16 210 (anonymousnamespace)::itanium_demangle::AbstractManglingParser<(anonymousnamespace)::itanium_demangle::ManglingParser<(anonymousnamespace)::DefaultAllocator>,(anonymousnamespace)::DefaultAllocator>::parseSpecialName() call site: 00000 /src/llvm-project/libcxxabi/src/demangle/ItaniumDemangle.h:4891
16 16 1 :

['(anonymous namespace)::itanium_demangle::Node* (anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::make<(anonymous namespace)::itanium_demangle::SpecialName, char const (&) [19], (anonymous namespace)::itanium_demangle::Node*&>(char const (&) [19], (anonymous namespace)::itanium_demangle::Node*&)']

16 210 (anonymousnamespace)::itanium_demangle::AbstractManglingParser<(anonymousnamespace)::itanium_demangle::ManglingParser<(anonymousnamespace)::DefaultAllocator>,(anonymousnamespace)::DefaultAllocator>::parseSpecialName() call site: 00000 /src/llvm-project/libcxxabi/src/demangle/ItaniumDemangle.h:4891
16 16 1 :

['(anonymous namespace)::itanium_demangle::Node* (anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::make<(anonymous namespace)::itanium_demangle::SpecialName, char const (&) [34], (anonymous namespace)::itanium_demangle::Node*&>(char const (&) [34], (anonymous namespace)::itanium_demangle::Node*&)']

16 53 (anonymousnamespace)::itanium_demangle::AbstractManglingParser<(anonymousnamespace)::itanium_demangle::ManglingParser<(anonymousnamespace)::DefaultAllocator>,(anonymousnamespace)::DefaultAllocator>::parseSpecialName() call site: 00000 /src/llvm-project/libcxxabi/src/demangle/ItaniumDemangle.h:4891
16 16 1 :

['(anonymous namespace)::itanium_demangle::Node* (anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::make<(anonymous namespace)::itanium_demangle::SpecialName, char const (&) [41], (anonymous namespace)::itanium_demangle::Node*&>(char const (&) [41], (anonymous namespace)::itanium_demangle::Node*&)']

16 53 (anonymousnamespace)::itanium_demangle::AbstractManglingParser<(anonymousnamespace)::itanium_demangle::ManglingParser<(anonymousnamespace)::DefaultAllocator>,(anonymousnamespace)::DefaultAllocator>::parseSpecialName() call site: 00000 /src/llvm-project/libcxxabi/src/demangle/ItaniumDemangle.h:4891

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 __cxa_demangle [function] [call site] 00001
2 strlen [call site] 00002
2 (anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>::AbstractManglingParser(char const*, char const) [function] [call site] 00003
3 (anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::AbstractManglingParser(char const*, char const*) [function] [call site] 00004
4 (anonymous namespace)::itanium_demangle::PODSmallVector<(anonymous namespace)::itanium_demangle::Node*, 32ul>::PODSmallVector() [function] [call site] 00005
4 (anonymous namespace)::DefaultAllocator::DefaultAllocator() [function] [call site] 00006
5 (anonymous namespace)::BumpPointerAllocator::BumpPointerAllocator() [function] [call site] 00007
4 (anonymous namespace)::itanium_demangle::PODSmallVector<(anonymous namespace)::itanium_demangle::ForwardTemplateReference*, 4ul>::~PODSmallVector() [function] [call site] 00008
5 (anonymous namespace)::itanium_demangle::PODSmallVector<(anonymous namespace)::itanium_demangle::ForwardTemplateReference*, 4ul>::isInline() const [function] [call site] 00009
5 __clang_call_terminate [call site] 00010
6 __cxa_begin_catch [call site] 00011
2 (anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::parse() [function] [call site] 00012
3 (anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::consumeIf(std::__1::basic_string_view >) [function] [call site] 00013
4 (anonymous namespace)::itanium_demangle::starts_with(std::__1::basic_string_view >, std::__1::basic_string_view >) [function] [call site] 00014
3 (anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::getDerived() [function] [call site] 00015
3 (anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::look(unsigned int) const [function] [call site] 00016
3 (anonymous namespace)::itanium_demangle::Node* (anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::make<(anonymous namespace)::itanium_demangle::DotSuffix, (anonymous namespace)::itanium_demangle::Node*&, std::__1::basic_string_view > >((anonymous namespace)::itanium_demangle::Node*&, std::__1::basic_string_view >&&) [function] [call site] 00017
4 (anonymous namespace)::itanium_demangle::DotSuffix* (anonymous namespace)::DefaultAllocator::makeNode<(anonymous namespace)::itanium_demangle::DotSuffix, (anonymous namespace)::itanium_demangle::Node*&, std::__1::basic_string_view > >((anonymous namespace)::itanium_demangle::Node*&, std::__1::basic_string_view >&&) [function] [call site] 00018
5 (anonymous namespace)::BumpPointerAllocator::allocate(unsigned long) [function] [call site] 00019
6 (anonymous namespace)::BumpPointerAllocator::allocateMassive(unsigned long) [function] [call site] 00020
6 (anonymous namespace)::BumpPointerAllocator::grow() [function] [call site] 00021
5 (anonymous namespace)::itanium_demangle::DotSuffix::DotSuffix((anonymous namespace)::itanium_demangle::Node const*, std::__1::basic_string_view >) [function] [call site] 00022
6 (anonymous namespace)::itanium_demangle::Node::Node((anonymous namespace)::itanium_demangle::Node::Kind, (anonymous namespace)::itanium_demangle::Node::Prec, (anonymous namespace)::itanium_demangle::Node::Cache, (anonymous namespace)::itanium_demangle::Node::Cache, (anonymous namespace)::itanium_demangle::Node::Cache) [function] [call site] 00023
3 (anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::numLeft() const [function] [call site] 00024
3 (anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::consumeIf(std::__1::basic_string_view >) [function] [call site] 00025
3 (anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::getDerived() [function] [call site] 00026
3 (anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::consumeIf(std::__1::basic_string_view >) [function] [call site] 00027
3 (anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::consumeIf(char) [function] [call site] 00028
3 (anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::parseNumber(bool) [function] [call site] 00029
4 (anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::consumeIf(char) [function] [call site] 00030
4 (anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::numLeft() const [function] [call site] 00031
4 isdigit [call site] 00032
4 (anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::numLeft() const [function] [call site] 00033
4 isdigit [call site] 00034
3 (anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::look(unsigned int) const [function] [call site] 00035
3 (anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::numLeft() const [function] [call site] 00036
3 (anonymous namespace)::itanium_demangle::Node* (anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::make<(anonymous namespace)::itanium_demangle::SpecialName, char const (&) [34], (anonymous namespace)::itanium_demangle::Node*&>(char const (&) [34], (anonymous namespace)::itanium_demangle::Node*&) [function] [call site] 00037
3 (anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::getDerived() [function] [call site] 00038
3 (anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::numLeft() const [function] [call site] 00039
2 (anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>::~ManglingParser() [function] [call site] 00040
3 (anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::~AbstractManglingParser() [function] [call site] 00041
4 (anonymous namespace)::DefaultAllocator::~DefaultAllocator() [function] [call site] 00042
4 (anonymous namespace)::itanium_demangle::PODSmallVector<(anonymous namespace)::itanium_demangle::ForwardTemplateReference*, 4ul>::~PODSmallVector() [function] [call site] 00043
2 (anonymous namespace)::itanium_demangle::OutputBuffer::OutputBuffer(char*, unsigned long*) [function] [call site] 00044
3 (anonymous namespace)::itanium_demangle::OutputBuffer::OutputBuffer(char*, unsigned long) [function] [call site] 00045
2 (anonymous namespace)::itanium_demangle::PODSmallVector<(anonymous namespace)::itanium_demangle::ForwardTemplateReference*, 4ul>::empty() const [function] [call site] 00046
2 __assert_fail [call site] 00047
2 (anonymous namespace)::itanium_demangle::Node::print((anonymous namespace)::itanium_demangle::OutputBuffer&) const [function] [call site] 00048
2 (anonymous namespace)::itanium_demangle::OutputBuffer::operator+=(char) [function] [call site] 00049
3 (anonymous namespace)::itanium_demangle::OutputBuffer::grow(unsigned long) [function] [call site] 00050
4 realloc [call site] 00051
2 (anonymous namespace)::itanium_demangle::OutputBuffer::getCurrentPosition() const [function] [call site] 00052
2 (anonymous namespace)::itanium_demangle::OutputBuffer::getBuffer() [function] [call site] 00053