desktop/source/lib/init.cxx |    4 ++++
 1 file changed, 4 insertions(+)

New commits:
commit 75fb6915e68098daeec632c1d38935c5556a17a2
Author:     Miklos Vajna <vmik...@collabora.com>
AuthorDate: Fri Sep 27 08:52:57 2024 +0200
Commit:     Xisco Fauli <xiscofa...@libreoffice.org>
CommitDate: Fri Oct 4 10:04:40 2024 +0200

    desktop lok: fix crash in getStyles()
    
    Crashreport backtrace:
    
    > program/libmergedlo.so
    >       getStyles
    >               desktop/source/lib/init.cxx:6411
    > program/libmergedlo.so
    >       doc_getCommandValues
    >               desktop/source/lib/init.cxx:6666
    
    Which is probably a call on an already disposed document. Fix it similar
    to how getFonts() does it.
    
    Change-Id: I1744bd04b7ebdea1b69ca121b8cfa47314d67528
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174372
    Tested-by: Jenkins
    Reviewed-by: Miklos Vajna <vmik...@collabora.com>
    (cherry picked from commit d5d7883fdecfb2c98c880ee2e957a1e34cba45bf)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174330
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>

diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx
index a892eb51a981..90cfba8e4e87 100644
--- a/desktop/source/lib/init.cxx
+++ b/desktop/source/lib/init.cxx
@@ -6145,6 +6145,10 @@ static char* getStyles(LibreOfficeKitDocument* pThis, 
const char* pCommand)
     aTree.put("commandName", pCommand);
     uno::Reference<css::style::XStyleFamiliesSupplier> 
xStyleFamiliesSupplier(pDocument->mxComponent, uno::UNO_QUERY);
     const uno::Reference<container::XNameAccess> xStyleFamilies = 
xStyleFamiliesSupplier->getStyleFamilies();
+    if (!xStyleFamilies.is())
+    {
+        return nullptr;
+    }
     const uno::Sequence<OUString> aStyleFamilies = 
xStyleFamilies->getElementNames();
 
     static constexpr OUString aWriterStyles[] =

Reply via email to