[clang] Adding optin.taint.TaintedDiv checker (PR #106389)
Balazs Benics via cfe-commits
cfe-commits at lists.llvm.org
Fri Aug 30 02:37:36 PDT 2024
================
@@ -1053,6 +1053,34 @@ by explicitly marking the ``size`` parameter as sanitized. See the
delete[] ptr;
}
+.. _optin-taint-TaintedDiv:
+
+optin.taint.TaintedDiv (C, C++, ObjC)
+"""""""""""""""""""""""""""""""""""""
+This checker warns when the denominator in a division
+operation is a tainted (potentially attacker controlled) value.
+If the attacker can set the denominator to 0, a runtime error can
+be triggered. The checker warns if the analyzer cannot prove
+that the denominator is not 0 and it is a tainted value.
+This warning is more pessimistic than the :ref:`core-DivideZero` checker
+which warns only when it can prove that the denominator is 0.
+
+.. code-block:: c
+
+ int vulnerable(int n) {
+ size_t size = 0;
+ scanf("%zu", &size);
+ return n/size; // warn: Division by a tainted value, possibly zero
+ }
+
+ int not_vulnerable(void) {
----------------
steakhal wrote:
```suggestion
int not_vulnerable(int n) {
```
https://github.com/llvm/llvm-project/pull/106389
More information about the cfe-commits
mailing list