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();
                         }
                     }

Reply via email to