[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