Created attachment 1471161 [details] poc file - mem-leak.pdf Description of problem: There are lots of memory leak in podofo. $ podofopdfinfo mem-leak.pdf Error: An error 16 ocurred during uncompressing the pdf file. PoDoFo encountered an error. Error: 16 ePdfError_NoObject Error Description: A object was expected but not found. Callstack: #0 Error Source: /home/ubuntu/podofo-0.9.6/src/doc/PdfMemDocument.cpp:198 Information: Catalog object not found! ================================================================= ==2246==ERROR: LeakSanitizer: detected memory leaks Indirect leak of 201326568 byte(s) in 1 object(s) allocated from: #0 0x7fb994083458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458) #1 0x55badfc99d99 in __gnu_cxx::new_allocator<PoDoFo::PdfParser::TXRefEntry>::allocate(unsigned long, void const*) (/usr/local/bin/podofopdfinfo+0x284d99) #2 0x55badfc99729 in std::allocator_traits<std::allocator<PoDoFo::PdfParser::TXRefEntry> >::allocate(std::allocator<PoDoFo::PdfParser::TXRefEntry>&, unsigned long) (/usr/local/bin/podofopdfinfo+0x284729) #3 0x55badfc98917 in std::_Vector_base<PoDoFo::PdfParser::TXRefEntry, std::allocator<PoDoFo::PdfParser::TXRefEntry> >::_M_allocate(unsigned long) (/usr/local/bin/podofopdfinfo+0x283917) #4 0x55badfc95809 in std::vector<PoDoFo::PdfParser::TXRefEntry, std::allocator<PoDoFo::PdfParser::TXRefEntry> >::_M_default_append(unsigned long) (/usr/local/bin/podofopdfinfo+0x280809) #5 0x55badfc93c22 in std::vector<PoDoFo::PdfParser::TXRefEntry, std::allocator<PoDoFo::PdfParser::TXRefEntry> >::resize(unsigned long) /usr/include/c++/7/bits/stl_vector.h:692 #6 0x55badfc91b09 in PoDoFo::PdfParser::ResizeOffsets(long) /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:1462 #7 0x55badfc8ab62 in PoDoFo::PdfParser::ReadXRefSubsection(long&, long&) /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:841 #8 0x55badfc89f53 in PoDoFo::PdfParser::ReadXRefContents(long, bool) /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:770 #9 0x55badfc84fe2 in PoDoFo::PdfParser::ReadDocumentStructure() /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:373 #10 0x55badfc844db in PoDoFo::PdfParser::ParseFile(PoDoFo::PdfRefCountedInputDevice const&, bool) /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:259 #11 0x55badfc83ed6 in PoDoFo::PdfParser::ParseFile(char const*, bool) /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:206 #12 0x55badfc09007 in PoDoFo::PdfMemDocument::Load(char const*, bool) /home/ubuntu/podofo-0.9.6/src/doc/PdfMemDocument.cpp:256 #13 0x55badfc07a87 in PoDoFo::PdfMemDocument::PdfMemDocument(char const*, bool) /home/ubuntu/podofo-0.9.6/src/doc/PdfMemDocument.cpp:102 #14 0x55badfb48757 in PdfInfo::PdfInfo(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/ubuntu/podofo-0.9.6/tools/podofopdfinfo/pdfinfo.cpp:25 #15 0x55badfb52017 in main /home/ubuntu/podofo-0.9.6/tools/podofopdfinfo/podofopdfinfo.cpp:110 #16 0x7fb9926f2b96 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b96) Indirect leak of 4096 byte(s) in 1 object(s) allocated from: #0 0x7fb994081d38 in __interceptor_calloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xded38) #1 0x55badfc81915 in PoDoFo::podofo_calloc(unsigned long, unsigned long) /home/ubuntu/podofo-0.9.6/src/base/PdfMemoryManagement.cpp:136 #2 0x55badfb7a2b1 in PoDoFo::PdfRefCountedBuffer::ReallyResize(unsigned long) /home/ubuntu/podofo-0.9.6/src/base/PdfRefCountedBuffer.cpp:166 #3 0x55badfb75dc3 in PoDoFo::PdfRefCountedBuffer::Resize(unsigned long) /home/ubuntu/podofo-0.9.6/podofo/base/../../src/base/PdfRefCountedBuffer.h:307 #4 0x55badfb875fc in PoDoFo::PdfRefCountedBuffer::PdfRefCountedBuffer(unsigned long) /home/ubuntu/podofo-0.9.6/src/base/PdfRefCountedBuffer.h:227 #5 0x55badfb88cee in PoDoFo::PdfTokenizer::PdfTokenizer() /home/ubuntu/podofo-0.9.6/src/base/PdfTokenizer.cpp:186 #6 0x55badfc82f44 in PoDoFo::PdfParser::PdfParser(PoDoFo::PdfVecObjects*) /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:118 #7 0x55badfc08faa in PoDoFo::PdfMemDocument::Load(char const*, bool) /home/ubuntu/podofo-0.9.6/src/doc/PdfMemDocument.cpp:255 #8 0x55badfc07a87 in PoDoFo::PdfMemDocument::PdfMemDocument(char const*, bool) /home/ubuntu/podofo-0.9.6/src/doc/PdfMemDocument.cpp:102 #9 0x55badfb48757 in PdfInfo::PdfInfo(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/ubuntu/podofo-0.9.6/tools/podofopdfinfo/pdfinfo.cpp:25 #10 0x55badfb52017 in main /home/ubuntu/podofo-0.9.6/tools/podofopdfinfo/podofopdfinfo.cpp:110 #11 0x7fb9926f2b96 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b96) Indirect leak of 744 byte(s) in 1 object(s) allocated from: #0 0x7fb994083458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458) #1 0x55badfc08f9c in PoDoFo::PdfMemDocument::Load(char const*, bool) /home/ubuntu/podofo-0.9.6/src/doc/PdfMemDocument.cpp:255 #2 0x55badfc07a87 in PoDoFo::PdfMemDocument::PdfMemDocument(char const*, bool) /home/ubuntu/podofo-0.9.6/src/doc/PdfMemDocument.cpp:102 #3 0x55badfb48757 in PdfInfo::PdfInfo(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/ubuntu/podofo-0.9.6/tools/podofopdfinfo/pdfinfo.cpp:25 #4 0x55badfb52017 in main /home/ubuntu/podofo-0.9.6/tools/podofopdfinfo/podofopdfinfo.cpp:110 #5 0x7fb9926f2b96 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b96) Indirect leak of 608 byte(s) in 1 object(s) allocated from: #0 0x7fb994083458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458) #1 0x55badfc88c80 in PoDoFo::PdfParser::ReadTrailer() /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:638 #2 0x55badfc84c81 in PoDoFo::PdfParser::ReadDocumentStructure() /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:322 #3 0x55badfc844db in PoDoFo::PdfParser::ParseFile(PoDoFo::PdfRefCountedInputDevice const&, bool) /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:259 #4 0x55badfc83ed6 in PoDoFo::PdfParser::ParseFile(char const*, bool) /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:206 #5 0x55badfc09007 in PoDoFo::PdfMemDocument::Load(char const*, bool) /home/ubuntu/podofo-0.9.6/src/doc/PdfMemDocument.cpp:256 #6 0x55badfc07a87 in PoDoFo::PdfMemDocument::PdfMemDocument(char const*, bool) /home/ubuntu/podofo-0.9.6/src/doc/PdfMemDocument.cpp:102 #7 0x55badfb48757 in PdfInfo::PdfInfo(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/ubuntu/podofo-0.9.6/tools/podofopdfinfo/pdfinfo.cpp:25 #8 0x55badfb52017 in main /home/ubuntu/podofo-0.9.6/tools/podofopdfinfo/podofopdfinfo.cpp:110 #9 0x7fb9926f2b96 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b96) Indirect leak of 480 byte(s) in 1 object(s) allocated from: #0 0x7fb994083458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458) #1 0x55badfb93458 in __gnu_cxx::new_allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType> >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 #2 0x55badfb932a8 in std::allocator_traits<std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType> > >::allocate(std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType> >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 #3 0x55badfb92ca1 in std::_Deque_base<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType> > >::_M_allocate_node() /usr/include/c++/7/bits/stl_deque.h:602 #4 0x55badfb9273c in std::_Deque_base<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType> > >::_M_create_nodes(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType>**, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType>**) /usr/include/c++/7/bits/stl_deque.h:727 #5 0x55badfb90ead in std::_Deque_base<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType> > >::_M_initialize_map(unsigned long) /usr/include/c++/7/bits/stl_deque.h:701 #6 0x55badfb8f979 in std::_Deque_base<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType> > >::_Deque_base() /usr/include/c++/7/bits/stl_deque.h:492 #7 0x55badfb8f0e3 in std::deque<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType> > >::deque() /usr/include/c++/7/bits/stl_deque.h:888 #8 0x55badfb88f63 in PoDoFo::PdfTokenizer::PdfTokenizer(PoDoFo::PdfRefCountedInputDevice const&, PoDoFo::PdfRefCountedBuffer const&) /home/ubuntu/podofo-0.9.6/src/base/PdfTokenizer.cpp:198 #9 0x55badfc9a9ec in PoDoFo::PdfParserObject::PdfParserObject(PoDoFo::PdfVecObjects*, PoDoFo::PdfRefCountedInputDevice const&, PoDoFo::PdfRefCountedBuffer const&, long) /home/ubuntu/podofo-0.9.6/src/base/PdfParserObject.cpp:59 #10 0x55badfc88ce6 in PoDoFo::PdfParser::ReadTrailer() /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:638 #11 0x55badfc84c81 in PoDoFo::PdfParser::ReadDocumentStructure() /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:322 #12 0x55badfc844db in PoDoFo::PdfParser::ParseFile(PoDoFo::PdfRefCountedInputDevice const&, bool) /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:259 #13 0x55badfc83ed6 in PoDoFo::PdfParser::ParseFile(char const*, bool) /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:206 #14 0x55badfc09007 in PoDoFo::PdfMemDocument::Load(char const*, bool) /home/ubuntu/podofo-0.9.6/src/doc/PdfMemDocument.cpp:256 #15 0x55badfc07a87 in PoDoFo::PdfMemDocument::PdfMemDocument(char const*, bool) /home/ubuntu/podofo-0.9.6/src/doc/PdfMemDocument.cpp:102 #16 0x55badfb48757 in PdfInfo::PdfInfo(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/ubuntu/podofo-0.9.6/tools/podofopdfinfo/pdfinfo.cpp:25 #17 0x55badfb52017 in main /home/ubuntu/podofo-0.9.6/tools/podofopdfinfo/podofopdfinfo.cpp:110 #18 0x7fb9926f2b96 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b96) Indirect leak of 480 byte(s) in 1 object(s) allocated from: #0 0x7fb994083458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458) #1 0x55badfb93458 in __gnu_cxx::new_allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType> >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 #2 0x55badfb932a8 in std::allocator_traits<std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType> > >::allocate(std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType> >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 #3 0x55badfb92ca1 in std::_Deque_base<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType> > >::_M_allocate_node() /usr/include/c++/7/bits/stl_deque.h:602 #4 0x55badfb9273c in std::_Deque_base<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType> > >::_M_create_nodes(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType>**, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType>**) /usr/include/c++/7/bits/stl_deque.h:727 #5 0x55badfb90ead in std::_Deque_base<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType> > >::_M_initialize_map(unsigned long) /usr/include/c++/7/bits/stl_deque.h:701 #6 0x55badfb8f979 in std::_Deque_base<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType> > >::_Deque_base() /usr/include/c++/7/bits/stl_deque.h:492 #7 0x55badfb8f0e3 in std::deque<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType> > >::deque() /usr/include/c++/7/bits/stl_deque.h:888 #8 0x55badfb88cfe in PoDoFo::PdfTokenizer::PdfTokenizer() /home/ubuntu/podofo-0.9.6/src/base/PdfTokenizer.cpp:186 #9 0x55badfc82f44 in PoDoFo::PdfParser::PdfParser(PoDoFo::PdfVecObjects*) /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:118 #10 0x55badfc08faa in PoDoFo::PdfMemDocument::Load(char const*, bool) /home/ubuntu/podofo-0.9.6/src/doc/PdfMemDocument.cpp:255 #11 0x55badfc07a87 in PoDoFo::PdfMemDocument::PdfMemDocument(char const*, bool) /home/ubuntu/podofo-0.9.6/src/doc/PdfMemDocument.cpp:102 #12 0x55badfb48757 in PdfInfo::PdfInfo(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/ubuntu/podofo-0.9.6/tools/podofopdfinfo/pdfinfo.cpp:25 #13 0x55badfb52017 in main /home/ubuntu/podofo-0.9.6/tools/podofopdfinfo/podofopdfinfo.cpp:110 #14 0x7fb9926f2b96 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b96) Indirect leak of 176 byte(s) in 2 object(s) allocated from: #0 0x7fb994083458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458) #1 0x55badfb5bcf4 in __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<PoDoFo::PdfName const, PoDoFo::PdfObject*> > >::allocate(unsigned long, void const*) (/usr/local/bin/podofopdfinfo+0x146cf4) #2 0x55badfb5bbd1 in std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<PoDoFo::PdfName const, PoDoFo::PdfObject*> > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<PoDoFo::PdfName const, PoDoFo::PdfObject*> > >&, unsigned long) (/usr/local/bin/podofopdfinfo+0x146bd1) #3 0x55badfb5abb0 in std::_Rb_tree<PoDoFo::PdfName, std::pair<PoDoFo::PdfName const, PoDoFo::PdfObject*>, std::_Select1st<std::pair<PoDoFo::PdfName const, PoDoFo::PdfObject*> >, std::less<PoDoFo::PdfName>, std::allocator<std::pair<PoDoFo::PdfName const, PoDoFo::PdfObject*> > >::_M_get_node() /usr/include/c++/7/bits/stl_tree.h:588 #4 0x55badfb58da8 in std::_Rb_tree_node<std::pair<PoDoFo::PdfName const, PoDoFo::PdfObject*> >* std::_Rb_tree<PoDoFo::PdfName, std::pair<PoDoFo::PdfName const, PoDoFo::PdfObject*>, std::_Select1st<std::pair<PoDoFo::PdfName const, PoDoFo::PdfObject*> >, std::less<PoDoFo::PdfName>, std::allocator<std::pair<PoDoFo::PdfName const, PoDoFo::PdfObject*> > >::_M_create_node<std::piecewise_construct_t const&, std::tuple<PoDoFo::PdfName const&>, std::tuple<> >(std::piecewise_construct_t const&, std::tuple<PoDoFo::PdfName const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:642 #5 0x55badfb5809f in std::_Rb_tree_iterator<std::pair<PoDoFo::PdfName const, PoDoFo::PdfObject*> > std::_Rb_tree<PoDoFo::PdfName, std::pair<PoDoFo::PdfName const, PoDoFo::PdfObject*>, std::_Select1st<std::pair<PoDoFo::PdfName const, PoDoFo::PdfObject*> >, std::less<PoDoFo::PdfName>, std::allocator<std::pair<PoDoFo::PdfName const, PoDoFo::PdfObject*> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<PoDoFo::PdfName const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<PoDoFo::PdfName const, PoDoFo::PdfObject*> >, std::piecewise_construct_t const&, std::tuple<PoDoFo::PdfName const&>&&, std::tuple<>&&) (/usr/local/bin/podofopdfinfo+0x14309f) #6 0x55badfb5796b in std::map<PoDoFo::PdfName, PoDoFo::PdfObject*, std::less<PoDoFo::PdfName>, std::allocator<std::pair<PoDoFo::PdfName const, PoDoFo::PdfObject*> > >::operator[](PoDoFo::PdfName const&) /usr/include/c++/7/bits/stl_map.h:493 #7 0x55badfb53f0f in PoDoFo::PdfDictionary::operator=(PoDoFo::PdfDictionary const&) /home/ubuntu/podofo-0.9.6/src/base/PdfDictionary.cpp:68 #8 0x55badfb53c0a in PoDoFo::PdfDictionary::PdfDictionary(PoDoFo::PdfDictionary const&) /home/ubuntu/podofo-0.9.6/src/base/PdfDictionary.cpp:49 #9 0x55badfb958b6 in PoDoFo::PdfVariant::operator=(PoDoFo::PdfVariant const&) /home/ubuntu/podofo-0.9.6/src/base/PdfVariant.cpp:367 #10 0x55badfb8c5ef in PoDoFo::PdfTokenizer::ReadDictionary(PoDoFo::PdfVariant&, PoDoFo::PdfEncrypt*) /home/ubuntu/podofo-0.9.6/src/base/PdfTokenizer.cpp:627 #11 0x55badfb8bb56 in PoDoFo::PdfTokenizer::ReadDataType(PoDoFo::EPdfDataType, PoDoFo::PdfVariant&, PoDoFo::PdfEncrypt*) /home/ubuntu/podofo-0.9.6/src/base/PdfTokenizer.cpp:560 #12 0x55badfb8a9fd in PoDoFo::PdfTokenizer::GetNextVariant(char const*, PoDoFo::EPdfTokenType, PoDoFo::PdfVariant&, PoDoFo::PdfEncrypt*) /home/ubuntu/podofo-0.9.6/src/base/PdfTokenizer.cpp:406 #13 0x55badfc9bdf7 in PoDoFo::PdfParserObject::ParseFileComplete(bool) /home/ubuntu/podofo-0.9.6/src/base/PdfParserObject.cpp:204 #14 0x55badfc9d1ea in PoDoFo::PdfParserObject::DelayedLoadImpl() /home/ubuntu/podofo-0.9.6/src/base/PdfParserObject.cpp:371 #15 0x55badfb566e4 in PoDoFo::PdfVariant::DelayedLoad() const /home/ubuntu/podofo-0.9.6/podofo/base/../../src/base/PdfVariant.h:558 #16 0x55badfc9b9b3 in PoDoFo::PdfParserObject::ParseFile(PoDoFo::PdfEncrypt*, bool) /home/ubuntu/podofo-0.9.6/src/base/PdfParserObject.cpp:154 #17 0x55badfc88d3e in PoDoFo::PdfParser::ReadTrailer() /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:641 #18 0x55badfc84c81 in PoDoFo::PdfParser::ReadDocumentStructure() /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:322 #19 0x55badfc844db in PoDoFo::PdfParser::ParseFile(PoDoFo::PdfRefCountedInputDevice const&, bool) /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:259 #20 0x55badfc83ed6 in PoDoFo::PdfParser::ParseFile(char const*, bool) /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:206 #21 0x55badfc09007 in PoDoFo::PdfMemDocument::Load(char const*, bool) /home/ubuntu/podofo-0.9.6/src/doc/PdfMemDocument.cpp:256 #22 0x55badfc07a87 in PoDoFo::PdfMemDocument::PdfMemDocument(char const*, bool) /home/ubuntu/podofo-0.9.6/src/doc/PdfMemDocument.cpp:102 #23 0x55badfb48757 in PdfInfo::PdfInfo(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/ubuntu/podofo-0.9.6/tools/podofopdfinfo/pdfinfo.cpp:25 #24 0x55badfb52017 in main /home/ubuntu/podofo-0.9.6/tools/podofopdfinfo/podofopdfinfo.cpp:110 #25 0x7fb9926f2b96 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b96) Indirect leak of 112 byte(s) in 2 object(s) allocated from: #0 0x7fb994083458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458) #1 0x55badfb53edc in PoDoFo::PdfDictionary::operator=(PoDoFo::PdfDictionary const&) /home/ubuntu/podofo-0.9.6/src/base/PdfDictionary.cpp:68 #2 0x55badfb53c0a in PoDoFo::PdfDictionary::PdfDictionary(PoDoFo::PdfDictionary const&) /home/ubuntu/podofo-0.9.6/src/base/PdfDictionary.cpp:49 #3 0x55badfb958b6 in PoDoFo::PdfVariant::operator=(PoDoFo::PdfVariant const&) /home/ubuntu/podofo-0.9.6/src/base/PdfVariant.cpp:367 #4 0x55badfb8c5ef in PoDoFo::PdfTokenizer::ReadDictionary(PoDoFo::PdfVariant&, PoDoFo::PdfEncrypt*) /home/ubuntu/podofo-0.9.6/src/base/PdfTokenizer.cpp:627 #5 0x55badfb8bb56 in PoDoFo::PdfTokenizer::ReadDataType(PoDoFo::EPdfDataType, PoDoFo::PdfVariant&, PoDoFo::PdfEncrypt*) /home/ubuntu/podofo-0.9.6/src/base/PdfTokenizer.cpp:560 #6 0x55badfb8a9fd in PoDoFo::PdfTokenizer::GetNextVariant(char const*, PoDoFo::EPdfTokenType, PoDoFo::PdfVariant&, PoDoFo::PdfEncrypt*) /home/ubuntu/podofo-0.9.6/src/base/PdfTokenizer.cpp:406 #7 0x55badfc9bdf7 in PoDoFo::PdfParserObject::ParseFileComplete(bool) /home/ubuntu/podofo-0.9.6/src/base/PdfParserObject.cpp:204 #8 0x55badfc9d1ea in PoDoFo::PdfParserObject::DelayedLoadImpl() /home/ubuntu/podofo-0.9.6/src/base/PdfParserObject.cpp:371 #9 0x55badfb566e4 in PoDoFo::PdfVariant::DelayedLoad() const /home/ubuntu/podofo-0.9.6/podofo/base/../../src/base/PdfVariant.h:558 #10 0x55badfc9b9b3 in PoDoFo::PdfParserObject::ParseFile(PoDoFo::PdfEncrypt*, bool) /home/ubuntu/podofo-0.9.6/src/base/PdfParserObject.cpp:154 #11 0x55badfc88d3e in PoDoFo::PdfParser::ReadTrailer() /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:641 #12 0x55badfc84c81 in PoDoFo::PdfParser::ReadDocumentStructure() /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:322 #13 0x55badfc844db in PoDoFo::PdfParser::ParseFile(PoDoFo::PdfRefCountedInputDevice const&, bool) /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:259 #14 0x55badfc83ed6 in PoDoFo::PdfParser::ParseFile(char const*, bool) /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:206 #15 0x55badfc09007 in PoDoFo::PdfMemDocument::Load(char const*, bool) /home/ubuntu/podofo-0.9.6/src/doc/PdfMemDocument.cpp:256 #16 0x55badfc07a87 in PoDoFo::PdfMemDocument::PdfMemDocument(char const*, bool) /home/ubuntu/podofo-0.9.6/src/doc/PdfMemDocument.cpp:102 #17 0x55badfb48757 in PdfInfo::PdfInfo(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/ubuntu/podofo-0.9.6/tools/podofopdfinfo/pdfinfo.cpp:25 #18 0x55badfb52017 in main /home/ubuntu/podofo-0.9.6/tools/podofopdfinfo/podofopdfinfo.cpp:110 #19 0x7fb9926f2b96 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b96) Indirect leak of 72 byte(s) in 1 object(s) allocated from: #0 0x7fb994083458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458) #1 0x55badfb9587b in PoDoFo::PdfVariant::operator=(PoDoFo::PdfVariant const&) /home/ubuntu/podofo-0.9.6/src/base/PdfVariant.cpp:367 #2 0x55badfb8c5ef in PoDoFo::PdfTokenizer::ReadDictionary(PoDoFo::PdfVariant&, PoDoFo::PdfEncrypt*) /home/ubuntu/podofo-0.9.6/src/base/PdfTokenizer.cpp:627 #3 0x55badfb8bb56 in PoDoFo::PdfTokenizer::ReadDataType(PoDoFo::EPdfDataType, PoDoFo::PdfVariant&, PoDoFo::PdfEncrypt*) /home/ubuntu/podofo-0.9.6/src/base/PdfTokenizer.cpp:560 #4 0x55badfb8a9fd in PoDoFo::PdfTokenizer::GetNextVariant(char const*, PoDoFo::EPdfTokenType, PoDoFo::PdfVariant&, PoDoFo::PdfEncrypt*) /home/ubuntu/podofo-0.9.6/src/base/PdfTokenizer.cpp:406 #5 0x55badfc9bdf7 in PoDoFo::PdfParserObject::ParseFileComplete(bool) /home/ubuntu/podofo-0.9.6/src/base/PdfParserObject.cpp:204 #6 0x55badfc9d1ea in PoDoFo::PdfParserObject::DelayedLoadImpl() /home/ubuntu/podofo-0.9.6/src/base/PdfParserObject.cpp:371 #7 0x55badfb566e4 in PoDoFo::PdfVariant::DelayedLoad() const /home/ubuntu/podofo-0.9.6/podofo/base/../../src/base/PdfVariant.h:558 #8 0x55badfc9b9b3 in PoDoFo::PdfParserObject::ParseFile(PoDoFo::PdfEncrypt*, bool) /home/ubuntu/podofo-0.9.6/src/base/PdfParserObject.cpp:154 #9 0x55badfc88d3e in PoDoFo::PdfParser::ReadTrailer() /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:641 #10 0x55badfc84c81 in PoDoFo::PdfParser::ReadDocumentStructure() /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:322 #11 0x55badfc844db in PoDoFo::PdfParser::ParseFile(PoDoFo::PdfRefCountedInputDevice const&, bool) /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:259 #12 0x55badfc83ed6 in PoDoFo::PdfParser::ParseFile(char const*, bool) /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:206 #13 0x55badfc09007 in PoDoFo::PdfMemDocument::Load(char const*, bool) /home/ubuntu/podofo-0.9.6/src/doc/PdfMemDocument.cpp:256 #14 0x55badfc07a87 in PoDoFo::PdfMemDocument::PdfMemDocument(char const*, bool) /home/ubuntu/podofo-0.9.6/src/doc/PdfMemDocument.cpp:102 #15 0x55badfb48757 in PdfInfo::PdfInfo(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/ubuntu/podofo-0.9.6/tools/podofopdfinfo/pdfinfo.cpp:25 #16 0x55badfb52017 in main /home/ubuntu/podofo-0.9.6/tools/podofopdfinfo/podofopdfinfo.cpp:110 #17 0x7fb9926f2b96 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b96) Indirect leak of 72 byte(s) in 1 object(s) allocated from: #0 0x7fb994083458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458) #1 0x55badfb7a0ed in PoDoFo::PdfRefCountedBuffer::ReallyResize(unsigned long) /home/ubuntu/podofo-0.9.6/src/base/PdfRefCountedBuffer.cpp:161 #2 0x55badfb75dc3 in PoDoFo::PdfRefCountedBuffer::Resize(unsigned long) /home/ubuntu/podofo-0.9.6/podofo/base/../../src/base/PdfRefCountedBuffer.h:307 #3 0x55badfb875fc in PoDoFo::PdfRefCountedBuffer::PdfRefCountedBuffer(unsigned long) /home/ubuntu/podofo-0.9.6/src/base/PdfRefCountedBuffer.h:227 #4 0x55badfb88cee in PoDoFo::PdfTokenizer::PdfTokenizer() /home/ubuntu/podofo-0.9.6/src/base/PdfTokenizer.cpp:186 #5 0x55badfc82f44 in PoDoFo::PdfParser::PdfParser(PoDoFo::PdfVecObjects*) /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:118 #6 0x55badfc08faa in PoDoFo::PdfMemDocument::Load(char const*, bool) /home/ubuntu/podofo-0.9.6/src/doc/PdfMemDocument.cpp:255 #7 0x55badfc07a87 in PoDoFo::PdfMemDocument::PdfMemDocument(char const*, bool) /home/ubuntu/podofo-0.9.6/src/doc/PdfMemDocument.cpp:102 #8 0x55badfb48757 in PdfInfo::PdfInfo(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/ubuntu/podofo-0.9.6/tools/podofopdfinfo/pdfinfo.cpp:25 #9 0x55badfb52017 in main /home/ubuntu/podofo-0.9.6/tools/podofopdfinfo/podofopdfinfo.cpp:110 #10 0x7fb9926f2b96 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b96) Indirect leak of 64 byte(s) in 1 object(s) allocated from: #0 0x7fb994083458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458) #1 0x55badfb932f0 in __gnu_cxx::new_allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType>*>::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 #2 0x55badfb92cf0 in std::allocator_traits<std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType>*> >::allocate(std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType>*>&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 #3 0x55badfb9268a in std::_Deque_base<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType> > >::_M_allocate_map(unsigned long) /usr/include/c++/7/bits/stl_deque.h:616 #4 0x55badfb90de7 in std::_Deque_base<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType> > >::_M_initialize_map(unsigned long) /usr/include/c++/7/bits/stl_deque.h:689 #5 0x55badfb8f979 in std::_Deque_base<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType> > >::_Deque_base() /usr/include/c++/7/bits/stl_deque.h:492 #6 0x55badfb8f0e3 in std::deque<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType> > >::deque() /usr/include/c++/7/bits/stl_deque.h:888 #7 0x55badfb88f63 in PoDoFo::PdfTokenizer::PdfTokenizer(PoDoFo::PdfRefCountedInputDevice const&, PoDoFo::PdfRefCountedBuffer const&) /home/ubuntu/podofo-0.9.6/src/base/PdfTokenizer.cpp:198 #8 0x55badfc9a9ec in PoDoFo::PdfParserObject::PdfParserObject(PoDoFo::PdfVecObjects*, PoDoFo::PdfRefCountedInputDevice const&, PoDoFo::PdfRefCountedBuffer const&, long) /home/ubuntu/podofo-0.9.6/src/base/PdfParserObject.cpp:59 #9 0x55badfc88ce6 in PoDoFo::PdfParser::ReadTrailer() /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:638 #10 0x55badfc84c81 in PoDoFo::PdfParser::ReadDocumentStructure() /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:322 #11 0x55badfc844db in PoDoFo::PdfParser::ParseFile(PoDoFo::PdfRefCountedInputDevice const&, bool) /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:259 #12 0x55badfc83ed6 in PoDoFo::PdfParser::ParseFile(char const*, bool) /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:206 #13 0x55badfc09007 in PoDoFo::PdfMemDocument::Load(char const*, bool) /home/ubuntu/podofo-0.9.6/src/doc/PdfMemDocument.cpp:256 #14 0x55badfc07a87 in PoDoFo::PdfMemDocument::PdfMemDocument(char const*, bool) /home/ubuntu/podofo-0.9.6/src/doc/PdfMemDocument.cpp:102 #15 0x55badfb48757 in PdfInfo::PdfInfo(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/ubuntu/podofo-0.9.6/tools/podofopdfinfo/pdfinfo.cpp:25 #16 0x55badfb52017 in main /home/ubuntu/podofo-0.9.6/tools/podofopdfinfo/podofopdfinfo.cpp:110 #17 0x7fb9926f2b96 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b96) Indirect leak of 64 byte(s) in 1 object(s) allocated from: #0 0x7fb994083458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458) #1 0x55badfb932f0 in __gnu_cxx::new_allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType>*>::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 #2 0x55badfb92cf0 in std::allocator_traits<std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType>*> >::allocate(std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType>*>&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 #3 0x55badfb9268a in std::_Deque_base<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType> > >::_M_allocate_map(unsigned long) /usr/include/c++/7/bits/stl_deque.h:616 #4 0x55badfb90de7 in std::_Deque_base<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType> > >::_M_initialize_map(unsigned long) /usr/include/c++/7/bits/stl_deque.h:689 #5 0x55badfb8f979 in std::_Deque_base<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType> > >::_Deque_base() /usr/include/c++/7/bits/stl_deque.h:492 #6 0x55badfb8f0e3 in std::deque<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, PoDoFo::EPdfTokenType> > >::deque() /usr/include/c++/7/bits/stl_deque.h:888 #7 0x55badfb88cfe in PoDoFo::PdfTokenizer::PdfTokenizer() /home/ubuntu/podofo-0.9.6/src/base/PdfTokenizer.cpp:186 #8 0x55badfc82f44 in PoDoFo::PdfParser::PdfParser(PoDoFo::PdfVecObjects*) /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:118 #9 0x55badfc08faa in PoDoFo::PdfMemDocument::Load(char const*, bool) /home/ubuntu/podofo-0.9.6/src/doc/PdfMemDocument.cpp:255 #10 0x55badfc07a87 in PoDoFo::PdfMemDocument::PdfMemDocument(char const*, bool) /home/ubuntu/podofo-0.9.6/src/doc/PdfMemDocument.cpp:102 #11 0x55badfb48757 in PdfInfo::PdfInfo(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/ubuntu/podofo-0.9.6/tools/podofopdfinfo/pdfinfo.cpp:25 #12 0x55badfb52017 in main /home/ubuntu/podofo-0.9.6/tools/podofopdfinfo/podofopdfinfo.cpp:110 #13 0x7fb9926f2b96 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b96) Indirect leak of 40 byte(s) in 1 object(s) allocated from: #0 0x7fb994083458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458) #1 0x55badfc9a5cc in __gnu_cxx::new_allocator<std::_Rb_tree_node<long> >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 #2 0x55badfc9a2b1 in std::allocator_traits<std::allocator<std::_Rb_tree_node<long> > >::allocate(std::allocator<std::_Rb_tree_node<long> >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 #3 0x55badfc99ee6 in std::_Rb_tree<long, long, std::_Identity<long>, std::less<long>, std::allocator<long> >::_M_get_node() /usr/include/c++/7/bits/stl_tree.h:588 #4 0x55badfc999f3 in std::_Rb_tree_node<long>* std::_Rb_tree<long, long, std::_Identity<long>, std::less<long>, std::allocator<long> >::_M_create_node<long const&>(long const&) /usr/include/c++/7/bits/stl_tree.h:642 #5 0x55badfc98dd3 in std::_Rb_tree_node<long>* std::_Rb_tree<long, long, std::_Identity<long>, std::less<long>, std::allocator<long> >::_Alloc_node::operator()<long const&>(long const&) const /usr/include/c++/7/bits/stl_tree.h:556 #6 0x55badfc96b55 in std::_Rb_tree_iterator<long> std::_Rb_tree<long, long, std::_Identity<long>, std::less<long>, std::allocator<long> >::_M_insert_<long const&, std::_Rb_tree<long, long, std::_Identity<long>, std::less<long>, std::allocator<long> >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, long const&, std::_Rb_tree<long, long, std::_Identity<long>, std::less<long>, std::allocator<long> >::_Alloc_node&) /usr/include/c++/7/bits/stl_tree.h:1753 #7 0x55badfc947b5 in std::pair<std::_Rb_tree_iterator<long>, bool> std::_Rb_tree<long, long, std::_Identity<long>, std::less<long>, std::allocator<long> >::_M_insert_unique<long const&>(long const&) (/usr/local/bin/podofopdfinfo+0x27f7b5) #8 0x55badfc93597 in std::set<long, std::less<long>, std::allocator<long> >::insert(long const&) (/usr/local/bin/podofopdfinfo+0x27e597) #9 0x55badfc89748 in PoDoFo::PdfParser::ReadXRefContents(long, bool) /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:690 #10 0x55badfc84fe2 in PoDoFo::PdfParser::ReadDocumentStructure() /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:373 #11 0x55badfc844db in PoDoFo::PdfParser::ParseFile(PoDoFo::PdfRefCountedInputDevice const&, bool) /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:259 #12 0x55badfc83ed6 in PoDoFo::PdfParser::ParseFile(char const*, bool) /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:206 #13 0x55badfc09007 in PoDoFo::PdfMemDocument::Load(char const*, bool) /home/ubuntu/podofo-0.9.6/src/doc/PdfMemDocument.cpp:256 #14 0x55badfc07a87 in PoDoFo::PdfMemDocument::PdfMemDocument(char const*, bool) /home/ubuntu/podofo-0.9.6/src/doc/PdfMemDocument.cpp:102 #15 0x55badfb48757 in PdfInfo::PdfInfo(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/ubuntu/podofo-0.9.6/tools/podofopdfinfo/pdfinfo.cpp:25 #16 0x55badfb52017 in main /home/ubuntu/podofo-0.9.6/tools/podofopdfinfo/podofopdfinfo.cpp:110 #17 0x7fb9926f2b96 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b96) Indirect leak of 32 byte(s) in 1 object(s) allocated from: #0 0x7fb994083458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458) #1 0x55badfc9da94 in PoDoFo::PdfRefCountedInputDevice::PdfRefCountedInputDevice(char const*, char const*) /home/ubuntu/podofo-0.9.6/src/base/PdfRefCountedInputDevice.cpp:54 #2 0x55badfc83e08 in PoDoFo::PdfParser::ParseFile(char const*, bool) /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:200 #3 0x55badfc09007 in PoDoFo::PdfMemDocument::Load(char const*, bool) /home/ubuntu/podofo-0.9.6/src/doc/PdfMemDocument.cpp:256 #4 0x55badfc07a87 in PoDoFo::PdfMemDocument::PdfMemDocument(char const*, bool) /home/ubuntu/podofo-0.9.6/src/doc/PdfMemDocument.cpp:102 #5 0x55badfb48757 in PdfInfo::PdfInfo(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/ubuntu/podofo-0.9.6/tools/podofopdfinfo/pdfinfo.cpp:25 #6 0x55badfb52017 in main /home/ubuntu/podofo-0.9.6/tools/podofopdfinfo/podofopdfinfo.cpp:110 #7 0x7fb9926f2b96 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b96) Indirect leak of 16 byte(s) in 1 object(s) allocated from: #0 0x7fb994083458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458) #1 0x55badfb957ce in PoDoFo::PdfVariant::operator=(PoDoFo::PdfVariant const&) /home/ubuntu/podofo-0.9.6/src/base/PdfVariant.cpp:361 #2 0x55badfb9420f in PoDoFo::PdfVariant::PdfVariant(PoDoFo::PdfVariant const&) /home/ubuntu/podofo-0.9.6/src/base/PdfVariant.cpp:166 #3 0x55badfb6f355 in PoDoFo::PdfObject::PdfObject(PoDoFo::PdfObject const&) /home/ubuntu/podofo-0.9.6/src/base/PdfObject.cpp:130 #4 0x55badfb53eea in PoDoFo::PdfDictionary::operator=(PoDoFo::PdfDictionary const&) /home/ubuntu/podofo-0.9.6/src/base/PdfDictionary.cpp:68 #5 0x55badfb53c0a in PoDoFo::PdfDictionary::PdfDictionary(PoDoFo::PdfDictionary const&) /home/ubuntu/podofo-0.9.6/src/base/PdfDictionary.cpp:49 #6 0x55badfb958b6 in PoDoFo::PdfVariant::operator=(PoDoFo::PdfVariant const&) /home/ubuntu/podofo-0.9.6/src/base/PdfVariant.cpp:367 #7 0x55badfb8c5ef in PoDoFo::PdfTokenizer::ReadDictionary(PoDoFo::PdfVariant&, PoDoFo::PdfEncrypt*) /home/ubuntu/podofo-0.9.6/src/base/PdfTokenizer.cpp:627 #8 0x55badfb8bb56 in PoDoFo::PdfTokenizer::ReadDataType(PoDoFo::EPdfDataType, PoDoFo::PdfVariant&, PoDoFo::PdfEncrypt*) /home/ubuntu/podofo-0.9.6/src/base/PdfTokenizer.cpp:560 #9 0x55badfb8a9fd in PoDoFo::PdfTokenizer::GetNextVariant(char const*, PoDoFo::EPdfTokenType, PoDoFo::PdfVariant&, PoDoFo::PdfEncrypt*) /home/ubuntu/podofo-0.9.6/src/base/PdfTokenizer.cpp:406 #10 0x55badfc9bdf7 in PoDoFo::PdfParserObject::ParseFileComplete(bool) /home/ubuntu/podofo-0.9.6/src/base/PdfParserObject.cpp:204 #11 0x55badfc9d1ea in PoDoFo::PdfParserObject::DelayedLoadImpl() /home/ubuntu/podofo-0.9.6/src/base/PdfParserObject.cpp:371 #12 0x55badfb566e4 in PoDoFo::PdfVariant::DelayedLoad() const /home/ubuntu/podofo-0.9.6/podofo/base/../../src/base/PdfVariant.h:558 #13 0x55badfc9b9b3 in PoDoFo::PdfParserObject::ParseFile(PoDoFo::PdfEncrypt*, bool) /home/ubuntu/podofo-0.9.6/src/base/PdfParserObject.cpp:154 #14 0x55badfc88d3e in PoDoFo::PdfParser::ReadTrailer() /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:641 #15 0x55badfc84c81 in PoDoFo::PdfParser::ReadDocumentStructure() /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:322 #16 0x55badfc844db in PoDoFo::PdfParser::ParseFile(PoDoFo::PdfRefCountedInputDevice const&, bool) /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:259 #17 0x55badfc83ed6 in PoDoFo::PdfParser::ParseFile(char const*, bool) /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:206 #18 0x55badfc09007 in PoDoFo::PdfMemDocument::Load(char const*, bool) /home/ubuntu/podofo-0.9.6/src/doc/PdfMemDocument.cpp:256 #19 0x55badfc07a87 in PoDoFo::PdfMemDocument::PdfMemDocument(char const*, bool) /home/ubuntu/podofo-0.9.6/src/doc/PdfMemDocument.cpp:102 #20 0x55badfb48757 in PdfInfo::PdfInfo(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/ubuntu/podofo-0.9.6/tools/podofopdfinfo/pdfinfo.cpp:25 #21 0x55badfb52017 in main /home/ubuntu/podofo-0.9.6/tools/podofopdfinfo/podofopdfinfo.cpp:110 #22 0x7fb9926f2b96 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b96) Indirect leak of 16 byte(s) in 1 object(s) allocated from: #0 0x7fb994083458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458) #1 0x55badfc9d9e2 in PoDoFo::PdfRefCountedInputDevice::PdfRefCountedInputDevice(char const*, char const*) /home/ubuntu/podofo-0.9.6/src/base/PdfRefCountedInputDevice.cpp:50 #2 0x55badfc83e08 in PoDoFo::PdfParser::ParseFile(char const*, bool) /home/ubuntu/podofo-0.9.6/src/base/PdfParser.cpp:200 #3 0x55badfc09007 in PoDoFo::PdfMemDocument::Load(char const*, bool) /home/ubuntu/podofo-0.9.6/src/doc/PdfMemDocument.cpp:256 #4 0x55badfc07a87 in PoDoFo::PdfMemDocument::PdfMemDocument(char const*, bool) /home/ubuntu/podofo-0.9.6/src/doc/PdfMemDocument.cpp:102 #5 0x55badfb48757 in PdfInfo::PdfInfo(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/ubuntu/podofo-0.9.6/tools/podofopdfinfo/pdfinfo.cpp:25 #6 0x55badfb52017 in main /home/ubuntu/podofo-0.9.6/tools/podofopdfinfo/podofopdfinfo.cpp:110 #7 0x7fb9926f2b96 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b96) SUMMARY: AddressSanitizer: 201333640 byte(s) leaked in 18 allocation(s). Version-Release number of selected component (if applicable): podofo-0.9.6 How reproducible: Steps to Reproduce: 1.podofopdfinfo mem-leak.pdf 2. 3.
Did you report this upstream?
i reported only here.
Could you please also report it at [1] and post back a link to the upstream issue here? Upstream developers will know best how to fix these issues. [1] https://sourceforge.net/p/podofo/tickets/?source=navbar
I also find this problem.there're lots of memory leak in 0.9.6...
EPEL 7 entered end-of-life (EOL) status on 2024-06-30.\n\nEPEL 7 is no longer maintained, which means that it\nwill not receive any further security or bug fix updates.\n As a result we are closing this bug.