summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx7
1 files changed, 4 insertions, 3 deletions
diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
index d9efa39d8a54..f12478cb2f4d 100644
--- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
+++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
@@ -476,10 +476,10 @@ int PDFOutDev::parseFont( long long nNewId, GfxFont* gfxFont, const GfxState* st
// we must write byte count to stdout before
#if POPPLER_CHECK_VERSION(22, 6, 0)
std::optional<std::vector<unsigned char>> pBuf = gfxFont->readEmbFontFile( m_pDoc->getXRef() );
- nSize = pBuf->size();
- if ( nSize > 0 )
+ if ( pBuf )
{
aNewFont.isEmbedded = true;
+ nSize = pBuf->size();
}
#else
char* pBuf = gfxFont->readEmbFontFile( m_pDoc->getXRef(), &nSize );
@@ -503,7 +503,8 @@ void PDFOutDev::writeFontFile( GfxFont* gfxFont ) const
int nSize = 0;
#if POPPLER_CHECK_VERSION(22, 6, 0)
std::optional<std::vector<unsigned char>> pBuf = gfxFont->readEmbFontFile( m_pDoc->getXRef() );
- nSize = pBuf->size();
+ if ( pBuf )
+ nSize = pBuf->size();
if ( nSize == 0 )
return;
#else