[clang] 0f7f8db - [clang][analyzer] Restrict 'fopen' modeling to POSIX versions in SimpleStreamChecker (#72016)

via cfe-commits cfe-commits at lists.llvm.org
Wed Nov 15 02:17:37 PST 2023


Author: Ben Shi
Date: 2023-11-15T18:17:32+08:00
New Revision: 0f7f8dbcf5ec06cb1ea8912ffd234523f60a61be

URL: https://github.com/llvm/llvm-project/commit/0f7f8dbcf5ec06cb1ea8912ffd234523f60a61be
DIFF: https://github.com/llvm/llvm-project/commit/0f7f8dbcf5ec06cb1ea8912ffd234523f60a61be.diff

LOG: [clang][analyzer] Restrict 'fopen' modeling to POSIX versions in SimpleStreamChecker (#72016)

Added: 
    

Modified: 
    clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp
    clang/test/Analysis/stream-non-posix-function.c

Removed: 
    


################################################################################
diff  --git a/clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp
index 32d95e944195390..2ac9f65c9793f45 100644
--- a/clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp
+++ b/clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp
@@ -90,7 +90,7 @@ class SimpleStreamChecker : public Checker<check::PostCall,
 REGISTER_MAP_WITH_PROGRAMSTATE(StreamMap, SymbolRef, StreamState)
 
 SimpleStreamChecker::SimpleStreamChecker()
-    : OpenFn({"fopen"}), CloseFn({"fclose"}, 1) {
+    : OpenFn({"fopen"}, 2), CloseFn({"fclose"}, 1) {
   // Initialize the bug types.
   DoubleCloseBugType.reset(
       new BugType(this, "Double fclose", "Unix Stream API Error"));

diff  --git a/clang/test/Analysis/stream-non-posix-function.c b/clang/test/Analysis/stream-non-posix-function.c
index 70b3ab25d026532..c6dc65afe788bbf 100644
--- a/clang/test/Analysis/stream-non-posix-function.c
+++ b/clang/test/Analysis/stream-non-posix-function.c
@@ -1,4 +1,6 @@
 // RUN: %clang_analyze_cc1 -fno-builtin -analyzer-checker=core,alpha.unix.Stream -verify %s
+// RUN: %clang_analyze_cc1 -fno-builtin -analyzer-checker=core,alpha.unix.SimpleStream -verify %s
+
 // expected-no-diagnostics
 
 typedef struct _FILE FILE;


        


More information about the cfe-commits mailing list