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; _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits