balazske added a comment.

The summary of this last discussion is that it is not acceptable to have only 
the simple check for the explicit comparison with a fixed constant. At least 
not for return types where the "implicit" check (a check that is always true or 
false for the error return value) is possible, for example the `char*` case. 
For functions that return a sort of "handle" (mainly a pointer to a struct that 
is not normally used with pointer arithmetic) the checker can still be useful.

Another solution for the problem is if the system calls are modeled in a way 
that there is always a state split between error end non-error (we will have a 
path where it is known that the specific variable can be only (for example) 
`NULL` and this can be detected by other checkers).


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D72705/new/

https://reviews.llvm.org/D72705

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to