summaryrefslogtreecommitdiff
path: root/compilerplugins/clang
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2024-10-21 14:36:51 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2024-10-22 08:01:19 +0200
commit19bc8856c4b5444f80375919c2aed00c7de53a28 (patch)
tree94256a4db6d6feb4f148e405f1a540c9b0db3869 /compilerplugins/clang
parent76319347a83aecee7a423a614d67287182b31b00 (diff)
move vcl::DeleteOnDeinit to tools
so we can fix a shutdown use-after-free in sot. Change-Id: I32f83bd94627d72d7bee7ea2ebd6ab77a7f78435 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175335 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'compilerplugins/clang')
-rw-r--r--compilerplugins/clang/badstatics.cxx2
-rw-r--r--compilerplugins/clang/refcounting.cxx2
2 files changed, 2 insertions, 2 deletions
diff --git a/compilerplugins/clang/badstatics.cxx b/compilerplugins/clang/badstatics.cxx
index 1d003acdb8a6..3a69f78caef8 100644
--- a/compilerplugins/clang/badstatics.cxx
+++ b/compilerplugins/clang/badstatics.cxx
@@ -113,7 +113,7 @@ public:
if (!pDefinition) { // maybe no definition if it's a pointer/reference
return std::make_pair(false, std::vector<FieldDecl const*>());
}
- if ( type.Class("DeleteOnDeinit").Namespace("vcl").GlobalNamespace()
+ if ( type.Class("DeleteOnDeinit").Namespace("tools").GlobalNamespace()
|| type.Class("weak_ptr").StdNamespace() // not owning
|| type.Class("ImplWallpaper").GlobalNamespace() // very odd static instance here
|| type.Class("Application").GlobalNamespace() // numerous odd subclasses in vclmain::createApplication()
diff --git a/compilerplugins/clang/refcounting.cxx b/compilerplugins/clang/refcounting.cxx
index 2bee2f80cf65..4140b6a10688 100644
--- a/compilerplugins/clang/refcounting.cxx
+++ b/compilerplugins/clang/refcounting.cxx
@@ -337,7 +337,7 @@ bool containsSalhelperReferenceObjectSubclass(const clang::Type* pType0) {
if (dc.Class("Reference").Namespace("rtl").GlobalNamespace()
|| (dc.Class("OStoreHandle").AnonymousNamespace().Namespace("store")
.GlobalNamespace())
- || (dc.Class("DeleteRtlReferenceOnDeinit").Namespace("vcl")
+ || (dc.Class("DeleteRtlReferenceOnDeinit").Namespace("tools")
.GlobalNamespace()))
{
return false;