diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2024-10-21 14:36:51 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2024-10-22 08:01:19 +0200 |
commit | 19bc8856c4b5444f80375919c2aed00c7de53a28 (patch) | |
tree | 94256a4db6d6feb4f148e405f1a540c9b0db3869 /compilerplugins/clang | |
parent | 76319347a83aecee7a423a614d67287182b31b00 (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.cxx | 2 | ||||
-rw-r--r-- | compilerplugins/clang/refcounting.cxx | 2 |
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; |