https://github.com/NagyDonat commented:

Looks good overall, I added several suggestions but they mostly tweak the 
documentation and the comments.

Moreover, I don't see any tests where the separation between  
`optin.taint.TaintedDiv` and `core.DivideZero` is tested by enabling one of 
them and disabling the other. You should probably add a new short test file for 
this where:
 - taint modeling is active;
 - there are two RUN lines (with different `-verify=...` tags): one that 
enables `optin.taint.TaintedDiv` and one that enables `core.DivideZero`;
 - there are testcases that perform division by:
   - a value that comes from a tainted source and is known to be zero at the 
point of division (I know that e.g. in an `if (x == 0)` block `getSVal()` will 
return a `ConcreteInt` as the value of `x` instead of the (potentially tainted) 
symbol that was used to represent it earlier -- but it would be still nice to 
see this situation.)
   - a value that comes from a tainted source and may be either zero or nonzero;
   - a value that comes from a tainted source and is known to be nonzero.

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

Reply via email to