From 7000f748bdd1cb3a55c6251ae67fe166657425bd Mon Sep 17 00:00:00 2001 From: Reka Kovacs Date: Thu, 2 Aug 2018 22:19:57 +0000 Subject: [PATCH] [analyzer] Add a safety check to InnerPointerChecker. Do not crash if the CXXRecordDecl of an object is not available. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@338775 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp b/lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp index 29677f737f..b253e67cff 100644 --- a/lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp +++ b/lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp @@ -129,8 +129,11 @@ bool InnerPointerChecker::isCalledOnStringObject( return false; QualType ObjTy = ObjRegion->getValueType(); - if (ObjTy.isNull() || - ObjTy->getAsCXXRecordDecl()->getName() != "basic_string") + if (ObjTy.isNull()) + return false; + + CXXRecordDecl *Decl = ObjTy->getAsCXXRecordDecl(); + if (!Decl || Decl->getName() != "basic_string") return false; return true; -- 2.50.1