vcl/source/filter/ipdf/pdfread.cxx | 4 ++++ 1 file changed, 4 insertions(+)
New commits: commit 899089ddfb8c190af2e1d77536c99a30adbc2938 Author: Miklos Vajna <vmik...@collabora.com> AuthorDate: Fri Nov 8 13:50:35 2024 +0100 Commit: Miklos Vajna <vmik...@collabora.com> CommitDate: Fri Nov 8 19:51:55 2024 +0100 vcl: fix crash in findAnnotations() Crashreport signature: > SIG Fatal signal received: SIGSEGV code: 1 for address: 0x0 > program/libmergedlo.so > vcl::ImportPDFUnloaded(rtl::OUString const&, std::vector<vcl::PDFGraphicResult, std::allocator<vcl::PDFGraphicResult> >&) > vcl/source/filter/ipdf/pdfread.cxx:335 > program/libsdlo.so > SdPdfFilter::Import() > sd/source/filter/pdf/sdpdffilter.cxx:55 > program/libsdlo.so > sd::DrawDocShell::ConvertFrom(SfxMedium&) > sd/source/ui/docshell/docshel4.cxx:502 (discriminator 2) > libmergedlo.so > SfxObjectShell::DoLoad(SfxMedium*) > sfx2/source/doc/objstor.cxx:786 I.e. in case we search for a marker image inside the annotation's object, then handle the image type without a bitmap the same as non-image types. Change-Id: I443b5f448ea4544183fb4ed0b457e85a45f51acc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176282 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmik...@collabora.com> diff --git a/vcl/source/filter/ipdf/pdfread.cxx b/vcl/source/filter/ipdf/pdfread.cxx index cd345b9ed1c3..6b39f8d789b9 100644 --- a/vcl/source/filter/ipdf/pdfread.cxx +++ b/vcl/source/filter/ipdf/pdfread.cxx @@ -331,6 +331,10 @@ findAnnotations(const std::unique_ptr<vcl::pdf::PDFiumPage>& pPage, basegfx::B2D { std::unique_ptr<vcl::pdf::PDFiumBitmap> pBitmap = pPageObject->getImageBitmap(); + if (!pBitmap) + { + continue; + } pMarker->maBitmapEx = pBitmap->createBitmapFromBuffer(); } }