File tree Expand file tree Collapse file tree 3 files changed +13
-5
lines changed
Expand file tree Collapse file tree 3 files changed +13
-5
lines changed Original file line number Diff line number Diff line change @@ -54,7 +54,9 @@ private class QueryInjectionFlowConfig extends TaintTracking::Configuration {
5454 override predicate isSink ( DataFlow:: Node sink ) { sink instanceof QueryInjectionSink }
5555
5656 override predicate isSanitizer ( DataFlow:: Node node ) {
57- node .getType ( ) instanceof PrimitiveType or node .getType ( ) instanceof BoxedType
57+ node .getType ( ) instanceof PrimitiveType or
58+ node .getType ( ) instanceof BoxedType or
59+ node .getType ( ) instanceof NumberType
5860 }
5961}
6062
Original file line number Diff line number Diff line change @@ -101,6 +101,16 @@ class TypeMath extends Class {
101101 TypeMath ( ) { this .hasQualifiedName ( "java.lang" , "Math" ) }
102102}
103103
104+ /** The class `java.lang.Number`. */
105+ class TypeNumber extends RefType {
106+ TypeNumber ( ) { this .hasQualifiedName ( "java.lang" , "Number" ) }
107+ }
108+
109+ /** A (reflexive, transitive) subtype of `java.lang.Number`. */
110+ class NumberType extends RefType {
111+ NumberType ( ) { exists ( TypeNumber number | hasSubtype * ( number , this ) ) }
112+ }
113+
104114/** A numeric type, including both primitive and boxed types. */
105115class NumericType extends Type {
106116 NumericType ( ) {
Original file line number Diff line number Diff line change @@ -36,10 +36,6 @@ private class PredictableSeedFlowConfiguration extends DataFlow::Configuration {
3636 }
3737}
3838
39- private class TypeNumber extends Class {
40- TypeNumber ( ) { this .getQualifiedName ( ) = "java.lang.Number" }
41- }
42-
4339private predicate predictableCalcStep ( Expr e1 , Expr e2 ) {
4440 e2 .( BinaryExpr ) .hasOperands ( e1 , any ( PredictableSeedExpr p ) )
4541 or
You can’t perform that action at this time.
0 commit comments