[clang] [clang][analyzer] Improve checker 'unix.cstring.NotNullTerminated' (PR #149106)

via cfe-commits cfe-commits at lists.llvm.org
Wed Jul 16 07:22:37 PDT 2025


github-actions[bot] wrote:

<!--LLVM CODE FORMAT COMMENT: {clang-format}-->


:warning: C/C++ code formatter, clang-format found issues in your code. :warning:

<details>
<summary>
You can test this locally with the following command:
</summary>

``````````bash
git-clang-format --diff HEAD~1 HEAD --extensions h,c,cpp -- clang/test/Analysis/cstring-notnullterm.c clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp clang/test/Analysis/Inputs/system-header-simulator.h
``````````

</details>

<details>
<summary>
View the diff from clang-format here.
</summary>

``````````diff
diff --git a/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
index 4f1485393..345eb4a06 100644
--- a/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
+++ b/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
@@ -325,10 +325,8 @@ public:
   ProgramStateRef checkNullTerminated(CheckerContext &C, ProgramStateRef State,
                                       AnyArgExpr Arg, SVal ArgVal) const;
 
-  void emitOverlapBug(CheckerContext &C,
-                      ProgramStateRef state,
-                      const Stmt *First,
-                      const Stmt *Second) const;
+  void emitOverlapBug(CheckerContext &C, ProgramStateRef state,
+                      const Stmt *First, const Stmt *Second) const;
   void emitNullArgBug(CheckerContext &C, ProgramStateRef State, const Stmt *S,
                       StringRef WarningMsg) const;
   void emitOutOfBoundsBug(CheckerContext &C, ProgramStateRef State,
@@ -1000,7 +998,9 @@ ProgramStateRef CStringChecker::checkNullTerminated(CheckerContext &C,
   if (Offset >= RegionExtent)
     return State;
   for (int I = Offset; I < RegionExtent; ++I) {
-    const ElementRegion *ElemR = RegionM.getElementRegion(C.getASTContext().CharTy, SVB.makeArrayIndex(I), StrReg, C.getASTContext());
+    const ElementRegion *ElemR = RegionM.getElementRegion(
+        C.getASTContext().CharTy, SVB.makeArrayIndex(I), StrReg,
+        C.getASTContext());
     SVal ElemVal = State->getSValAsScalarOrLoc(ElemR);
     if (!State->isNonNull(ElemVal).isConstrainedTrue())
       // We have here a lower bound for the string length.

``````````

</details>


https://github.com/llvm/llvm-project/pull/149106


More information about the cfe-commits mailing list