[clang] 1c0e722 - [Clang] Prevent null pointer dereference in DiagnoseDeclAvailability() (#97095)
via cfe-commits
cfe-commits at lists.llvm.org
Mon Jul 1 11:03:06 PDT 2024
Author: smanna12
Date: 2024-07-01T13:03:03-05:00
New Revision: 1c0e7221ce35e4b709951c06c67aeb1ed3205f27
URL: https://github.com/llvm/llvm-project/commit/1c0e7221ce35e4b709951c06c67aeb1ed3205f27
DIFF: https://github.com/llvm/llvm-project/commit/1c0e7221ce35e4b709951c06c67aeb1ed3205f27.diff
LOG: [Clang] Prevent null pointer dereference in DiagnoseDeclAvailability() (#97095)
This patch adds an assertion in the DiagnoseDeclAvailabilit() function
to ensure that the expected availability attribute is not null before
they are passed to hasMatchingEnvironmentOrNone() to prevent potential
null pointer dereferences and improve the robustness of the availability
diagnostics process.
Added:
Modified:
clang/lib/Sema/SemaAvailability.cpp
Removed:
################################################################################
diff --git a/clang/lib/Sema/SemaAvailability.cpp b/clang/lib/Sema/SemaAvailability.cpp
index fed1c68d4d33a..df83bbfb7aac8 100644
--- a/clang/lib/Sema/SemaAvailability.cpp
+++ b/clang/lib/Sema/SemaAvailability.cpp
@@ -842,6 +842,7 @@ void DiagnoseUnguardedAvailability::DiagnoseDeclAvailability(
const AvailabilityAttr *AA =
getAttrForPlatform(SemaRef.getASTContext(), OffendingDecl);
+ assert(AA != nullptr && "expecting valid availability attribute");
bool EnvironmentMatchesOrNone =
hasMatchingEnvironmentOrNone(SemaRef.getASTContext(), AA);
VersionTuple Introduced = AA->getIntroduced();
More information about the cfe-commits
mailing list