Hi

I'm hitting an exception with podofo-0.9.5 with the following code:

---

#include <podofo/base/PdfDictionary.h>
#include <podofo/doc/PdfImage.h>
#include <podofo/doc/PdfStreamedDocument.h>

int main() {
     PoDoFo::PdfStreamedDocument* document = new 
PoDoFo::PdfStreamedDocument("test.pdf");
     PoDoFo::PdfImage pdfImage(document);
     PoDoFo::PdfDictionary& dictionary = 
pdfImage.GetObject()->GetDictionary();
     return 0;
}

---

This results in an exception in PoDoFo::PdfVariant::DelayedLoadImpl

    │911     void PdfVariant::DelayedLoadImpl()
    │912     {
    │913         // Default implementation of virtual void 
DelayedLoadImpl() throws, since delayed
    │914         // loading should not be enabled except by types that 
support it.
   >│915         PODOFO_RAISE_ERROR( ePdfError_InternalLogic );
    │916     }

Valgrind reports:

==16529== Conditional jump or move depends on uninitialised value(s)
==16529==    at 0x400BFF: PoDoFo::PdfVariant::DelayedLoad() const 
(PdfVariant.h:545)
==16529==    by 0x400C3B: PoDoFo::PdfVariant::GetDictionary() 
(PdfVariant.h:851)
==16529==    by 0x400B84: main (test.cpp:8)

It appears that m_bDelayedLoadDone is uninitialized and, if unlucky, 
results in this behaviour.

Hunting for a fix / workaround.

Best
Sandro



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Podofo-users mailing list
Podofo-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/podofo-users

Reply via email to