diff --git a/clang/docs/analyzer/checkers.rst b/clang/docs/analyzer/checkers.rst index 26c5028e04955..4e8b31869bb56 100644 --- a/clang/docs/analyzer/checkers.rst +++ b/clang/docs/analyzer/checkers.rst @@ -1103,7 +1103,16 @@ To override this threshold to e.g. 4 bytes, use the optin.portability.UnixAPI """"""""""""""""""""""""" -Finds implementation-defined behavior in UNIX/Posix functions. +Reports situations where 0 is passed as the "size" argument of various +allocation functions ( ``calloc``, ``malloc``, ``realloc``, ``reallocf``, +``alloca``, ``__builtin_alloca``, ``__builtin_alloca_with_align``, ``valloc``). + +Note that similar functionality is also supported by :ref:`unix-Malloc` which +reports code that *uses* memory allocated with size zero. + +(The name of this checker is motivated by the fact that it was originally +introduced with the vague goal that it "Finds implementation-defined behavior +in UNIX/Posix functions.") optin.taint diff --git a/clang/include/clang/StaticAnalyzer/Checkers/Checkers.td b/clang/include/clang/StaticAnalyzer/Checkers/Checkers.td index 2234143004b6f..38584c98fcc91 100644 --- a/clang/include/clang/StaticAnalyzer/Checkers/Checkers.td +++ b/clang/include/clang/StaticAnalyzer/Checkers/Checkers.td @@ -1656,8 +1656,8 @@ def CloneChecker : Checker<"CloneChecker">, let ParentPackage = PortabilityOptIn in { def UnixAPIPortabilityChecker : Checker<"UnixAPI">, - HelpText<"Finds implementation-defined behavior in UNIX/Posix functions">, - Documentation; + HelpText<"Finds dynamic memory allocation with size zero">, + Documentation; } // end optin.portability