[clang] [clang][analyzer] Support strlen with offset to string literal in CStringChecker (PR #159795)

DonĂ¡t Nagy via cfe-commits cfe-commits at lists.llvm.org
Mon Sep 22 08:33:30 PDT 2025


================
@@ -235,6 +242,19 @@ void testStrlenCallee(void) {
   clang_analyzer_eval(lenBefore == lenAfter); // expected-warning{{UNKNOWN}}
 }
 
+void strlen_symbolic_offset(unsigned x) {
+  const char *str = "abcd";
+  if (x > 3)
+    return;
+  // FIXME: these should be known
----------------
NagyDonat wrote:

You can use `clang_analyzer_value` to directly investigate the range (set) deduced for the symbol. It can be used e.g. as
```
clang_analyzer_value(x); // expected-warning {{32s:{ [-2147483648, 41], [43, 86], [88, 2147483647] }}}
```

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


More information about the cfe-commits mailing list