apelete created this revision. apelete added a reviewer: zaks.anna. apelete added a subscriber: cfe-commits.
This patch fixes a few "Logic error" warnings of the type "Called c++ object pointer is null" reported by Clang Static Analyzer on the following files: - lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp, - lib/StaticAnalyzer/Core/PlistDiagnostics.cpp. Signed-off-by: Apelete Seketeli <apel...@seketeli.net> http://reviews.llvm.org/D19962 Files: lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp lib/StaticAnalyzer/Core/PlistDiagnostics.cpp Index: lib/StaticAnalyzer/Core/PlistDiagnostics.cpp =================================================================== --- lib/StaticAnalyzer/Core/PlistDiagnostics.cpp +++ lib/StaticAnalyzer/Core/PlistDiagnostics.cpp @@ -297,6 +297,7 @@ if (!Diags.empty()) SM = &Diags.front()->path.front()->getLocation().getManager(); + assert(SM && "SourceManager is NULL, cannot iterate through the diagnostics"); for (std::vector<const PathDiagnostic*>::iterator DI = Diags.begin(), DE = Diags.end(); DI != DE; ++DI) { Index: lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp =================================================================== --- lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp +++ lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp @@ -693,6 +693,8 @@ !Param->getType()->isReferenceType()) continue; + assert(ArgExpr && "cannot get the type of a NULL expression"); + NullConstraint Nullness = getNullConstraint(*ArgSVal, State); Nullability RequiredNullability =
Index: lib/StaticAnalyzer/Core/PlistDiagnostics.cpp =================================================================== --- lib/StaticAnalyzer/Core/PlistDiagnostics.cpp +++ lib/StaticAnalyzer/Core/PlistDiagnostics.cpp @@ -297,6 +297,7 @@ if (!Diags.empty()) SM = &Diags.front()->path.front()->getLocation().getManager(); + assert(SM && "SourceManager is NULL, cannot iterate through the diagnostics"); for (std::vector<const PathDiagnostic*>::iterator DI = Diags.begin(), DE = Diags.end(); DI != DE; ++DI) { Index: lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp =================================================================== --- lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp +++ lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp @@ -693,6 +693,8 @@ !Param->getType()->isReferenceType()) continue; + assert(ArgExpr && "cannot get the type of a NULL expression"); + NullConstraint Nullness = getNullConstraint(*ArgSVal, State); Nullability RequiredNullability =
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits