connectivity/source/inc/FDatabaseMetaDataResultSet.hxx |    2 +-
 include/svx/charmap.hxx                                |    2 +-
 include/toolkit/awt/vclxwindows.hxx                    |    2 +-
 sc/inc/chartlis.hxx                                    |    2 +-
 sc/inc/clipcontext.hxx                                 |    2 +-
 sc/inc/compiler.hxx                                    |    2 +-
 sc/source/ui/inc/csvcontrol.hxx                        |    2 +-
 sc/source/ui/inc/csvgrid.hxx                           |    2 +-
 sd/inc/Annotation.hxx                                  |    2 +-
 svx/source/sidebar/line/LinePropertyPanelBase.cxx      |    1 +
 sw/inc/crsrsh.hxx                                      |    2 +-
 sw/inc/editsh.hxx                                      |    2 +-
 sw/inc/fesh.hxx                                        |    2 +-
 sw/source/uibase/inc/wrtsh.hxx                         |    2 +-
 14 files changed, 14 insertions(+), 13 deletions(-)

New commits:
commit a5ccdbbc457fb7aadca2d6a046ab891dedca5bb1
Author:     Noel Grandin <noel.gran...@collabora.co.uk>
AuthorDate: Wed Feb 21 15:44:35 2024 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Thu Feb 22 06:59:23 2024 +0100

    UBSan RTTI fixes
    
    after I missed a bunch of stuff when testing UBSan with
      commit 3ba92b5f1eaf7d4447a0943ea260db515ca799dc
      hide more symbols
    Change-Id: Id3cb0b70b9fa24c7e3fba7fd565eb658dafa00f8
    
    Change-Id: I369587ed3e14e50ca272037b9d950b62841695d5
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163703
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/connectivity/source/inc/FDatabaseMetaDataResultSet.hxx 
b/connectivity/source/inc/FDatabaseMetaDataResultSet.hxx
index 33700006fa47..5be3c15e318b 100644
--- a/connectivity/source/inc/FDatabaseMetaDataResultSet.hxx
+++ b/connectivity/source/inc/FDatabaseMetaDataResultSet.hxx
@@ -54,7 +54,7 @@ namespace connectivity
     //  typedef ORefVector<ORowSetValue>    ORow;
     //  typedef ORefVector<ORow>            ORows;
 
-    class ODatabaseMetaDataResultSet :
+    class SAL_DLLPUBLIC_RTTI ODatabaseMetaDataResultSet :
                                 public cppu::BaseMutex,
                                 public  ODatabaseMetaDataResultSet_BASE,
                                 public  ::comphelper::OPropertyContainer,
diff --git a/include/svx/charmap.hxx b/include/svx/charmap.hxx
index 4035f82d4c3d..b5567a0c8702 100644
--- a/include/svx/charmap.hxx
+++ b/include/svx/charmap.hxx
@@ -52,7 +52,7 @@ namespace svx
     class SvxShowCharSetAcc;
 }
 
-class SAL_WARN_UNUSED SvxShowCharSet : public weld::CustomWidgetController
+class SAL_WARN_UNUSED SAL_DLLPUBLIC_RTTI SvxShowCharSet : public 
weld::CustomWidgetController
 {
 protected:
     VclPtr<VirtualDevice> mxVirDev;
diff --git a/include/toolkit/awt/vclxwindows.hxx 
b/include/toolkit/awt/vclxwindows.hxx
index 58071ad6fff1..60352097019d 100644
--- a/include/toolkit/awt/vclxwindows.hxx
+++ b/include/toolkit/awt/vclxwindows.hxx
@@ -535,7 +535,7 @@ protected:
     virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override 
{ return ImplGetPropertyIds( aIds ); }
 };
 
