balazske wrote:

> So, it seems removing them from `StdLibraryFunctionsChecker` is not out of 
> the question. We can leave them together with other stream functions, or we 
> could move them to `UnixAPIChecker`, which we have enabled downstream.
> 
> I think the latter is a reasonable compromise so `StreamChecker` scope is the 
> stream itself, and not everything surrounding the `FILE*` APIs.

I like more if the new checks are moved to `UnixAPIChecker`, or into 
`StdLibraryFunctionsChecker`. The mentioned FIXME comment is about that these 
functions should be moved into the `ModelPOSIX` part in 
`StdLibraryFunctionsChecker`. 

Probably it would be better if `StdLibraryFunctionsChecker` would be an API 
(instead of checker) and in this way any checker can use it for the specific 
functions. But with the current solution the checks in 
`StdLibraryFunctionsChecker` can be changed for specific needs. (For example if 
a buffer size check is needed in a checker like `StreamChecker` it could use a 
simple API to do this. With the current implementation it can not use an API, 
but we can add the check into `StdLibraryFunctionsChecker` instead.) The checks 
like sufficient buffer size or NULL pointer arguments are common to many 
checkers and implementing these separately is code repetition and makes checker 
code more difficult.

https://github.com/llvm/llvm-project/pull/83027
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to