[clang] [analyzer] MallocChecker – Fix false positive leak for smart pointers in temporary objects (PR #152751)
Balazs Benics via cfe-commits
cfe-commits at lists.llvm.org
Sat Aug 9 07:11:01 PDT 2025
================
@@ -3068,11 +3107,217 @@ void MallocChecker::checkDeadSymbols(SymbolReaper &SymReaper,
C.addTransition(state->set<RegionState>(RS), N);
}
+static QualType canonicalStrip(QualType QT) {
+ return QT.getCanonicalType().getUnqualifiedType();
+}
+
+static bool isInStdNamespace(const DeclContext *DC) {
+ while (DC) {
+ if (const auto *NS = dyn_cast<NamespaceDecl>(DC))
+ if (NS->isStdNamespace())
+ return true;
+ DC = DC->getParent();
+ }
+ return false;
+}
----------------
steakhal wrote:
Isn't this a copy of the `clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerHelpers.h isWithinStdNamespace`?
BTW now looking at it, this would wrongly, match the `my::std` namespace, which is not great.
https://github.com/llvm/llvm-project/pull/152751
More information about the cfe-commits
mailing list