Bug 1609367 - podofo 0.9.6 memory leaks
Summary: podofo 0.9.6 memory leaks
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: podofo
Version: epel7
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Dan Horák
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-07-27 18:44 UTC by r4xis
Modified: 2024-07-09 02:30 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2024-07-09 02:30:36 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
poc file - mem-leak.pdf (175 bytes, application/pdf)
2018-07-27 18:44 UTC, r4xis
no flags Details

Description r4xis 2018-07-27 18:44:05 UTC
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.

Comment 1 Sandro Mani 2018-07-27 19:57:42 UTC
Did you report this upstream?

Comment 2 r4xis 2018-07-27 23:00:18 UTC
i reported only here.

Comment 3 Sandro Mani 2018-07-28 09:11:04 UTC
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

Comment 4 Krace 2018-08-23 03:27:47 UTC
I also find this problem.there're lots of memory leak in 0.9.6...

Comment 5 Troy Dawson 2024-07-09 02:30:36 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.