diff --git a/clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.PureVirtualCall.rst b/clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.PureVirtualCall.rst deleted file mode 100644 index 9fab628b80d44..0000000000000 --- a/clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.PureVirtualCall.rst +++ /dev/null @@ -1,9 +0,0 @@ -.. title:: clang-tidy - clang-analyzer-cplusplus.PureVirtualCall - -clang-analyzer-cplusplus.PureVirtualCall -======================================== - -Check pure virtual function calls during construction/destruction. - -The clang-analyzer-cplusplus.PureVirtualCall check is an alias of -Clang Static Analyzer cplusplus.PureVirtualCall. diff --git a/clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.SelfAssignment.rst b/clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.SelfAssignment.rst new file mode 100644 index 0000000000000..62e300660828b --- /dev/null +++ b/clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.SelfAssignment.rst @@ -0,0 +1,13 @@ +.. title:: clang-tidy - clang-analyzer-cplusplus.SelfAssignment +.. meta:: + :http-equiv=refresh: 5;URL=https://clang.llvm.org/docs/analyzer/checkers.html#cplusplus-selfassignment + +clang-analyzer-cplusplus.SelfAssignment +======================================= + +Checks C++ copy and move assignment operators for self assignment. + +The `clang-analyzer-cplusplus.SelfAssignment` check is an alias, please see +`Clang Static Analyzer Available Checkers +`_ +for more information. diff --git a/clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.osx.OSObjectCStyleCast.rst b/clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.osx.OSObjectCStyleCast.rst deleted file mode 100644 index c2fef59f56894..0000000000000 --- a/clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.osx.OSObjectCStyleCast.rst +++ /dev/null @@ -1,9 +0,0 @@ -.. title:: clang-tidy - clang-analyzer-optin.osx.OSObjectCStyleCast - -clang-analyzer-optin.osx.OSObjectCStyleCast -=========================================== - -Checker for C-style casts of OSObjects. - -The clang-analyzer-optin.osx.OSObjectCStyleCast check is an alias of -Clang Static Analyzer optin.osx.OSObjectCStyleCast. diff --git a/clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.MIG.rst b/clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.MIG.rst deleted file mode 100644 index a7b8a1cfb14cd..0000000000000 --- a/clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.MIG.rst +++ /dev/null @@ -1,9 +0,0 @@ -.. title:: clang-tidy - clang-analyzer-osx.MIG - -clang-analyzer-osx.MIG -====================== - -Find violations of the Mach Interface Generator calling convention. - -The clang-analyzer-osx.MIG check is an alias of -Clang Static Analyzer osx.MIG. diff --git a/clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.OSObjectRetainCount.rst b/clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.OSObjectRetainCount.rst deleted file mode 100644 index c32982d407c28..0000000000000 --- a/clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.OSObjectRetainCount.rst +++ /dev/null @@ -1,9 +0,0 @@ -.. title:: clang-tidy - clang-analyzer-osx.OSObjectRetainCount - -clang-analyzer-osx.OSObjectRetainCount -====================================== - -Check for leaks and improper reference count management for OSObject. - -The clang-analyzer-osx.OSObjectRetainCount check is an alias of -Clang Static Analyzer osx.OSObjectRetainCount. diff --git a/clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.PutenvStackArray.rst b/clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.PutenvStackArray.rst index 0a5feff8d3ca8..55506ed16c83a 100644 --- a/clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.PutenvStackArray.rst +++ b/clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.PutenvStackArray.rst @@ -3,8 +3,13 @@ clang-analyzer-security.PutenvStackArray ======================================== -Finds calls to the function 'putenv' which pass a pointer to an automatic -(stack-allocated) array as the argument. +Finds calls to the putenv function which pass a pointer to a stack-allocated +(automatic) array as the argument. Function putenv does not copy the passed +string, only a pointer to the data is stored and this data can be read even by +other threads. Content of a stack-allocated array is likely to be overwritten +after exiting from the function. -The clang-analyzer-security.PutenvStackArray check is an alias of -Clang Static Analyzer security.PutenvStackArray. +The `clang-analyzer-security.PutenvStackArray` check is an alias, please see +`Clang Static Analyzer Available Checkers +`_ +for more information. diff --git a/clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.SetgidSetuidOrder.rst b/clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.SetgidSetuidOrder.rst index 82f22b11f77fb..af9ca517e02cf 100644 --- a/clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.SetgidSetuidOrder.rst +++ b/clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.SetgidSetuidOrder.rst @@ -3,8 +3,14 @@ clang-analyzer-security.SetgidSetuidOrder ========================================= -Warn on possible reversed order of 'setgid(getgid()))' and 'setuid(getuid())' -(CERT: POS36-C). +The checker checks for sequences of ``setuid(getuid())`` and ``setgid(getgid())`` +calls (in this order). If such a sequence is found and there is no other +privilege-changing function call (``seteuid``, ``setreuid``, ``setresuid`` and +the GID versions of these) in between, a warning is generated. The checker finds +only exactly ``setuid(getuid())`` calls (and the GID versions), not for example +if the result of ``getuid()`` is stored in a variable. -The clang-analyzer-security.SetgidSetuidOrder check is an alias of -Clang Static Analyzer security.SetgidSetuidOrder. +The `clang-analyzer-security.SetgidSetuidOrder` check is an alias, please see +`Clang Static Analyzer Available Checkers +`_ +for more information. diff --git a/clang-tools-extra/docs/clang-tidy/checks/list.rst b/clang-tools-extra/docs/clang-tidy/checks/list.rst index d731b13fc0df4..d9e9cb67ef7a0 100644 --- a/clang-tools-extra/docs/clang-tidy/checks/list.rst +++ b/clang-tools-extra/docs/clang-tidy/checks/list.rst @@ -458,7 +458,7 @@ Check aliases :doc:`clang-analyzer-cplusplus.NewDelete `, `Clang Static Analyzer cplusplus.NewDelete `_, :doc:`clang-analyzer-cplusplus.NewDeleteLeaks `, `Clang Static Analyzer cplusplus.NewDeleteLeaks `_, :doc:`clang-analyzer-cplusplus.PlacementNew `, `Clang Static Analyzer cplusplus.PlacementNew `_, - :doc:`clang-analyzer-cplusplus.PureVirtualCall `, Clang Static Analyzer cplusplus.PureVirtualCall, + :doc:`clang-analyzer-cplusplus.SelfAssignment `, `Clang Static Analyzer cplusplus.SelfAssignment `_, :doc:`clang-analyzer-cplusplus.StringChecker `, `Clang Static Analyzer cplusplus.StringChecker `_, :doc:`clang-analyzer-deadcode.DeadStores `, `Clang Static Analyzer deadcode.DeadStores `_, :doc:`clang-analyzer-fuchsia.HandleChecker `, `Clang Static Analyzer fuchsia.HandleChecker `_, @@ -471,7 +471,6 @@ Check aliases :doc:`clang-analyzer-optin.cplusplus.UninitializedObject `, `Clang Static Analyzer optin.cplusplus.UninitializedObject `_, :doc:`clang-analyzer-optin.cplusplus.VirtualCall `, `Clang Static Analyzer optin.cplusplus.VirtualCall `_, :doc:`clang-analyzer-optin.mpi.MPI-Checker `, `Clang Static Analyzer optin.mpi.MPI-Checker `_, - :doc:`clang-analyzer-optin.osx.OSObjectCStyleCast `, Clang Static Analyzer optin.osx.OSObjectCStyleCast, :doc:`clang-analyzer-optin.osx.cocoa.localizability.EmptyLocalizationContextChecker `, `Clang Static Analyzer optin.osx.cocoa.localizability.EmptyLocalizationContextChecker `_, :doc:`clang-analyzer-optin.osx.cocoa.localizability.NonLocalizedStringChecker `, `Clang Static Analyzer optin.osx.cocoa.localizability.NonLocalizedStringChecker `_, :doc:`clang-analyzer-optin.performance.GCDAntipattern `, `Clang Static Analyzer optin.performance.GCDAntipattern `_, @@ -479,9 +478,7 @@ Check aliases :doc:`clang-analyzer-optin.portability.UnixAPI `, `Clang Static Analyzer optin.portability.UnixAPI `_, :doc:`clang-analyzer-optin.taint.TaintedAlloc `, `Clang Static Analyzer optin.taint.TaintedAlloc `_, :doc:`clang-analyzer-osx.API `, `Clang Static Analyzer osx.API `_, - :doc:`clang-analyzer-osx.MIG `, Clang Static Analyzer osx.MIG, :doc:`clang-analyzer-osx.NumberObjectConversion `, `Clang Static Analyzer osx.NumberObjectConversion `_, - :doc:`clang-analyzer-osx.OSObjectRetainCount `, Clang Static Analyzer osx.OSObjectRetainCount, :doc:`clang-analyzer-osx.ObjCProperty `, `Clang Static Analyzer osx.ObjCProperty `_, :doc:`clang-analyzer-osx.SecKeychainAPI `, `Clang Static Analyzer osx.SecKeychainAPI `_, :doc:`clang-analyzer-osx.cocoa.AtSync `, `Clang Static Analyzer osx.cocoa.AtSync `_, @@ -508,15 +505,14 @@ Check aliases :doc:`clang-analyzer-osx.coreFoundation.containers.OutOfBounds `, `Clang Static Analyzer osx.coreFoundation.containers.OutOfBounds `_, :doc:`clang-analyzer-osx.coreFoundation.containers.PointerSizedValues `, `Clang Static Analyzer osx.coreFoundation.containers.PointerSizedValues `_, :doc:`clang-analyzer-security.FloatLoopCounter `, `Clang Static Analyzer security.FloatLoopCounter `_, - :doc:`clang-analyzer-security.PutenvStackArray `, Clang Static Analyzer security.PutenvStackArray, - :doc:`clang-analyzer-security.SetgidSetuidOrder `, Clang Static Analyzer security.SetgidSetuidOrder, + :doc:`clang-analyzer-security.PutenvStackArray `, `Clang Static Analyzer security.PutenvStackArray `_, + :doc:`clang-analyzer-security.SetgidSetuidOrder `, `Clang Static Analyzer security.SetgidSetuidOrder `_, :doc:`clang-analyzer-security.cert.env.InvalidPtr `, `Clang Static Analyzer security.cert.env.InvalidPtr `_, :doc:`clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling `, `Clang Static Analyzer security.insecureAPI.DeprecatedOrUnsafeBufferHandling `_, :doc:`clang-analyzer-security.insecureAPI.UncheckedReturn `, `Clang Static Analyzer security.insecureAPI.UncheckedReturn `_, :doc:`clang-analyzer-security.insecureAPI.bcmp `, `Clang Static Analyzer security.insecureAPI.bcmp `_, :doc:`clang-analyzer-security.insecureAPI.bcopy `, `Clang Static Analyzer security.insecureAPI.bcopy `_, :doc:`clang-analyzer-security.insecureAPI.bzero `, `Clang Static Analyzer security.insecureAPI.bzero `_, - :doc:`clang-analyzer-security.insecureAPI.decodeValueOfObjCType `, Clang Static Analyzer security.insecureAPI.decodeValueOfObjCType, :doc:`clang-analyzer-security.insecureAPI.getpw `, `Clang Static Analyzer security.insecureAPI.getpw `_, :doc:`clang-analyzer-security.insecureAPI.gets `, `Clang Static Analyzer security.insecureAPI.gets `_, :doc:`clang-analyzer-security.insecureAPI.mkstemp `, `Clang Static Analyzer security.insecureAPI.mkstemp `_, @@ -535,9 +531,6 @@ Check aliases :doc:`clang-analyzer-unix.Vfork `, `Clang Static Analyzer unix.Vfork `_, :doc:`clang-analyzer-unix.cstring.BadSizeArg `, `Clang Static Analyzer unix.cstring.BadSizeArg `_, :doc:`clang-analyzer-unix.cstring.NullArg `, `Clang Static Analyzer unix.cstring.NullArg `_, - :doc:`clang-analyzer-valist.CopyToSelf `, Clang Static Analyzer valist.CopyToSelf, - :doc:`clang-analyzer-valist.Uninitialized `, Clang Static Analyzer valist.Uninitialized, - :doc:`clang-analyzer-valist.Unterminated `, Clang Static Analyzer valist.Unterminated, :doc:`clang-analyzer-webkit.NoUncountedMemberChecker `, `Clang Static Analyzer webkit.NoUncountedMemberChecker `_, :doc:`clang-analyzer-webkit.RefCntblBaseVirtualDtor `, `Clang Static Analyzer webkit.RefCntblBaseVirtualDtor `_, :doc:`clang-analyzer-webkit.UncountedLambdaCapturesChecker `, `Clang Static Analyzer webkit.UncountedLambdaCapturesChecker `_,