diff options
author | Artem Dergachev <artem.dergachev@gmail.com> | 2019-12-10 16:48:17 -0800 |
---|---|---|
committer | Artem Dergachev <artem.dergachev@gmail.com> | 2019-12-11 11:22:36 -0800 |
commit | 134faae04259b0412a067c73069f61905fc451d7 (patch) | |
tree | b1d7087bedbf4dc28a0de01a978e916372c5e13f /clang/lib | |
parent | b361d3bbcd85647c9f6640a5f57932c43fdb7a1a (diff) | |
download | bcm5719-llvm-134faae04259b0412a067c73069f61905fc451d7.tar.gz bcm5719-llvm-134faae04259b0412a067c73069f61905fc451d7.zip |
[analyzer] CStringChecker: Improve warning messages.
Differential Revision: https://reviews.llvm.org/D71321
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp index f2c994b2a66..c05a09da3df 100644 --- a/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp @@ -290,9 +290,9 @@ ProgramStateRef CStringChecker::checkNonNull(CheckerContext &C, SmallString<80> buf; llvm::raw_svector_ostream OS(buf); assert(CurrentFunctionDescription); - OS << "Null pointer argument in call to " << CurrentFunctionDescription - << ' ' << IdxOfArg << llvm::getOrdinalSuffix(IdxOfArg) - << " parameter"; + OS << "Null pointer passed as " << IdxOfArg + << llvm::getOrdinalSuffix(IdxOfArg) << " argument to " + << CurrentFunctionDescription; emitNullArgBug(C, stateNull, S, OS.str()); } @@ -1536,7 +1536,10 @@ void CStringChecker::evalStrcpyCommon(CheckerContext &C, const CallExpr *CE, bool ReturnEnd, bool IsBounded, ConcatFnKind appendK, bool returnPtr) const { - CurrentFunctionDescription = "string copy function"; + if (appendK == ConcatFnKind::none) + CurrentFunctionDescription = "string copy function"; + else + CurrentFunctionDescription = "string concatenation function"; ProgramStateRef state = C.getState(); const LocationContext *LCtx = C.getLocationContext(); |