[clang] 8265994 - [NFC][CLANG] Fix Static Code Analyzer Concerns with dereference null return value in applyObjCTypeArgs()

via cfe-commits cfe-commits at lists.llvm.org
Fri Jun 2 13:48:02 PDT 2023


Author: Manna, Soumi
Date: 2023-06-02T13:40:45-07:00
New Revision: 82659941ccb88605ae4288f7506ef11e5fe3fc17

URL: https://github.com/llvm/llvm-project/commit/82659941ccb88605ae4288f7506ef11e5fe3fc17
DIFF: https://github.com/llvm/llvm-project/commit/82659941ccb88605ae4288f7506ef11e5fe3fc17.diff

LOG: [NFC][CLANG] Fix Static Code Analyzer Concerns with dereference null return value in applyObjCTypeArgs()

This patch uses castAs instead of getAs to resolve dereference issue with nullptr boundObjC when calling
canAssignObjCInterfaces() or isObjCIdType() in applyObjCTypeArgs() since getAs returns nullptr.

Reviewed By: erichkeane

Differential Revision: https://reviews.llvm.org/D151964

Added: 
    

Modified: 
    clang/lib/Sema/SemaType.cpp

Removed: 
    


################################################################################
diff  --git a/clang/lib/Sema/SemaType.cpp b/clang/lib/Sema/SemaType.cpp
index 1e4eecee21e5..f844048889b5 100644
--- a/clang/lib/Sema/SemaType.cpp
+++ b/clang/lib/Sema/SemaType.cpp
@@ -950,7 +950,7 @@ static QualType applyObjCTypeArgs(Sema &S, SourceLocation loc, QualType type,
 
       // Retrieve the bound.
       QualType bound = typeParam->getUnderlyingType();
-      const auto *boundObjC = bound->getAs<ObjCObjectPointerType>();
+      const auto *boundObjC = bound->castAs<ObjCObjectPointerType>();
 
       // Determine whether the type argument is substitutable for the bound.
       if (typeArgObjC->isObjCIdType()) {


        


More information about the cfe-commits mailing list