-class SVTXNumericField final : public 
cppu::ImplInheritanceHelper<SVTXFormattedField, css::awt::XNumericField>
+class SAL_DLLPUBLIC_RTTI SVTXNumericField final : public 
cppu::ImplInheritanceHelper<SVTXFormattedField, css::awt::XNumericField>
 {
 public:
                     SVTXNumericField();
diff --git a/sc/inc/chartlis.hxx b/sc/inc/chartlis.hxx
index 5430c3e3c3ba..24368a30d8c0 100644
--- a/sc/inc/chartlis.hxx
+++ b/sc/inc/chartlis.hxx
@@ -38,7 +38,7 @@ class Timer;
 class ScDocument;
 class ScChartUnoData;
 
-class ScChartListener final : public SvtListener
+class SAL_DLLPUBLIC_RTTI ScChartListener final : public SvtListener
 {
 public:
     class ExternalRefListener final : public ScExternalRefManager::LinkListener
diff --git a/sc/inc/clipcontext.hxx b/sc/inc/clipcontext.hxx
index 4efa4fb8382d..a6c989a004f7 100644
--- a/sc/inc/clipcontext.hxx
+++ b/sc/inc/clipcontext.hxx
@@ -44,7 +44,7 @@ public:
     ColumnBlockPositionSet* getBlockPositionSet() { return mpSet.get(); }
 };
 
-class CopyFromClipContext final : public ClipContextBase
+class SAL_DLLPUBLIC_RTTI CopyFromClipContext final : public ClipContextBase
 {
     /** Tracks modified formula group spans. */
     sc::ColumnSpanSet maListeningFormulaSpans;
diff --git a/sc/inc/compiler.hxx b/sc/inc/compiler.hxx
index 3de13eccb665..e31c73ffada9 100644
--- a/sc/inc/compiler.hxx
+++ b/sc/inc/compiler.hxx
@@ -177,7 +177,7 @@ public:
     formula::FormulaToken* CreateToken(ScSheetLimits& rLimits) const;   // 
create typified token
 };
 
-class ScCompiler final : public formula::FormulaCompiler
+class SAL_DLLPUBLIC_RTTI ScCompiler final : public formula::FormulaCompiler
 {
 public:
 
diff --git a/sc/source/ui/inc/csvcontrol.hxx b/sc/source/ui/inc/csvcontrol.hxx
index a764b7178fc9..778f02edc983 100644
--- a/sc/source/ui/inc/csvcontrol.hxx
+++ b/sc/source/ui/inc/csvcontrol.hxx
@@ -219,7 +219,7 @@ inline void ScCsvCmd::Set( ScCsvCmdType eType, sal_Int32 
nParam1, sal_Int32 nPar
 }
 
 /** Base class for the CSV ruler and the data grid control. Implements command 
handling. */
-class ScCsvControl : public weld::CustomWidgetController
+class SAL_DLLPUBLIC_RTTI ScCsvControl : public weld::CustomWidgetController
 {
 private:
     Link<ScCsvControl&,void>    maCmdHdl;           /// External command 
handler.
diff --git a/sc/source/ui/inc/csvgrid.hxx b/sc/source/ui/inc/csvgrid.hxx
index ba0affd10133..c83df6c8b64e 100644
--- a/sc/source/ui/inc/csvgrid.hxx
+++ b/sc/source/ui/inc/csvgrid.hxx
@@ -54,7 +54,7 @@ typedef ::std::vector< ScCsvColState > ScCsvColStateVec;
 
 /** A data grid control for the CSV import dialog. The design of this control
     simulates a Calc spreadsheet with row and column headers. */
-class ScCsvGrid : public ScCsvControl, public utl::ConfigurationListener
+class SAL_DLLPUBLIC_RTTI ScCsvGrid : public ScCsvControl, public 
utl::ConfigurationListener
 {
 private:
     ScCsvTableBox*              mpTableBox;         /// Grid Parent
diff --git a/sd/inc/Annotation.hxx b/sd/inc/Annotation.hxx
index 81369baa7e96..d272c5c4a9c4 100644
--- a/sd/inc/Annotation.hxx
+++ b/sd/inc/Annotation.hxx
@@ -73,7 +73,7 @@ struct SD_DLLPUBLIC CustomAnnotationMarker
     std::vector<basegfx::B2DPolygon> maPolygons;
 };
 
-class Annotation final : private ::cppu::BaseMutex,
+class SAL_DLLPUBLIC_RTTI Annotation final : private ::cppu::BaseMutex,
                    public 
::cppu::WeakComponentImplHelper<css::office::XAnnotation>,
                    public ::cppu::PropertySetMixin<css::office::XAnnotation>
 {
diff --git a/sw/inc/crsrsh.hxx b/sw/inc/crsrsh.hxx
index 6859f9083bb8..e330974a7dcc 100644
--- a/sw/inc/crsrsh.hxx
+++ b/sw/inc/crsrsh.hxx
@@ -144,7 +144,7 @@ bool GetRanges(std::vector<std::shared_ptr<SwUnoCursor>> & 
rRanges,
 
 } // namespace sw
 
-class SwCursorShell
+class SAL_DLLPUBLIC_RTTI SwCursorShell
     : public SwViewShell
     , public sw::BroadcastingModify
     , public ::sw::IShellCursorSupplier
diff --git a/sw/inc/editsh.hxx b/sw/inc/editsh.hxx
index f90bad0dbc0f..b8bd2ad6effe 100644
--- a/sw/inc/editsh.hxx
+++ b/sw/inc/editsh.hxx
@@ -137,7 +137,7 @@ typedef std::vector<SwGetINetAttr> SwGetINetAttrs;
 #define CNT_HasGrf(USH) ((USH)&CNT_GRF)
 #define CNT_HasOLE(USH) ((USH)&CNT_OLE)
 
-class SwEditShell : public SwCursorShell
+class SAL_DLLPUBLIC_RTTI SwEditShell : public SwCursorShell
 {
     static SvxSwAutoFormatFlags* s_pAutoFormatFlags;
 
diff --git a/sw/inc/fesh.hxx b/sw/inc/fesh.hxx
index 9431a2058ef4..6decb3bdf3a7 100644
--- a/sw/inc/fesh.hxx
+++ b/sw/inc/fesh.hxx
@@ -198,7 +198,7 @@ enum class SwTab
 class SdrDropMarkerOverlay;
 struct SwColCache;
 
-class SwFEShell : public SwEditShell
+class SAL_DLLPUBLIC_RTTI SwFEShell : public SwEditShell
 {
 private:
     mutable std::unique_ptr<SwColCache> m_pColumnCache;
diff --git a/sw/source/uibase/inc/wrtsh.hxx b/sw/source/uibase/inc/wrtsh.hxx
index 3623ac3dc08a..dd97160b140b 100644
--- a/sw/source/uibase/inc/wrtsh.hxx
+++ b/sw/source/uibase/inc/wrtsh.hxx
@@ -93,7 +93,7 @@ namespace o3tl {
 Eg. the Insert() method will take the current cursor position, insert the
 string, and take care of undo etc.
 */
-class SwWrtShell final : public SwFEShell
+class SAL_DLLPUBLIC_RTTI SwWrtShell final : public SwFEShell
 {
 private:
     using SwCursorShell::Left;
commit 349af3ca598833b64db93bc1d32117431be992f2
Author:     Noel Grandin <noel.gran...@collabora.co.uk>
AuthorDate: Wed Feb 21 19:23:29 2024 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Thu Feb 22 06:59:12 2024 +0100

    fix ubsan use-after-free
    
    caused by
        commit 8cd4cd31e9cffb593ccfba765fa28c2494a2d6f7
        Author: AkshayWarrier <aksmen...@gmail.com>
        Date:   Mon Jan 22 20:31:16 2024 +0530
    tdf#157882 svx: Remove cap/corner styles and move arrowhead control
    to new row
    
    The ToolbarUnoDispatcher needs to destruct before the associated
    Toolbar.
    
    Shows up as
    vcl/source/app/salvtables.cxx:1278:1:runtime error: member call on
    address 0x51700010dc00 which does not point to an object of type
    'SalInstanceToolbar'0x51700010dc00: note: object has invalid vptr
    00 00 00 00  8c 03 03 00 00 00 00 00  80 43 4e 00 90 51 00 00  00 00 00
    00 00 00 00 00  30 7e 9a 00
                  ^~~~~~~~~~~~~~~~~~~~~~~
                  invalid vptr
    SalInstanceToolbar::LinkStubMenuToggleListener(void*, VclWindowEvent&)
    vcl/source/app/salvtables.cxx:1278:1
    void>::Call(VclWindowEvent&) const include/tools/link.hxx:111:45
    void*) vcl/source/window/event.cxx:262:23
    vcl/source/window/window.cxx:158:5
    vcl/source/window/dockwin.cxx:407:13
    vcl/source/outdev/vclreferencebase.cxx:38:5
    include/vcl/vclptr.hxx:207:19
    vcl/source/window/builder.cxx:811:23
    vcl/source/window/builder.cxx:803:5
    
    Change-Id: Id890fe431ab724db4bdf7ad6622b933044bd6ade
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163706
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/svx/source/sidebar/line/LinePropertyPanelBase.cxx 
b/svx/source/sidebar/line/LinePropertyPanelBase.cxx
index 6c9d5edf2be3..c68cbe3d8673 100644
--- a/svx/source/sidebar/line/LinePropertyPanelBase.cxx
+++ b/svx/source/sidebar/line/LinePropertyPanelBase.cxx
@@ -103,6 +103,7 @@ LinePropertyPanelBase::~LinePropertyPanelBase()
     mxMFTransparent.reset();
     mxLineStyleDispatch.reset();
     mxLineStyleTB.reset();
+    mxArrowHeadStyleDispatch.reset();
     mxArrowHeadStyleTB.reset();
     mxArrowHeadStyleFT.reset();
 }

Reply via email to