mirror of
https://github.com/github/codeql.git
synced 2026-02-12 05:01:06 +01:00
Merge branch 'main' into splitoff
This commit is contained in:
@@ -158,22 +158,6 @@ private class UnsignedBitwiseAndExpr extends BitwiseAndExpr {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the floor of `v`, with additional logic to work around issues with
|
||||
* large numbers.
|
||||
*/
|
||||
bindingset[v]
|
||||
float safeFloor(float v) {
|
||||
// return the floor of v
|
||||
v.abs() < 2.pow(31) and
|
||||
result = v.floor()
|
||||
or
|
||||
// `floor()` doesn't work correctly on large numbers (since it returns an integer),
|
||||
// so fall back to unrounded numbers at this scale.
|
||||
not v.abs() < 2.pow(31) and
|
||||
result = v
|
||||
}
|
||||
|
||||
/** A `MulExpr` where exactly one operand is constant. */
|
||||
private class MulByConstantExpr extends MulExpr {
|
||||
float constant;
|
||||
@@ -1266,7 +1250,7 @@ private float getLowerBoundsImpl(Expr expr) {
|
||||
rsExpr = expr and
|
||||
left = getFullyConvertedLowerBounds(rsExpr.getLeftOperand()) and
|
||||
right = getValue(rsExpr.getRightOperand().getFullyConverted()).toInt() and
|
||||
result = safeFloor(left / 2.pow(right))
|
||||
result = (left / 2.pow(right)).floorFloat()
|
||||
)
|
||||
// Not explicitly modeled by a SimpleRangeAnalysisExpr
|
||||
) and
|
||||
@@ -1475,7 +1459,7 @@ private float getUpperBoundsImpl(Expr expr) {
|
||||
rsExpr = expr and
|
||||
left = getFullyConvertedUpperBounds(rsExpr.getLeftOperand()) and
|
||||
right = getValue(rsExpr.getRightOperand().getFullyConverted()).toInt() and
|
||||
result = safeFloor(left / 2.pow(right))
|
||||
result = (left / 2.pow(right)).floorFloat()
|
||||
)
|
||||
// Not explicitly modeled by a SimpleRangeAnalysisExpr
|
||||
) and
|
||||
@@ -1725,6 +1709,22 @@ predicate nonNanGuardedVariable(Expr guard, VariableAccess v, boolean branch) {
|
||||
nanExcludingComparison(guard, branch)
|
||||
}
|
||||
|
||||
/**
|
||||
* Adjusts a lower bound to its meaning for integral types.
|
||||
*
|
||||
* Examples:
|
||||
* `>= 3.0` becomes `3.0`
|
||||
* ` > 3.0` becomes `4.0`
|
||||
* `>= 3.5` becomes `4.0`
|
||||
* ` > 3.5` becomes `4.0`
|
||||
*/
|
||||
bindingset[strictness, lb]
|
||||
private float adjustLowerBoundIntegral(RelationStrictness strictness, float lb) {
|
||||
if strictness = Nonstrict() and lb.floorFloat() = lb
|
||||
then result = lb
|
||||
else result = lb.floorFloat() + 1
|
||||
}
|
||||
|
||||
/**
|
||||
* If the guard is a comparison of the form `p*v + q <CMP> r`, then this
|
||||
* predicate uses the bounds information for `r` to compute a lower bound
|
||||
@@ -1736,15 +1736,29 @@ private predicate lowerBoundFromGuard(Expr guard, VariableAccess v, float lb, bo
|
||||
|
|
||||
if nonNanGuardedVariable(guard, v, branch)
|
||||
then
|
||||
if
|
||||
strictness = Nonstrict() or
|
||||
not getVariableRangeType(v.getTarget()) instanceof IntegralType
|
||||
then lb = childLB
|
||||
else lb = childLB + 1
|
||||
if getVariableRangeType(v.getTarget()) instanceof IntegralType
|
||||
then lb = adjustLowerBoundIntegral(strictness, childLB)
|
||||
else lb = childLB
|
||||
else lb = varMinVal(v.getTarget())
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Adjusts an upper bound to its meaning for integral types.
|
||||
*
|
||||
* Examples:
|
||||
* `<= 3.0` becomes `3.0`
|
||||
* ` < 3.0` becomes `2.0`
|
||||
* `<= 3.5` becomes `3.0`
|
||||
* ` < 3.5` becomes `3.0`
|
||||
*/
|
||||
bindingset[strictness, ub]
|
||||
private float adjustUpperBoundIntegral(RelationStrictness strictness, float ub) {
|
||||
if strictness = Nonstrict() and ub.ceilFloat() = ub
|
||||
then result = ub
|
||||
else result = ub.ceilFloat() - 1
|
||||
}
|
||||
|
||||
/**
|
||||
* If the guard is a comparison of the form `p*v + q <CMP> r`, then this
|
||||
* predicate uses the bounds information for `r` to compute a upper bound
|
||||
@@ -1756,11 +1770,9 @@ private predicate upperBoundFromGuard(Expr guard, VariableAccess v, float ub, bo
|
||||
|
|
||||
if nonNanGuardedVariable(guard, v, branch)
|
||||
then
|
||||
if
|
||||
strictness = Nonstrict() or
|
||||
not getVariableRangeType(v.getTarget()) instanceof IntegralType
|
||||
then ub = childUB
|
||||
else ub = childUB - 1
|
||||
if getVariableRangeType(v.getTarget()) instanceof IntegralType
|
||||
then ub = adjustUpperBoundIntegral(strictness, childUB)
|
||||
else ub = childUB
|
||||
else ub = varMaxVal(v.getTarget())
|
||||
)
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -27,7 +27,7 @@ invalidOverlap
|
||||
nonUniqueEnclosingIRFunction
|
||||
fieldAddressOnNonPointer
|
||||
thisArgumentIsNonPointer
|
||||
| ir.cpp:2546:34:2546:34 | Call: call to operator bool | Call instruction 'Call: call to operator bool' has a `this` argument operand that is not an address, in function '$@'. | ir.cpp:2545:6:2545:23 | void this_inconsistency(bool) | void this_inconsistency(bool) |
|
||||
| ir.cpp:2548:34:2548:34 | Call: call to operator bool | Call instruction 'Call: call to operator bool' has a `this` argument operand that is not an address, in function '$@'. | ir.cpp:2547:6:2547:23 | void this_inconsistency(bool) | void this_inconsistency(bool) |
|
||||
nonUniqueIRVariable
|
||||
nonBooleanOperand
|
||||
missingCppType
|
||||
|
||||
@@ -27,7 +27,7 @@ invalidOverlap
|
||||
nonUniqueEnclosingIRFunction
|
||||
fieldAddressOnNonPointer
|
||||
thisArgumentIsNonPointer
|
||||
| ir.cpp:2546:34:2546:34 | Call: call to operator bool | Call instruction 'Call: call to operator bool' has a `this` argument operand that is not an address, in function '$@'. | ir.cpp:2545:6:2545:23 | void this_inconsistency(bool) | void this_inconsistency(bool) |
|
||||
| ir.cpp:2548:34:2548:34 | Call: call to operator bool | Call instruction 'Call: call to operator bool' has a `this` argument operand that is not an address, in function '$@'. | ir.cpp:2547:6:2547:23 | void this_inconsistency(bool) | void this_inconsistency(bool) |
|
||||
nonUniqueIRVariable
|
||||
nonBooleanOperand
|
||||
missingCppType
|
||||
|
||||
@@ -1214,6 +1214,8 @@ void VectorTypes(int i) {
|
||||
vi4[i] = x;
|
||||
vector(4, int) vi4_shuffle = __builtin_shufflevector(vi4, vi4, 3+0, 2, 1, 0);
|
||||
vi4 = vi4 + vi4_shuffle;
|
||||
vi4 = vi4 && vi4_shuffle;
|
||||
vi4 = vi4 || vi4_shuffle;
|
||||
}
|
||||
|
||||
void *memcpy(void *dst, void *src, int size);
|
||||
|
||||
@@ -20,7 +20,7 @@ multipleIRTypes
|
||||
lostReachability
|
||||
backEdgeCountMismatch
|
||||
useNotDominatedByDefinition
|
||||
| ir.cpp:1535:8:1535:8 | Unary | Operand 'Unary' is not dominated by its definition in function '$@'. | ir.cpp:1535:8:1535:8 | void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct() | void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct() |
|
||||
| ir.cpp:1537:8:1537:8 | Unary | Operand 'Unary' is not dominated by its definition in function '$@'. | ir.cpp:1537:8:1537:8 | void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct() | void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct() |
|
||||
switchInstructionWithoutDefaultEdge
|
||||
notMarkedAsConflated
|
||||
wronglyMarkedAsConflated
|
||||
@@ -28,7 +28,7 @@ invalidOverlap
|
||||
nonUniqueEnclosingIRFunction
|
||||
fieldAddressOnNonPointer
|
||||
thisArgumentIsNonPointer
|
||||
| ir.cpp:2546:34:2546:34 | Call: call to operator bool | Call instruction 'Call: call to operator bool' has a `this` argument operand that is not an address, in function '$@'. | ir.cpp:2545:6:2545:23 | void this_inconsistency(bool) | void this_inconsistency(bool) |
|
||||
| ir.cpp:2548:34:2548:34 | Call: call to operator bool | Call instruction 'Call: call to operator bool' has a `this` argument operand that is not an address, in function '$@'. | ir.cpp:2547:6:2547:23 | void this_inconsistency(bool) | void this_inconsistency(bool) |
|
||||
nonUniqueIRVariable
|
||||
nonBooleanOperand
|
||||
missingCppType
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -27,7 +27,7 @@ invalidOverlap
|
||||
nonUniqueEnclosingIRFunction
|
||||
fieldAddressOnNonPointer
|
||||
thisArgumentIsNonPointer
|
||||
| ir.cpp:2546:34:2546:34 | Call: call to operator bool | Call instruction 'Call: call to operator bool' has a `this` argument operand that is not an address, in function '$@'. | ir.cpp:2545:6:2545:23 | void this_inconsistency(bool) | void this_inconsistency(bool) |
|
||||
| ir.cpp:2548:34:2548:34 | Call: call to operator bool | Call instruction 'Call: call to operator bool' has a `this` argument operand that is not an address, in function '$@'. | ir.cpp:2547:6:2547:23 | void this_inconsistency(bool) | void this_inconsistency(bool) |
|
||||
nonUniqueIRVariable
|
||||
nonBooleanOperand
|
||||
missingCppType
|
||||
|
||||
@@ -27,7 +27,7 @@ invalidOverlap
|
||||
nonUniqueEnclosingIRFunction
|
||||
fieldAddressOnNonPointer
|
||||
thisArgumentIsNonPointer
|
||||
| ir.cpp:2546:34:2546:34 | Call: call to operator bool | Call instruction 'Call: call to operator bool' has a `this` argument operand that is not an address, in function '$@'. | ir.cpp:2545:6:2545:23 | void this_inconsistency(bool) | void this_inconsistency(bool) |
|
||||
| ir.cpp:2548:34:2548:34 | Call: call to operator bool | Call instruction 'Call: call to operator bool' has a `this` argument operand that is not an address, in function '$@'. | ir.cpp:2547:6:2547:23 | void this_inconsistency(bool) | void this_inconsistency(bool) |
|
||||
nonUniqueIRVariable
|
||||
nonBooleanOperand
|
||||
missingCppType
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,148 +1,153 @@
|
||||
| test.c:154:10:154:40 | ... ? ... : ... | -1.0 | 1.0 | -1.0 |
|
||||
| test.c:357:8:357:23 | ... ? ... : ... | 0.0 | 0.0 | 10.0 |
|
||||
| test.c:358:8:358:24 | ... ? ... : ... | 0.0 | 10.0 | 0.0 |
|
||||
| test.c:366:10:366:15 | ... ? ... : ... | 0.0 | 0.0 | 5.0 |
|
||||
| test.c:367:10:367:17 | ... ? ... : ... | 0.0 | 0.0 | 500.0 |
|
||||
| test.c:368:10:368:21 | ... ? ... : ... | 1.0 | 1.0 | 500.0 |
|
||||
| test.c:369:10:369:36 | ... ? ... : ... | 0.0 | 1.0 | 5.0 |
|
||||
| test.c:370:10:370:38 | ... ? ... : ... | 0.0 | 1.0 | 500.0 |
|
||||
| test.c:371:10:371:39 | ... ? ... : ... | 1.0 | 1.0 | 500.0 |
|
||||
| test.c:379:8:379:24 | ... ? ... : ... | 101.0 | 101.0 | 110.0 |
|
||||
| test.c:380:8:380:25 | ... ? ... : ... | 101.0 | 110.0 | 101.0 |
|
||||
| test.c:385:10:385:21 | ... ? ... : ... | 0.0 | 0.0 | 5.0 |
|
||||
| test.c:386:10:386:21 | ... ? ... : ... | 100.0 | 100.0 | 5.0 |
|
||||
| test.c:387:10:387:38 | ... ? ... : ... | 0.0 | 100.0 | 5.0 |
|
||||
| test.c:394:14:394:108 | ... ? ... : ... | 0.14333887 | 0.14333887 | 0.40496805 |
|
||||
| test.c:394:18:394:95 | ... ? ... : ... | 0.14333887 | 0.14333887 | 0.21540225 |
|
||||
| test.c:394:22:394:82 | ... ? ... : ... | 0.14333887 | 0.14333887 | 0.39206458 |
|
||||
| test.c:394:26:394:69 | ... ? ... : ... | 0.14333887 | 0.14333887 | 0.35279203 |
|
||||
| test.c:394:30:394:56 | ... ? ... : ... | 0.14333887 | 0.47438827 | 0.14333887 |
|
||||
| test.c:395:14:395:108 | ... ? ... : ... | 0.22247853 | 0.22247853 | 0.5297741 |
|
||||
| test.c:395:18:395:95 | ... ? ... : ... | 0.22247853 | 0.22247853 | 0.59270465 |
|
||||
| test.c:395:22:395:82 | ... ? ... : ... | 0.22247853 | 0.22247853 | 0.32661893 |
|
||||
| test.c:395:26:395:69 | ... ? ... : ... | 0.22247853 | 0.34183348 | 0.22247853 |
|
||||
| test.c:395:30:395:56 | ... ? ... : ... | 0.34183348 | 0.34183348 | 0.3533464 |
|
||||
| test.c:396:14:396:108 | ... ? ... : ... | 0.05121256 | 0.05121256 | 0.67981451 |
|
||||
| test.c:396:18:396:95 | ... ? ... : ... | 0.05121256 | 0.05121256 | 0.79310745 |
|
||||
| test.c:396:22:396:82 | ... ? ... : ... | 0.05121256 | 0.31235514 | 0.05121256 |
|
||||
| test.c:396:26:396:69 | ... ? ... : ... | 0.31235514 | 0.31478084 | 0.31235514 |
|
||||
| test.c:396:30:396:56 | ... ? ... : ... | 0.31478084 | 0.77429603 | 0.31478084 |
|
||||
| test.c:397:14:397:108 | ... ? ... : ... | 0.36976948 | 0.36976948 | 0.83866835 |
|
||||
| test.c:397:18:397:95 | ... ? ... : ... | 0.36976948 | 0.44729556 | 0.36976948 |
|
||||
| test.c:397:22:397:82 | ... ? ... : ... | 0.44729556 | 0.44729556 | 0.59952732 |
|
||||
| test.c:397:26:397:69 | ... ? ... : ... | 0.44729556 | 0.44729556 | 0.98997262 |
|
||||
| test.c:397:30:397:56 | ... ? ... : ... | 0.44729556 | 0.44729556 | 0.80599202 |
|
||||
| test.c:398:14:398:108 | ... ? ... : ... | 0.10597712 | 0.10597712 | 0.68734874 |
|
||||
| test.c:398:18:398:95 | ... ? ... : ... | 0.10597712 | 0.10597712 | 0.72485966 |
|
||||
| test.c:398:22:398:82 | ... ? ... : ... | 0.10597712 | 0.10597712 | 0.21778426 |
|
||||
| test.c:398:26:398:69 | ... ? ... : ... | 0.10597712 | 0.49311828 | 0.10597712 |
|
||||
| test.c:398:30:398:56 | ... ? ... : ... | 0.49311828 | 0.49311828 | 0.90389911 |
|
||||
| test.c:399:14:399:108 | ... ? ... : ... | 0.1078665 | 0.1078665 | 0.58440865 |
|
||||
| test.c:399:18:399:95 | ... ? ... : ... | 0.1078665 | 0.1078665 | 0.34808892 |
|
||||
| test.c:399:22:399:82 | ... ? ... : ... | 0.1078665 | 0.1078665 | 0.76164052 |
|
||||
| test.c:399:26:399:69 | ... ? ... : ... | 0.1078665 | 0.1078665 | 0.11884576 |
|
||||
| test.c:399:30:399:56 | ... ? ... : ... | 0.1078665 | 0.47452848 | 0.1078665 |
|
||||
| test.c:400:14:400:108 | ... ? ... : ... | 0.02524326 | 0.02524326 | 0.36232384 |
|
||||
| test.c:400:18:400:95 | ... ? ... : ... | 0.02524326 | 0.02524326 | 0.85235179 |
|
||||
| test.c:400:22:400:82 | ... ? ... : ... | 0.02524326 | 0.02524326 | 0.12516558 |
|
||||
| test.c:400:26:400:69 | ... ? ... : ... | 0.02524326 | 0.02524326 | 0.95823075 |
|
||||
| test.c:400:30:400:56 | ... ? ... : ... | 0.02524326 | 0.02524326 | 0.82905046 |
|
||||
| test.c:401:14:401:108 | ... ? ... : ... | 0.14963485 | 0.14963485 | 0.84331272 |
|
||||
| test.c:401:18:401:95 | ... ? ... : ... | 0.14963485 | 0.14963485 | 0.48640909 |
|
||||
| test.c:401:22:401:82 | ... ? ... : ... | 0.14963485 | 0.14963485 | 0.45041108 |
|
||||
| test.c:401:26:401:69 | ... ? ... : ... | 0.14963485 | 0.32876044 | 0.14963485 |
|
||||
| test.c:401:30:401:56 | ... ? ... : ... | 0.32876044 | 0.38708626 | 0.32876044 |
|
||||
| test.c:402:14:402:108 | ... ? ... : ... | 0.05328182 | 0.14800508 | 0.05328182 |
|
||||
| test.c:402:18:402:95 | ... ? ... : ... | 0.14800508 | 0.14800508 | 0.37428143 |
|
||||
| test.c:402:22:402:82 | ... ? ... : ... | 0.14800508 | 0.15755063 | 0.14800508 |
|
||||
| test.c:402:26:402:69 | ... ? ... : ... | 0.15755063 | 0.15755063 | 0.26428481 |
|
||||
| test.c:402:30:402:56 | ... ? ... : ... | 0.15755063 | 0.15755063 | 0.77086833 |
|
||||
| test.c:403:14:403:108 | ... ? ... : ... | 0.27643238 | 0.27643238 | 0.69072144 |
|
||||
| test.c:403:18:403:95 | ... ? ... : ... | 0.27643238 | 0.27643238 | 0.39468857 |
|
||||
| test.c:403:22:403:82 | ... ? ... : ... | 0.27643238 | 0.27643238 | 0.55679274 |
|
||||
| test.c:403:26:403:69 | ... ? ... : ... | 0.27643238 | 0.41736536 | 0.27643238 |
|
||||
| test.c:403:30:403:56 | ... ? ... : ... | 0.41736536 | 0.41736536 | 0.76826628 |
|
||||
| test.c:404:14:404:108 | ... ? ... : ... | 0.2051911 | 0.2051911 | 0.81372798 |
|
||||
| test.c:404:18:404:95 | ... ? ... : ... | 0.2051911 | 0.2051911 | 0.88745559 |
|
||||
| test.c:404:22:404:82 | ... ? ... : ... | 0.2051911 | 0.29904824 | 0.2051911 |
|
||||
| test.c:404:26:404:69 | ... ? ... : ... | 0.29904824 | 0.29904824 | 0.76242583 |
|
||||
| test.c:404:30:404:56 | ... ? ... : ... | 0.29904824 | 0.88955345 | 0.29904824 |
|
||||
| test.c:405:14:405:108 | ... ? ... : ... | 0.13204114 | 0.13204114 | 0.42762647 |
|
||||
| test.c:405:18:405:95 | ... ? ... : ... | 0.13204114 | 0.13204114 | 0.52031241 |
|
||||
| test.c:405:22:405:82 | ... ? ... : ... | 0.13204114 | 0.42186276 | 0.13204114 |
|
||||
| test.c:405:26:405:69 | ... ? ... : ... | 0.42186276 | 0.42186276 | 0.44996679 |
|
||||
| test.c:405:30:405:56 | ... ? ... : ... | 0.42186276 | 0.42186276 | 0.53843358 |
|
||||
| test.c:447:4:621:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:447:5:449:49 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:450:6:532:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:451:8:469:41 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:454:10:458:21 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:454:31:454:79 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:456:13:458:21 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:463:12:468:23 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:464:12:464:60 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:466:15:468:23 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:470:6:489:23 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:473:8:477:19 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:473:29:473:77 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:475:11:477:19 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:478:6:478:54 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:482:10:486:21 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:482:31:482:79 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:484:13:486:21 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:487:9:489:23 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:491:10:510:43 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:494:12:499:23 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:495:12:495:60 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:497:15:499:23 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:504:14:509:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:505:14:505:62 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:507:17:509:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:511:9:532:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:514:14:519:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:515:14:515:62 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:517:17:519:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:520:12:520:60 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:524:12:529:23 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:525:12:525:60 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:527:15:529:23 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:530:11:532:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:533:9:535:51 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:536:9:621:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:537:14:556:47 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:540:16:545:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:541:16:541:64 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:543:19:545:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:550:18:555:29 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:551:18:551:66 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:553:21:555:29 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:557:12:578:29 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:560:14:565:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:561:14:561:62 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:563:17:565:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:566:12:566:60 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:570:16:575:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:571:16:571:64 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:573:19:575:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:576:15:578:29 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:580:12:599:45 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:583:14:588:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:584:14:584:62 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:586:17:588:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:593:16:598:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:594:16:594:64 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:596:19:598:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:600:11:621:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:603:16:608:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:604:16:604:64 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:606:19:608:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:609:14:609:62 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:613:14:618:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:614:14:614:62 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:616:17:618:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:619:13:621:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:647:20:647:36 | ... ? ... : ... | 0.0 | 0.0 | 100.0 |
|
||||
| test.c:859:5:859:14 | ... ? ... : ... | 0.0 | 1.0 | 0.0 |
|
||||
| test.c:860:5:860:14 | ... ? ... : ... | 0.0 | 0.0 | 1.0 |
|
||||
| test.c:348:22:348:44 | ... ? ... : ... | 0.0 | 0.0 | 2.0 |
|
||||
| test.c:349:20:349:43 | ... ? ... : ... | 0.0 | 0.0 | 2.0 |
|
||||
| test.c:350:22:350:44 | ... ? ... : ... | 0.0 | 0.0 | 2.0 |
|
||||
| test.c:351:22:351:44 | ... ? ... : ... | 0.0 | 0.0 | 2.0 |
|
||||
| test.c:352:22:352:45 | ... ? ... : ... | 2.0 | 8.0 | 2.0 |
|
||||
| test.c:378:8:378:23 | ... ? ... : ... | 0.0 | 0.0 | 10.0 |
|
||||
| test.c:379:8:379:24 | ... ? ... : ... | 0.0 | 10.0 | 0.0 |
|
||||
| test.c:387:10:387:15 | ... ? ... : ... | 0.0 | 0.0 | 5.0 |
|
||||
| test.c:388:10:388:17 | ... ? ... : ... | 0.0 | 0.0 | 500.0 |
|
||||
| test.c:389:10:389:21 | ... ? ... : ... | 1.0 | 1.0 | 500.0 |
|
||||
| test.c:390:10:390:36 | ... ? ... : ... | 0.0 | 1.0 | 5.0 |
|
||||
| test.c:391:10:391:38 | ... ? ... : ... | 0.0 | 1.0 | 500.0 |
|
||||
| test.c:392:10:392:39 | ... ? ... : ... | 1.0 | 1.0 | 500.0 |
|
||||
| test.c:400:8:400:24 | ... ? ... : ... | 101.0 | 101.0 | 110.0 |
|
||||
| test.c:401:8:401:25 | ... ? ... : ... | 101.0 | 110.0 | 101.0 |
|
||||
| test.c:406:10:406:21 | ... ? ... : ... | 0.0 | 0.0 | 5.0 |
|
||||
| test.c:407:10:407:21 | ... ? ... : ... | 100.0 | 100.0 | 5.0 |
|
||||
| test.c:408:10:408:38 | ... ? ... : ... | 0.0 | 100.0 | 5.0 |
|
||||
| test.c:415:14:415:108 | ... ? ... : ... | 0.14333887 | 0.14333887 | 0.40496805 |
|
||||
| test.c:415:18:415:95 | ... ? ... : ... | 0.14333887 | 0.14333887 | 0.21540225 |
|
||||
| test.c:415:22:415:82 | ... ? ... : ... | 0.14333887 | 0.14333887 | 0.39206458 |
|
||||
| test.c:415:26:415:69 | ... ? ... : ... | 0.14333887 | 0.14333887 | 0.35279203 |
|
||||
| test.c:415:30:415:56 | ... ? ... : ... | 0.14333887 | 0.47438827 | 0.14333887 |
|
||||
| test.c:416:14:416:108 | ... ? ... : ... | 0.22247853 | 0.22247853 | 0.5297741 |
|
||||
| test.c:416:18:416:95 | ... ? ... : ... | 0.22247853 | 0.22247853 | 0.59270465 |
|
||||
| test.c:416:22:416:82 | ... ? ... : ... | 0.22247853 | 0.22247853 | 0.32661893 |
|
||||
| test.c:416:26:416:69 | ... ? ... : ... | 0.22247853 | 0.34183348 | 0.22247853 |
|
||||
| test.c:416:30:416:56 | ... ? ... : ... | 0.34183348 | 0.34183348 | 0.3533464 |
|
||||
| test.c:417:14:417:108 | ... ? ... : ... | 0.05121256 | 0.05121256 | 0.67981451 |
|
||||
| test.c:417:18:417:95 | ... ? ... : ... | 0.05121256 | 0.05121256 | 0.79310745 |
|
||||
| test.c:417:22:417:82 | ... ? ... : ... | 0.05121256 | 0.31235514 | 0.05121256 |
|
||||
| test.c:417:26:417:69 | ... ? ... : ... | 0.31235514 | 0.31478084 | 0.31235514 |
|
||||
| test.c:417:30:417:56 | ... ? ... : ... | 0.31478084 | 0.77429603 | 0.31478084 |
|
||||
| test.c:418:14:418:108 | ... ? ... : ... | 0.36976948 | 0.36976948 | 0.83866835 |
|
||||
| test.c:418:18:418:95 | ... ? ... : ... | 0.36976948 | 0.44729556 | 0.36976948 |
|
||||
| test.c:418:22:418:82 | ... ? ... : ... | 0.44729556 | 0.44729556 | 0.59952732 |
|
||||
| test.c:418:26:418:69 | ... ? ... : ... | 0.44729556 | 0.44729556 | 0.98997262 |
|
||||
| test.c:418:30:418:56 | ... ? ... : ... | 0.44729556 | 0.44729556 | 0.80599202 |
|
||||
| test.c:419:14:419:108 | ... ? ... : ... | 0.10597712 | 0.10597712 | 0.68734874 |
|
||||
| test.c:419:18:419:95 | ... ? ... : ... | 0.10597712 | 0.10597712 | 0.72485966 |
|
||||
| test.c:419:22:419:82 | ... ? ... : ... | 0.10597712 | 0.10597712 | 0.21778426 |
|
||||
| test.c:419:26:419:69 | ... ? ... : ... | 0.10597712 | 0.49311828 | 0.10597712 |
|
||||
| test.c:419:30:419:56 | ... ? ... : ... | 0.49311828 | 0.49311828 | 0.90389911 |
|
||||
| test.c:420:14:420:108 | ... ? ... : ... | 0.1078665 | 0.1078665 | 0.58440865 |
|
||||
| test.c:420:18:420:95 | ... ? ... : ... | 0.1078665 | 0.1078665 | 0.34808892 |
|
||||
| test.c:420:22:420:82 | ... ? ... : ... | 0.1078665 | 0.1078665 | 0.76164052 |
|
||||
| test.c:420:26:420:69 | ... ? ... : ... | 0.1078665 | 0.1078665 | 0.11884576 |
|
||||
| test.c:420:30:420:56 | ... ? ... : ... | 0.1078665 | 0.47452848 | 0.1078665 |
|
||||
| test.c:421:14:421:108 | ... ? ... : ... | 0.02524326 | 0.02524326 | 0.36232384 |
|
||||
| test.c:421:18:421:95 | ... ? ... : ... | 0.02524326 | 0.02524326 | 0.85235179 |
|
||||
| test.c:421:22:421:82 | ... ? ... : ... | 0.02524326 | 0.02524326 | 0.12516558 |
|
||||
| test.c:421:26:421:69 | ... ? ... : ... | 0.02524326 | 0.02524326 | 0.95823075 |
|
||||
| test.c:421:30:421:56 | ... ? ... : ... | 0.02524326 | 0.02524326 | 0.82905046 |
|
||||
| test.c:422:14:422:108 | ... ? ... : ... | 0.14963485 | 0.14963485 | 0.84331272 |
|
||||
| test.c:422:18:422:95 | ... ? ... : ... | 0.14963485 | 0.14963485 | 0.48640909 |
|
||||
| test.c:422:22:422:82 | ... ? ... : ... | 0.14963485 | 0.14963485 | 0.45041108 |
|
||||
| test.c:422:26:422:69 | ... ? ... : ... | 0.14963485 | 0.32876044 | 0.14963485 |
|
||||
| test.c:422:30:422:56 | ... ? ... : ... | 0.32876044 | 0.38708626 | 0.32876044 |
|
||||
| test.c:423:14:423:108 | ... ? ... : ... | 0.05328182 | 0.14800508 | 0.05328182 |
|
||||
| test.c:423:18:423:95 | ... ? ... : ... | 0.14800508 | 0.14800508 | 0.37428143 |
|
||||
| test.c:423:22:423:82 | ... ? ... : ... | 0.14800508 | 0.15755063 | 0.14800508 |
|
||||
| test.c:423:26:423:69 | ... ? ... : ... | 0.15755063 | 0.15755063 | 0.26428481 |
|
||||
| test.c:423:30:423:56 | ... ? ... : ... | 0.15755063 | 0.15755063 | 0.77086833 |
|
||||
| test.c:424:14:424:108 | ... ? ... : ... | 0.27643238 | 0.27643238 | 0.69072144 |
|
||||
| test.c:424:18:424:95 | ... ? ... : ... | 0.27643238 | 0.27643238 | 0.39468857 |
|
||||
| test.c:424:22:424:82 | ... ? ... : ... | 0.27643238 | 0.27643238 | 0.55679274 |
|
||||
| test.c:424:26:424:69 | ... ? ... : ... | 0.27643238 | 0.41736536 | 0.27643238 |
|
||||
| test.c:424:30:424:56 | ... ? ... : ... | 0.41736536 | 0.41736536 | 0.76826628 |
|
||||
| test.c:425:14:425:108 | ... ? ... : ... | 0.2051911 | 0.2051911 | 0.81372798 |
|
||||
| test.c:425:18:425:95 | ... ? ... : ... | 0.2051911 | 0.2051911 | 0.88745559 |
|
||||
| test.c:425:22:425:82 | ... ? ... : ... | 0.2051911 | 0.29904824 | 0.2051911 |
|
||||
| test.c:425:26:425:69 | ... ? ... : ... | 0.29904824 | 0.29904824 | 0.76242583 |
|
||||
| test.c:425:30:425:56 | ... ? ... : ... | 0.29904824 | 0.88955345 | 0.29904824 |
|
||||
| test.c:426:14:426:108 | ... ? ... : ... | 0.13204114 | 0.13204114 | 0.42762647 |
|
||||
| test.c:426:18:426:95 | ... ? ... : ... | 0.13204114 | 0.13204114 | 0.52031241 |
|
||||
| test.c:426:22:426:82 | ... ? ... : ... | 0.13204114 | 0.42186276 | 0.13204114 |
|
||||
| test.c:426:26:426:69 | ... ? ... : ... | 0.42186276 | 0.42186276 | 0.44996679 |
|
||||
| test.c:426:30:426:56 | ... ? ... : ... | 0.42186276 | 0.42186276 | 0.53843358 |
|
||||
| test.c:468:4:642:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:468:5:470:49 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:471:6:553:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:472:8:490:41 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:475:10:479:21 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:475:31:475:79 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:477:13:479:21 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:484:12:489:23 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:485:12:485:60 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:487:15:489:23 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:491:6:510:23 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:494:8:498:19 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:494:29:494:77 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:496:11:498:19 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:499:6:499:54 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:503:10:507:21 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:503:31:503:79 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:505:13:507:21 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:508:9:510:23 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:512:10:531:43 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:515:12:520:23 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:516:12:516:60 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:518:15:520:23 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:525:14:530:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:526:14:526:62 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:528:17:530:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:532:9:553:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:535:14:540:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:536:14:536:62 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:538:17:540:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:541:12:541:60 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:545:12:550:23 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:546:12:546:60 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:548:15:550:23 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:551:11:553:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:554:9:556:51 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:557:9:642:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:558:14:577:47 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:561:16:566:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:562:16:562:64 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:564:19:566:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:571:18:576:29 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:572:18:572:66 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:574:21:576:29 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:578:12:599:29 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:581:14:586:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:582:14:582:62 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:584:17:586:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:587:12:587:60 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:591:16:596:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:592:16:592:64 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:594:19:596:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:597:15:599:29 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:601:12:620:45 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:604:14:609:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:605:14:605:62 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:607:17:609:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:614:16:619:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:615:16:615:64 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:617:19:619:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:621:11:642:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:624:16:629:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:625:16:625:64 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:627:19:629:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:630:14:630:62 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:634:14:639:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:635:14:635:62 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:637:17:639:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:640:13:642:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 |
|
||||
| test.c:668:20:668:36 | ... ? ... : ... | 0.0 | 0.0 | 100.0 |
|
||||
| test.c:880:5:880:14 | ... ? ... : ... | 0.0 | 1.0 | 0.0 |
|
||||
| test.c:881:5:881:14 | ... ? ... : ... | 0.0 | 0.0 | 1.0 |
|
||||
| test.cpp:121:3:121:12 | ... ? ... : ... | 0.0 | 1.0 | 0.0 |
|
||||
| test.cpp:122:3:122:12 | ... ? ... : ... | 0.0 | 0.0 | 1.0 |
|
||||
|
||||
@@ -1,148 +1,153 @@
|
||||
| test.c:154:10:154:40 | ... ? ... : ... | 2.147483647E9 | 2.147483647E9 | -1.0 |
|
||||
| test.c:357:8:357:23 | ... ? ... : ... | 99.0 | 99.0 | 10.0 |
|
||||
| test.c:358:8:358:24 | ... ? ... : ... | 99.0 | 10.0 | 99.0 |
|
||||
| test.c:366:10:366:15 | ... ? ... : ... | 299.0 | 299.0 | 5.0 |
|
||||
| test.c:367:10:367:17 | ... ? ... : ... | 500.0 | 299.0 | 500.0 |
|
||||
| test.c:368:10:368:21 | ... ? ... : ... | 300.0 | 300.0 | 500.0 |
|
||||
| test.c:369:10:369:36 | ... ? ... : ... | 255.0 | 300.0 | 5.0 |
|
||||
| test.c:370:10:370:38 | ... ? ... : ... | 500.0 | 300.0 | 500.0 |
|
||||
| test.c:371:10:371:39 | ... ? ... : ... | 300.0 | 300.0 | 500.0 |
|
||||
| test.c:379:8:379:24 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 110.0 |
|
||||
| test.c:380:8:380:25 | ... ? ... : ... | 4.294967295E9 | 110.0 | 4.294967295E9 |
|
||||
| test.c:385:10:385:21 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 5.0 |
|
||||
| test.c:386:10:386:21 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 5.0 |
|
||||
| test.c:387:10:387:38 | ... ? ... : ... | 255.0 | 4.294967295E9 | 5.0 |
|
||||
| test.c:394:14:394:108 | ... ? ... : ... | 0.47438827 | 0.47438827 | 0.40496805 |
|
||||
| test.c:394:18:394:95 | ... ? ... : ... | 0.47438827 | 0.47438827 | 0.21540225 |
|
||||
| test.c:394:22:394:82 | ... ? ... : ... | 0.47438827 | 0.47438827 | 0.39206458 |
|
||||
| test.c:394:26:394:69 | ... ? ... : ... | 0.47438827 | 0.47438827 | 0.35279203 |
|
||||
| test.c:394:30:394:56 | ... ? ... : ... | 0.47438827 | 0.47438827 | 0.14333887 |
|
||||
| test.c:395:14:395:108 | ... ? ... : ... | 0.59270465 | 0.59270465 | 0.5297741 |
|
||||
| test.c:395:18:395:95 | ... ? ... : ... | 0.59270465 | 0.3533464 | 0.59270465 |
|
||||
| test.c:395:22:395:82 | ... ? ... : ... | 0.3533464 | 0.3533464 | 0.32661893 |
|
||||
| test.c:395:26:395:69 | ... ? ... : ... | 0.3533464 | 0.3533464 | 0.22247853 |
|
||||
| test.c:395:30:395:56 | ... ? ... : ... | 0.3533464 | 0.34183348 | 0.3533464 |
|
||||
| test.c:396:14:396:108 | ... ? ... : ... | 0.79310745 | 0.79310745 | 0.67981451 |
|
||||
| test.c:396:18:396:95 | ... ? ... : ... | 0.79310745 | 0.77429603 | 0.79310745 |
|
||||
| test.c:396:22:396:82 | ... ? ... : ... | 0.77429603 | 0.77429603 | 0.05121256 |
|
||||
| test.c:396:26:396:69 | ... ? ... : ... | 0.77429603 | 0.77429603 | 0.31235514 |
|
||||
| test.c:396:30:396:56 | ... ? ... : ... | 0.77429603 | 0.77429603 | 0.31478084 |
|
||||
| test.c:397:14:397:108 | ... ? ... : ... | 0.98997262 | 0.98997262 | 0.83866835 |
|
||||
| test.c:397:18:397:95 | ... ? ... : ... | 0.98997262 | 0.98997262 | 0.36976948 |
|
||||
| test.c:397:22:397:82 | ... ? ... : ... | 0.98997262 | 0.98997262 | 0.59952732 |
|
||||
| test.c:397:26:397:69 | ... ? ... : ... | 0.98997262 | 0.80599202 | 0.98997262 |
|
||||
| test.c:397:30:397:56 | ... ? ... : ... | 0.80599202 | 0.44729556 | 0.80599202 |
|
||||
| test.c:398:14:398:108 | ... ? ... : ... | 0.90389911 | 0.90389911 | 0.68734874 |
|
||||
| test.c:398:18:398:95 | ... ? ... : ... | 0.90389911 | 0.90389911 | 0.72485966 |
|
||||
| test.c:398:22:398:82 | ... ? ... : ... | 0.90389911 | 0.90389911 | 0.21778426 |
|
||||
| test.c:398:26:398:69 | ... ? ... : ... | 0.90389911 | 0.90389911 | 0.10597712 |
|
||||
| test.c:398:30:398:56 | ... ? ... : ... | 0.90389911 | 0.49311828 | 0.90389911 |
|
||||
| test.c:399:14:399:108 | ... ? ... : ... | 0.76164052 | 0.76164052 | 0.58440865 |
|
||||
| test.c:399:18:399:95 | ... ? ... : ... | 0.76164052 | 0.76164052 | 0.34808892 |
|
||||
| test.c:399:22:399:82 | ... ? ... : ... | 0.76164052 | 0.47452848 | 0.76164052 |
|
||||
| test.c:399:26:399:69 | ... ? ... : ... | 0.47452848 | 0.47452848 | 0.11884576 |
|
||||
| test.c:399:30:399:56 | ... ? ... : ... | 0.47452848 | 0.47452848 | 0.1078665 |
|
||||
| test.c:400:14:400:108 | ... ? ... : ... | 0.95823075 | 0.95823075 | 0.36232384 |
|
||||
| test.c:400:18:400:95 | ... ? ... : ... | 0.95823075 | 0.95823075 | 0.85235179 |
|
||||
| test.c:400:22:400:82 | ... ? ... : ... | 0.95823075 | 0.95823075 | 0.12516558 |
|
||||
| test.c:400:26:400:69 | ... ? ... : ... | 0.95823075 | 0.82905046 | 0.95823075 |
|
||||
| test.c:400:30:400:56 | ... ? ... : ... | 0.82905046 | 0.02524326 | 0.82905046 |
|
||||
| test.c:401:14:401:108 | ... ? ... : ... | 0.84331272 | 0.48640909 | 0.84331272 |
|
||||
| test.c:401:18:401:95 | ... ? ... : ... | 0.48640909 | 0.45041108 | 0.48640909 |
|
||||
| test.c:401:22:401:82 | ... ? ... : ... | 0.45041108 | 0.38708626 | 0.45041108 |
|
||||
| test.c:401:26:401:69 | ... ? ... : ... | 0.38708626 | 0.38708626 | 0.14963485 |
|
||||
| test.c:401:30:401:56 | ... ? ... : ... | 0.38708626 | 0.38708626 | 0.32876044 |
|
||||
| test.c:402:14:402:108 | ... ? ... : ... | 0.77086833 | 0.77086833 | 0.05328182 |
|
||||
| test.c:402:18:402:95 | ... ? ... : ... | 0.77086833 | 0.77086833 | 0.37428143 |
|
||||
| test.c:402:22:402:82 | ... ? ... : ... | 0.77086833 | 0.77086833 | 0.14800508 |
|
||||
| test.c:402:26:402:69 | ... ? ... : ... | 0.77086833 | 0.77086833 | 0.26428481 |
|
||||
| test.c:402:30:402:56 | ... ? ... : ... | 0.77086833 | 0.15755063 | 0.77086833 |
|
||||
| test.c:403:14:403:108 | ... ? ... : ... | 0.76826628 | 0.76826628 | 0.69072144 |
|
||||
| test.c:403:18:403:95 | ... ? ... : ... | 0.76826628 | 0.76826628 | 0.39468857 |
|
||||
| test.c:403:22:403:82 | ... ? ... : ... | 0.76826628 | 0.76826628 | 0.55679274 |
|
||||
| test.c:403:26:403:69 | ... ? ... : ... | 0.76826628 | 0.76826628 | 0.27643238 |
|
||||
| test.c:403:30:403:56 | ... ? ... : ... | 0.76826628 | 0.41736536 | 0.76826628 |
|
||||
| test.c:404:14:404:108 | ... ? ... : ... | 0.88955345 | 0.88955345 | 0.81372798 |
|
||||
| test.c:404:18:404:95 | ... ? ... : ... | 0.88955345 | 0.88955345 | 0.88745559 |
|
||||
| test.c:404:22:404:82 | ... ? ... : ... | 0.88955345 | 0.88955345 | 0.2051911 |
|
||||
| test.c:404:26:404:69 | ... ? ... : ... | 0.88955345 | 0.88955345 | 0.76242583 |
|
||||
| test.c:404:30:404:56 | ... ? ... : ... | 0.88955345 | 0.88955345 | 0.29904824 |
|
||||
| test.c:405:14:405:108 | ... ? ... : ... | 0.53843358 | 0.53843358 | 0.42762647 |
|
||||
| test.c:405:18:405:95 | ... ? ... : ... | 0.53843358 | 0.53843358 | 0.52031241 |
|
||||
| test.c:405:22:405:82 | ... ? ... : ... | 0.53843358 | 0.53843358 | 0.13204114 |
|
||||
| test.c:405:26:405:69 | ... ? ... : ... | 0.53843358 | 0.53843358 | 0.44996679 |
|
||||
| test.c:405:30:405:56 | ... ? ... : ... | 0.53843358 | 0.42186276 | 0.53843358 |
|
||||
| test.c:447:4:621:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:447:5:449:49 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:450:6:532:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:451:8:469:41 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:454:10:458:21 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:454:31:454:79 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:456:13:458:21 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:463:12:468:23 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:464:12:464:60 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:466:15:468:23 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:470:6:489:23 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:473:8:477:19 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:473:29:473:77 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:475:11:477:19 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:478:6:478:54 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:482:10:486:21 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:482:31:482:79 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:484:13:486:21 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:487:9:489:23 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:491:10:510:43 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:494:12:499:23 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:495:12:495:60 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:497:15:499:23 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:504:14:509:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:505:14:505:62 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:507:17:509:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:511:9:532:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:514:14:519:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:515:14:515:62 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:517:17:519:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:520:12:520:60 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:524:12:529:23 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:525:12:525:60 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:527:15:529:23 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:530:11:532:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:533:9:535:51 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:536:9:621:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:537:14:556:47 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:540:16:545:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:541:16:541:64 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:543:19:545:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:550:18:555:29 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:551:18:551:66 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:553:21:555:29 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:557:12:578:29 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:560:14:565:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:561:14:561:62 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:563:17:565:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:566:12:566:60 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:570:16:575:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:571:16:571:64 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:573:19:575:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:576:15:578:29 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:580:12:599:45 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:583:14:588:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:584:14:584:62 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:586:17:588:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:593:16:598:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:594:16:594:64 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:596:19:598:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:600:11:621:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:603:16:608:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:604:16:604:64 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:606:19:608:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:609:14:609:62 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:613:14:618:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:614:14:614:62 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:616:17:618:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:619:13:621:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:647:20:647:36 | ... ? ... : ... | 100.0 | 99.0 | 100.0 |
|
||||
| test.c:859:5:859:14 | ... ? ... : ... | 32767.0 | 32767.0 | 0.0 |
|
||||
| test.c:860:5:860:14 | ... ? ... : ... | 32767.0 | 0.0 | 32767.0 |
|
||||
| test.c:348:22:348:44 | ... ? ... : ... | 2.147483647E9 | 2.147483647E9 | 2.0 |
|
||||
| test.c:349:20:349:43 | ... ? ... : ... | 2.147483647E9 | 2.147483647E9 | 2.0 |
|
||||
| test.c:350:22:350:44 | ... ? ... : ... | 1.431655764E9 | 1.431655764E9 | 2.0 |
|
||||
| test.c:351:22:351:44 | ... ? ... : ... | 2.147483647E9 | 2.147483647E9 | 2.0 |
|
||||
| test.c:352:22:352:45 | ... ? ... : ... | 2.147483647E9 | 2.147483647E9 | 2.0 |
|
||||
| test.c:378:8:378:23 | ... ? ... : ... | 99.0 | 99.0 | 10.0 |
|
||||
| test.c:379:8:379:24 | ... ? ... : ... | 99.0 | 10.0 | 99.0 |
|
||||
| test.c:387:10:387:15 | ... ? ... : ... | 299.0 | 299.0 | 5.0 |
|
||||
| test.c:388:10:388:17 | ... ? ... : ... | 500.0 | 299.0 | 500.0 |
|
||||
| test.c:389:10:389:21 | ... ? ... : ... | 300.0 | 300.0 | 500.0 |
|
||||
| test.c:390:10:390:36 | ... ? ... : ... | 255.0 | 300.0 | 5.0 |
|
||||
| test.c:391:10:391:38 | ... ? ... : ... | 500.0 | 300.0 | 500.0 |
|
||||
| test.c:392:10:392:39 | ... ? ... : ... | 300.0 | 300.0 | 500.0 |
|
||||
| test.c:400:8:400:24 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 110.0 |
|
||||
| test.c:401:8:401:25 | ... ? ... : ... | 4.294967295E9 | 110.0 | 4.294967295E9 |
|
||||
| test.c:406:10:406:21 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 5.0 |
|
||||
| test.c:407:10:407:21 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 5.0 |
|
||||
| test.c:408:10:408:38 | ... ? ... : ... | 255.0 | 4.294967295E9 | 5.0 |
|
||||
| test.c:415:14:415:108 | ... ? ... : ... | 0.47438827 | 0.47438827 | 0.40496805 |
|
||||
| test.c:415:18:415:95 | ... ? ... : ... | 0.47438827 | 0.47438827 | 0.21540225 |
|
||||
| test.c:415:22:415:82 | ... ? ... : ... | 0.47438827 | 0.47438827 | 0.39206458 |
|
||||
| test.c:415:26:415:69 | ... ? ... : ... | 0.47438827 | 0.47438827 | 0.35279203 |
|
||||
| test.c:415:30:415:56 | ... ? ... : ... | 0.47438827 | 0.47438827 | 0.14333887 |
|
||||
| test.c:416:14:416:108 | ... ? ... : ... | 0.59270465 | 0.59270465 | 0.5297741 |
|
||||
| test.c:416:18:416:95 | ... ? ... : ... | 0.59270465 | 0.3533464 | 0.59270465 |
|
||||
| test.c:416:22:416:82 | ... ? ... : ... | 0.3533464 | 0.3533464 | 0.32661893 |
|
||||
| test.c:416:26:416:69 | ... ? ... : ... | 0.3533464 | 0.3533464 | 0.22247853 |
|
||||
| test.c:416:30:416:56 | ... ? ... : ... | 0.3533464 | 0.34183348 | 0.3533464 |
|
||||
| test.c:417:14:417:108 | ... ? ... : ... | 0.79310745 | 0.79310745 | 0.67981451 |
|
||||
| test.c:417:18:417:95 | ... ? ... : ... | 0.79310745 | 0.77429603 | 0.79310745 |
|
||||
| test.c:417:22:417:82 | ... ? ... : ... | 0.77429603 | 0.77429603 | 0.05121256 |
|
||||
| test.c:417:26:417:69 | ... ? ... : ... | 0.77429603 | 0.77429603 | 0.31235514 |
|
||||
| test.c:417:30:417:56 | ... ? ... : ... | 0.77429603 | 0.77429603 | 0.31478084 |
|
||||
| test.c:418:14:418:108 | ... ? ... : ... | 0.98997262 | 0.98997262 | 0.83866835 |
|
||||
| test.c:418:18:418:95 | ... ? ... : ... | 0.98997262 | 0.98997262 | 0.36976948 |
|
||||
| test.c:418:22:418:82 | ... ? ... : ... | 0.98997262 | 0.98997262 | 0.59952732 |
|
||||
| test.c:418:26:418:69 | ... ? ... : ... | 0.98997262 | 0.80599202 | 0.98997262 |
|
||||
| test.c:418:30:418:56 | ... ? ... : ... | 0.80599202 | 0.44729556 | 0.80599202 |
|
||||
| test.c:419:14:419:108 | ... ? ... : ... | 0.90389911 | 0.90389911 | 0.68734874 |
|
||||
| test.c:419:18:419:95 | ... ? ... : ... | 0.90389911 | 0.90389911 | 0.72485966 |
|
||||
| test.c:419:22:419:82 | ... ? ... : ... | 0.90389911 | 0.90389911 | 0.21778426 |
|
||||
| test.c:419:26:419:69 | ... ? ... : ... | 0.90389911 | 0.90389911 | 0.10597712 |
|
||||
| test.c:419:30:419:56 | ... ? ... : ... | 0.90389911 | 0.49311828 | 0.90389911 |
|
||||
| test.c:420:14:420:108 | ... ? ... : ... | 0.76164052 | 0.76164052 | 0.58440865 |
|
||||
| test.c:420:18:420:95 | ... ? ... : ... | 0.76164052 | 0.76164052 | 0.34808892 |
|
||||
| test.c:420:22:420:82 | ... ? ... : ... | 0.76164052 | 0.47452848 | 0.76164052 |
|
||||
| test.c:420:26:420:69 | ... ? ... : ... | 0.47452848 | 0.47452848 | 0.11884576 |
|
||||
| test.c:420:30:420:56 | ... ? ... : ... | 0.47452848 | 0.47452848 | 0.1078665 |
|
||||
| test.c:421:14:421:108 | ... ? ... : ... | 0.95823075 | 0.95823075 | 0.36232384 |
|
||||
| test.c:421:18:421:95 | ... ? ... : ... | 0.95823075 | 0.95823075 | 0.85235179 |
|
||||
| test.c:421:22:421:82 | ... ? ... : ... | 0.95823075 | 0.95823075 | 0.12516558 |
|
||||
| test.c:421:26:421:69 | ... ? ... : ... | 0.95823075 | 0.82905046 | 0.95823075 |
|
||||
| test.c:421:30:421:56 | ... ? ... : ... | 0.82905046 | 0.02524326 | 0.82905046 |
|
||||
| test.c:422:14:422:108 | ... ? ... : ... | 0.84331272 | 0.48640909 | 0.84331272 |
|
||||
| test.c:422:18:422:95 | ... ? ... : ... | 0.48640909 | 0.45041108 | 0.48640909 |
|
||||
| test.c:422:22:422:82 | ... ? ... : ... | 0.45041108 | 0.38708626 | 0.45041108 |
|
||||
| test.c:422:26:422:69 | ... ? ... : ... | 0.38708626 | 0.38708626 | 0.14963485 |
|
||||
| test.c:422:30:422:56 | ... ? ... : ... | 0.38708626 | 0.38708626 | 0.32876044 |
|
||||
| test.c:423:14:423:108 | ... ? ... : ... | 0.77086833 | 0.77086833 | 0.05328182 |
|
||||
| test.c:423:18:423:95 | ... ? ... : ... | 0.77086833 | 0.77086833 | 0.37428143 |
|
||||
| test.c:423:22:423:82 | ... ? ... : ... | 0.77086833 | 0.77086833 | 0.14800508 |
|
||||
| test.c:423:26:423:69 | ... ? ... : ... | 0.77086833 | 0.77086833 | 0.26428481 |
|
||||
| test.c:423:30:423:56 | ... ? ... : ... | 0.77086833 | 0.15755063 | 0.77086833 |
|
||||
| test.c:424:14:424:108 | ... ? ... : ... | 0.76826628 | 0.76826628 | 0.69072144 |
|
||||
| test.c:424:18:424:95 | ... ? ... : ... | 0.76826628 | 0.76826628 | 0.39468857 |
|
||||
| test.c:424:22:424:82 | ... ? ... : ... | 0.76826628 | 0.76826628 | 0.55679274 |
|
||||
| test.c:424:26:424:69 | ... ? ... : ... | 0.76826628 | 0.76826628 | 0.27643238 |
|
||||
| test.c:424:30:424:56 | ... ? ... : ... | 0.76826628 | 0.41736536 | 0.76826628 |
|
||||
| test.c:425:14:425:108 | ... ? ... : ... | 0.88955345 | 0.88955345 | 0.81372798 |
|
||||
| test.c:425:18:425:95 | ... ? ... : ... | 0.88955345 | 0.88955345 | 0.88745559 |
|
||||
| test.c:425:22:425:82 | ... ? ... : ... | 0.88955345 | 0.88955345 | 0.2051911 |
|
||||
| test.c:425:26:425:69 | ... ? ... : ... | 0.88955345 | 0.88955345 | 0.76242583 |
|
||||
| test.c:425:30:425:56 | ... ? ... : ... | 0.88955345 | 0.88955345 | 0.29904824 |
|
||||
| test.c:426:14:426:108 | ... ? ... : ... | 0.53843358 | 0.53843358 | 0.42762647 |
|
||||
| test.c:426:18:426:95 | ... ? ... : ... | 0.53843358 | 0.53843358 | 0.52031241 |
|
||||
| test.c:426:22:426:82 | ... ? ... : ... | 0.53843358 | 0.53843358 | 0.13204114 |
|
||||
| test.c:426:26:426:69 | ... ? ... : ... | 0.53843358 | 0.53843358 | 0.44996679 |
|
||||
| test.c:426:30:426:56 | ... ? ... : ... | 0.53843358 | 0.42186276 | 0.53843358 |
|
||||
| test.c:468:4:642:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:468:5:470:49 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:471:6:553:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:472:8:490:41 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:475:10:479:21 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:475:31:475:79 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:477:13:479:21 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:484:12:489:23 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:485:12:485:60 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:487:15:489:23 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:491:6:510:23 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:494:8:498:19 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:494:29:494:77 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:496:11:498:19 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:499:6:499:54 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:503:10:507:21 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:503:31:503:79 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:505:13:507:21 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:508:9:510:23 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:512:10:531:43 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:515:12:520:23 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:516:12:516:60 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:518:15:520:23 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:525:14:530:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:526:14:526:62 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:528:17:530:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:532:9:553:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:535:14:540:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:536:14:536:62 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:538:17:540:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:541:12:541:60 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:545:12:550:23 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:546:12:546:60 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:548:15:550:23 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:551:11:553:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:554:9:556:51 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:557:9:642:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:558:14:577:47 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:561:16:566:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:562:16:562:64 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:564:19:566:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:571:18:576:29 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:572:18:572:66 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:574:21:576:29 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:578:12:599:29 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:581:14:586:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:582:14:582:62 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:584:17:586:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:587:12:587:60 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:591:16:596:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:592:16:592:64 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:594:19:596:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:597:15:599:29 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:601:12:620:45 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:604:14:609:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:605:14:605:62 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:607:17:609:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:614:16:619:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:615:16:615:64 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:617:19:619:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:621:11:642:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:624:16:629:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:625:16:625:64 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:627:19:629:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:630:14:630:62 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:634:14:639:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:635:14:635:62 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:637:17:639:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:640:13:642:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 |
|
||||
| test.c:668:20:668:36 | ... ? ... : ... | 100.0 | 99.0 | 100.0 |
|
||||
| test.c:880:5:880:14 | ... ? ... : ... | 32767.0 | 32767.0 | 0.0 |
|
||||
| test.c:881:5:881:14 | ... ? ... : ... | 32767.0 | 0.0 | 32767.0 |
|
||||
| test.cpp:121:3:121:12 | ... ? ... : ... | 32767.0 | 32767.0 | 0.0 |
|
||||
| test.cpp:122:3:122:12 | ... ? ... : ... | 32767.0 | 0.0 | 32767.0 |
|
||||
|
||||
@@ -333,6 +333,27 @@ int test_mult05(int a, int b) {
|
||||
return total;
|
||||
}
|
||||
|
||||
// Tests for shift operators.
|
||||
unsigned long long test_shift(unsigned long long a) {
|
||||
// `odd` is the largest odd integer that can be precisely represented by a double.
|
||||
unsigned long long odd = 9007199254740992 - 1; // 2^53 - 1
|
||||
// Shifting right by by 1 give an upper bound that is half of `odd` rounded down.
|
||||
unsigned long long shifted = odd >> 1;
|
||||
|
||||
return shifted;
|
||||
}
|
||||
|
||||
// Tests for bounds on integers derived from inequalities.
|
||||
unsigned int test_inequality_integer(unsigned int e) {
|
||||
unsigned int bi1 = (2 * e + 1) > 0 ? e : 2;
|
||||
signed int bi2 = (2 * e + 1) >= 0 ? e : 2;
|
||||
unsigned int bi3 = (3 * e + 2) > 0 ? e : 2;
|
||||
unsigned int bi4 = (2 * e + 1) > 0 ? e : 2;
|
||||
unsigned int bi5 = (2 * e + 1) > 16 ? e : 2;
|
||||
|
||||
return bi1 + bi2 + bi3 + bi4 + bi5;
|
||||
}
|
||||
|
||||
int test16(int x) {
|
||||
int d, i = 0;
|
||||
if (x < 0) {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
||||
| vector_types2.cpp:10:15:10:42 | __builtin_shuffle |
|
||||
| vector_types2.cpp:11:15:11:45 | __builtin_shuffle |
|
||||
| vector_types.cpp:31:13:31:49 | __builtin_shufflevector |
|
||||
| vector_types.cpp:58:10:58:52 | __builtin_convertvector |
|
||||
| vector_types.cpp:63:10:63:52 | __builtin_convertvector |
|
||||
|
||||
@@ -34,4 +34,7 @@
|
||||
| vector_types.cpp:47:23:47:25 | dst | dst | file://:0:0:0:0 | v16i * | 8 |
|
||||
| vector_types.cpp:47:34:47:36 | src | src | file://:0:0:0:0 | v16i * | 8 |
|
||||
| vector_types.cpp:47:43:47:43 | n | n | file://:0:0:0:0 | int | 4 |
|
||||
| vector_types.cpp:57:43:57:44 | vf | vf | vector_types.cpp:55:16:55:27 | vector4float | 16 |
|
||||
| vector_types.cpp:54:20:54:22 | dst | dst | file://:0:0:0:0 | v16i * | 8 |
|
||||
| vector_types.cpp:54:31:54:34 | src1 | src1 | file://:0:0:0:0 | v16i * | 8 |
|
||||
| vector_types.cpp:54:43:54:46 | src2 | src2 | file://:0:0:0:0 | v16i * | 8 |
|
||||
| vector_types.cpp:62:43:62:44 | vf | vf | vector_types.cpp:60:16:60:27 | vector4float | 16 |
|
||||
|
||||
@@ -2,3 +2,5 @@
|
||||
| vector_types.cpp:21:10:21:18 | ... < ... | < | file://:0:0:0:0 | __attribute((vector_size(16))) int |
|
||||
| vector_types.cpp:51:10:51:18 | ... << ... | << | file://:0:0:0:0 | __attribute((vector_size(16))) int |
|
||||
| vector_types.cpp:51:18:51:18 | (vector fill) ... | (vector fill) | file://:0:0:0:0 | __attribute((vector_size(16))) int |
|
||||
| vector_types.cpp:55:10:55:23 | ... && ... | && | file://:0:0:0:0 | __attribute((vector_size(16))) int |
|
||||
| vector_types.cpp:56:10:56:23 | ... \|\| ... | \|\| | file://:0:0:0:0 | __attribute((vector_size(16))) int |
|
||||
|
||||
@@ -51,6 +51,11 @@ void shift_left(v16i *dst, v16i *src, int n) {
|
||||
*dst = *src << n;
|
||||
}
|
||||
|
||||
void logical(v16i *dst, v16i *src1, v16i *src2) {
|
||||
*dst = *src1 && *src2;
|
||||
*dst = *src1 || *src2;
|
||||
}
|
||||
|
||||
typedef double vector4double __attribute__((__vector_size__(32)));
|
||||
typedef float vector4float __attribute__((__vector_size__(16)));
|
||||
|
||||
|
||||
@@ -38,8 +38,8 @@ int extreme_values(void)
|
||||
if (x >> 1 >= 0x7FFFFFFFFFFFFFFF) {} // always true [NOT DETECTED]
|
||||
if (x >> 1 >= 0xFFFFFFFFFFFFFFF) {} // always true [NOT DETECTED]
|
||||
|
||||
if (y >> 1 >= 0xFFFFFFFFFFFF) {} // always false [INCORRECT MESSAGE]
|
||||
if (y >> 1 >= 0x800000000000) {} // always false [INCORRECT MESSAGE]
|
||||
if (y >> 1 >= 0x7FFFFFFFFFFF) {} // always true [INCORRECT MESSAGE]
|
||||
if (y >> 1 >= 0xFFFFFFFFFFF) {} // always true [INCORRECT MESSAGE]
|
||||
if (y >> 1 >= 0xFFFFFFFFFFFF) {} // always false
|
||||
if (y >> 1 >= 0x800000000000) {} // always false
|
||||
if (y >> 1 >= 0x7FFFFFFFFFFF) {} // always true
|
||||
if (y >> 1 >= 0xFFFFFFFFFFF) {} // always true
|
||||
}
|
||||
|
||||
@@ -45,9 +45,9 @@
|
||||
| PointlessComparison.c:391:12:391:20 | ... < ... | Comparison is always false because ... * ... >= 6. |
|
||||
| PointlessComparison.c:414:7:414:16 | ... == ... | Comparison is always false because ... * ... >= 18446744073709551616. |
|
||||
| PointlessComparison.cpp:36:6:36:33 | ... >= ... | Comparison is always false because ... >> ... <= 9223372036854775808. |
|
||||
| PointlessComparison.cpp:41:6:41:29 | ... >= ... | Comparison is always false because ... >> ... <= 140737488355327.5. |
|
||||
| PointlessComparison.cpp:42:6:42:29 | ... >= ... | Comparison is always false because ... >> ... <= 140737488355327.5. |
|
||||
| PointlessComparison.cpp:43:6:43:29 | ... >= ... | Comparison is always true because ... >> ... >= 140737488355327.5. |
|
||||
| PointlessComparison.cpp:44:6:44:28 | ... >= ... | Comparison is always true because ... >> ... >= 140737488355327.5. |
|
||||
| PointlessComparison.cpp:41:6:41:29 | ... >= ... | Comparison is always false because ... >> ... <= 140737488355327. |
|
||||
| PointlessComparison.cpp:42:6:42:29 | ... >= ... | Comparison is always false because ... >> ... <= 140737488355327. |
|
||||
| PointlessComparison.cpp:43:6:43:29 | ... >= ... | Comparison is always true because ... >> ... >= 140737488355327. |
|
||||
| PointlessComparison.cpp:44:6:44:28 | ... >= ... | Comparison is always true because ... >> ... >= 140737488355327. |
|
||||
| RegressionTests.cpp:57:7:57:22 | ... <= ... | Comparison is always true because * ... <= 4294967295. |
|
||||
| Templates.cpp:9:10:9:24 | ... <= ... | Comparison is always true because local <= 32767. |
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
---
|
||||
category: minorAnalysis
|
||||
---
|
||||
* When a code-scanning configuration specifies the `paths:` and/or `paths-ignore:` settings, these are now taken into account by the C# extractor's search for `.config`, `.props`, XML and project files.
|
||||
@@ -5,6 +5,7 @@ type NUL && "%CODEQL_DIST%\codeql" database index-files ^
|
||||
--include-extension=.csproj ^
|
||||
--include-extension=.props ^
|
||||
--include-extension=.xml ^
|
||||
--also-match-lgtm-index-filters ^
|
||||
--size-limit 10m ^
|
||||
--language xml ^
|
||||
--working-dir=. ^
|
||||
|
||||
@@ -7,6 +7,7 @@ set -eu
|
||||
--include-extension=.csproj \
|
||||
--include-extension=.props \
|
||||
--include-extension=.xml \
|
||||
--also-match-lgtm-index-filters \
|
||||
--size-limit 10m \
|
||||
--language xml \
|
||||
--working-dir=. \
|
||||
|
||||
@@ -9,6 +9,7 @@ if NOT "%CODEQL_EXTRACTOR_GO_EXTRACT_HTML%"=="no" (
|
||||
--include-extension=.xhtm ^
|
||||
--include-extension=.xhtml ^
|
||||
--include-extension=.vue ^
|
||||
--also-match-lgtm-index-filters ^
|
||||
--size-limit 10m ^
|
||||
--language html ^
|
||||
-- ^
|
||||
|
||||
@@ -10,6 +10,7 @@ if [ "${CODEQL_EXTRACTOR_GO_EXTRACT_HTML:-yes}" != "no" ]; then
|
||||
--include-extension=.xhtm \
|
||||
--include-extension=.xhtml \
|
||||
--include-extension=.vue \
|
||||
--also-match-lgtm-index-filters \
|
||||
--size-limit 10m \
|
||||
--language html \
|
||||
-- \
|
||||
|
||||
@@ -9,7 +9,7 @@ toolchain go1.25.0
|
||||
// when adding or removing dependencies, run
|
||||
// bazel mod tidy
|
||||
require (
|
||||
golang.org/x/mod v0.31.0
|
||||
golang.org/x/mod v0.32.0
|
||||
golang.org/x/tools v0.40.0
|
||||
)
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
|
||||
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
||||
golang.org/x/mod v0.31.0 h1:HaW9xtz0+kOcWKwli0ZXy79Ix+UW/vOfmWI5QVd2tgI=
|
||||
golang.org/x/mod v0.31.0/go.mod h1:43JraMp9cGx1Rx3AqioxrbrhNsLl2l/iNAvuBkrezpg=
|
||||
golang.org/x/mod v0.32.0 h1:9F4d3PHLljb6x//jOyokMv3eX+YDeepZSEo3mFJy93c=
|
||||
golang.org/x/mod v0.32.0/go.mod h1:SgipZ/3h2Ci89DlEtEXWUk/HteuRin+HHhN+WbNhguU=
|
||||
golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4=
|
||||
golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
|
||||
golang.org/x/tools v0.40.0 h1:yLkxfA+Qnul4cs9QA3KnlFu0lVmd8JJfoq+E41uSutA=
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
---
|
||||
category: minorAnalysis
|
||||
---
|
||||
* When a code-scanning configuration specifies the `paths:` and/or `paths-ignore:` settings, these are now taken into account by the Go extractor's search for `.vue` and HTML files.
|
||||
@@ -76,7 +76,7 @@ jakarta.activation,2,,2,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,1,,,,,,,,,,,,,,,,2,
|
||||
jakarta.faces.context,4,7,,,,,,,,,,,,,,2,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,,,,,,,7,,
|
||||
jakarta.json,,,123,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,100,23
|
||||
jakarta.persistence,2,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,1,
|
||||
jakarta.servlet,2,19,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,19,,
|
||||
jakarta.servlet,2,26,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,26,,
|
||||
jakarta.ws.rs.client,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,
|
||||
jakarta.ws.rs.container,,9,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,9,,
|
||||
jakarta.ws.rs.core,2,,149,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,94,55
|
||||
@@ -115,7 +115,7 @@ javax.script,1,,50,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,14,36
|
||||
javax.security.auth,7,,147,,,4,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,50,97
|
||||
javax.security.cert,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,
|
||||
javax.security.sasl,,,49,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,42,7
|
||||
javax.servlet,10,22,3,,,,,,,,,,,,,,1,,,,,,,,,,2,,,,,,,,,,3,,,2,,2,,,,,,,,,22,3,
|
||||
javax.servlet,10,29,3,,,,,,,,,,,,,,1,,,,,,,,,,2,,,,,,,,,,3,,,2,,2,,,,,,,,,29,3,
|
||||
javax.smartcardio,,,34,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,24,10
|
||||
javax.sound.midi,,,60,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,51,9
|
||||
javax.sound.sampled,,,90,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,53,37
|
||||
@@ -154,6 +154,7 @@ org.apache.commons.collections,,,800,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
org.apache.commons.collections4,,,800,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,17,783
|
||||
org.apache.commons.compress.archivers.tar,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4,
|
||||
org.apache.commons.exec,10,,,,6,,,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
org.apache.commons.fileupload,,11,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,11,4,
|
||||
org.apache.commons.httpclient.util,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,
|
||||
org.apache.commons.io,124,,570,,,,,,,,,4,,,,,,,,,,,,,,,105,,,,,,,,,15,,,,,,,,,,,,,,,,556,14
|
||||
org.apache.commons.jelly,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6,,,,,,,,,,,,,,,,,
|
||||
@@ -258,6 +259,7 @@ org.springframework.web.multipart,,12,12,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
org.springframework.web.portlet,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,
|
||||
org.springframework.web.reactive.function.client,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,
|
||||
org.springframework.web.servlet,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,
|
||||
org.springframework.web.socket,,8,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8,6,
|
||||
org.springframework.web.util,,9,157,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,9,132,25
|
||||
org.thymeleaf,2,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,2,
|
||||
org.xml.sax,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,
|
||||
|
||||
|
@@ -19,9 +19,9 @@ Java framework & library support
|
||||
JBoss Logging,``org.jboss.logging``,,,324,,,,,,
|
||||
`JSON-java <https://github.com/stleary/JSON-java>`_,``org.json``,,236,,,,,,,
|
||||
Java Standard Library,``java.*``,10,4628,260,99,,9,,,26
|
||||
Java extensions,"``javax.*``, ``jakarta.*``",87,4185,90,10,4,2,1,1,4
|
||||
Java extensions,"``javax.*``, ``jakarta.*``",101,4185,90,10,4,2,1,1,4
|
||||
Kotlin Standard Library,``kotlin*``,,1849,16,14,,,,,2
|
||||
`Spring <https://spring.io/>`_,``org.springframework.*``,38,486,143,26,,28,14,,35
|
||||
Others,"``actions.osgi``, ``antlr``, ``ch.ethz.ssh2``, ``cn.hutool.core.codec``, ``com.alibaba.com.caucho.hessian.io``, ``com.alibaba.druid.sql``, ``com.alibaba.fastjson2``, ``com.amazonaws.auth``, ``com.auth0.jwt.algorithms``, ``com.azure.identity``, ``com.caucho.burlap.io``, ``com.caucho.hessian.io``, ``com.cedarsoftware.util.io``, ``com.esotericsoftware.kryo.io``, ``com.esotericsoftware.kryo5.io``, ``com.esotericsoftware.yamlbeans``, ``com.fasterxml.jackson.core``, ``com.fasterxml.jackson.databind``, ``com.google.gson``, ``com.hubspot.jinjava``, ``com.jcraft.jsch``, ``com.microsoft.sqlserver.jdbc``, ``com.mitchellbosecke.pebble``, ``com.mongodb``, ``com.opensymphony.xwork2``, ``com.rabbitmq.client``, ``com.sshtools.j2ssh.authentication``, ``com.sun.crypto.provider``, ``com.sun.jndi.ldap``, ``com.sun.net.httpserver``, ``com.sun.net.ssl``, ``com.sun.rowset``, ``com.sun.security.auth.module``, ``com.sun.security.ntlm``, ``com.sun.security.sasl.digest``, ``com.thoughtworks.xstream``, ``com.trilead.ssh2``, ``com.unboundid.ldap.sdk``, ``com.zaxxer.hikari``, ``flexjson``, ``freemarker.cache``, ``freemarker.template``, ``groovy.lang``, ``groovy.text``, ``groovy.util``, ``hudson``, ``io.jsonwebtoken``, ``io.netty.bootstrap``, ``io.netty.buffer``, ``io.netty.channel``, ``io.netty.handler.codec``, ``io.netty.handler.ssl``, ``io.netty.handler.stream``, ``io.netty.resolver``, ``io.netty.util``, ``io.undertow.server.handlers.resource``, ``javafx.scene.web``, ``jenkins``, ``jodd.json``, ``liquibase.database.jvm``, ``liquibase.statement.core``, ``net.lingala.zip4j``, ``net.schmizz.sshj``, ``net.sf.json``, ``net.sf.saxon.s9api``, ``ognl``, ``okhttp3``, ``org.acegisecurity``, ``org.antlr.runtime``, ``org.apache.commons.codec``, ``org.apache.commons.compress.archivers.tar``, ``org.apache.commons.exec``, ``org.apache.commons.httpclient.util``, ``org.apache.commons.jelly``, ``org.apache.commons.jexl2``, ``org.apache.commons.jexl3``, ``org.apache.commons.lang``, ``org.apache.commons.logging``, ``org.apache.commons.net``, ``org.apache.commons.ognl``, ``org.apache.cxf.catalog``, ``org.apache.cxf.common.classloader``, ``org.apache.cxf.common.jaxb``, ``org.apache.cxf.common.logging``, ``org.apache.cxf.configuration.jsse``, ``org.apache.cxf.helpers``, ``org.apache.cxf.resource``, ``org.apache.cxf.staxutils``, ``org.apache.cxf.tools.corba.utils``, ``org.apache.cxf.tools.util``, ``org.apache.cxf.transform``, ``org.apache.directory.ldap.client.api``, ``org.apache.hadoop.fs``, ``org.apache.hadoop.hive.metastore``, ``org.apache.hadoop.hive.ql.exec``, ``org.apache.hadoop.hive.ql.metadata``, ``org.apache.hc.client5.http.async.methods``, ``org.apache.hc.client5.http.classic.methods``, ``org.apache.hc.client5.http.fluent``, ``org.apache.hive.hcatalog.templeton``, ``org.apache.ibatis.jdbc``, ``org.apache.ibatis.mapping``, ``org.apache.log4j``, ``org.apache.shiro.authc``, ``org.apache.shiro.codec``, ``org.apache.shiro.jndi``, ``org.apache.shiro.mgt``, ``org.apache.sshd.client.session``, ``org.apache.struts.beanvalidation.validation.interceptor``, ``org.apache.struts2``, ``org.apache.tools.ant``, ``org.apache.tools.zip``, ``org.apache.velocity.app``, ``org.apache.velocity.runtime``, ``org.codehaus.cargo.container.installer``, ``org.codehaus.groovy.control``, ``org.dom4j``, ``org.eclipse.jetty.client``, ``org.exolab.castor.xml``, ``org.fusesource.leveldbjni``, ``org.geogebra.web.full.main``, ``org.gradle.api.file``, ``org.hibernate``, ``org.ho.yaml``, ``org.influxdb``, ``org.jabsorb``, ``org.jboss.vfs``, ``org.jdbi.v3.core``, ``org.jenkins.ui.icon``, ``org.jenkins.ui.symbol``, ``org.jooq``, ``org.keycloak.models.map.storage``, ``org.kohsuke.stapler``, ``org.lastaflute.web``, ``org.mvel2``, ``org.openjdk.jmh.runner.options``, ``org.owasp.esapi``, ``org.pac4j.jwt.config.encryption``, ``org.pac4j.jwt.config.signature``, ``org.scijava.log``, ``org.slf4j``, ``org.thymeleaf``, ``org.xml.sax``, ``org.xmlpull.v1``, ``org.yaml.snakeyaml``, ``play.libs.ws``, ``play.mvc``, ``ratpack.core.form``, ``ratpack.core.handling``, ``ratpack.core.http``, ``ratpack.exec``, ``ratpack.form``, ``ratpack.func``, ``ratpack.handling``, ``ratpack.http``, ``ratpack.util``, ``retrofit2``, ``software.amazon.awssdk.transfer.s3.model``, ``sun.jvmstat.perfdata.monitor.protocol.local``, ``sun.jvmstat.perfdata.monitor.protocol.rmi``, ``sun.misc``, ``sun.net.ftp``, ``sun.net.www.protocol.http``, ``sun.security.acl``, ``sun.security.jgss.krb5``, ``sun.security.krb5``, ``sun.security.pkcs``, ``sun.security.pkcs11``, ``sun.security.provider``, ``sun.security.ssl``, ``sun.security.x509``, ``sun.tools.jconsole``",133,10525,927,140,6,22,18,,208
|
||||
Totals,,330,26361,2656,404,16,128,33,1,409
|
||||
`Spring <https://spring.io/>`_,``org.springframework.*``,46,492,143,26,,28,14,,35
|
||||
Others,"``actions.osgi``, ``antlr``, ``ch.ethz.ssh2``, ``cn.hutool.core.codec``, ``com.alibaba.com.caucho.hessian.io``, ``com.alibaba.druid.sql``, ``com.alibaba.fastjson2``, ``com.amazonaws.auth``, ``com.auth0.jwt.algorithms``, ``com.azure.identity``, ``com.caucho.burlap.io``, ``com.caucho.hessian.io``, ``com.cedarsoftware.util.io``, ``com.esotericsoftware.kryo.io``, ``com.esotericsoftware.kryo5.io``, ``com.esotericsoftware.yamlbeans``, ``com.fasterxml.jackson.core``, ``com.fasterxml.jackson.databind``, ``com.google.gson``, ``com.hubspot.jinjava``, ``com.jcraft.jsch``, ``com.microsoft.sqlserver.jdbc``, ``com.mitchellbosecke.pebble``, ``com.mongodb``, ``com.opensymphony.xwork2``, ``com.rabbitmq.client``, ``com.sshtools.j2ssh.authentication``, ``com.sun.crypto.provider``, ``com.sun.jndi.ldap``, ``com.sun.net.httpserver``, ``com.sun.net.ssl``, ``com.sun.rowset``, ``com.sun.security.auth.module``, ``com.sun.security.ntlm``, ``com.sun.security.sasl.digest``, ``com.thoughtworks.xstream``, ``com.trilead.ssh2``, ``com.unboundid.ldap.sdk``, ``com.zaxxer.hikari``, ``flexjson``, ``freemarker.cache``, ``freemarker.template``, ``groovy.lang``, ``groovy.text``, ``groovy.util``, ``hudson``, ``io.jsonwebtoken``, ``io.netty.bootstrap``, ``io.netty.buffer``, ``io.netty.channel``, ``io.netty.handler.codec``, ``io.netty.handler.ssl``, ``io.netty.handler.stream``, ``io.netty.resolver``, ``io.netty.util``, ``io.undertow.server.handlers.resource``, ``javafx.scene.web``, ``jenkins``, ``jodd.json``, ``liquibase.database.jvm``, ``liquibase.statement.core``, ``net.lingala.zip4j``, ``net.schmizz.sshj``, ``net.sf.json``, ``net.sf.saxon.s9api``, ``ognl``, ``okhttp3``, ``org.acegisecurity``, ``org.antlr.runtime``, ``org.apache.commons.codec``, ``org.apache.commons.compress.archivers.tar``, ``org.apache.commons.exec``, ``org.apache.commons.fileupload``, ``org.apache.commons.httpclient.util``, ``org.apache.commons.jelly``, ``org.apache.commons.jexl2``, ``org.apache.commons.jexl3``, ``org.apache.commons.lang``, ``org.apache.commons.logging``, ``org.apache.commons.net``, ``org.apache.commons.ognl``, ``org.apache.cxf.catalog``, ``org.apache.cxf.common.classloader``, ``org.apache.cxf.common.jaxb``, ``org.apache.cxf.common.logging``, ``org.apache.cxf.configuration.jsse``, ``org.apache.cxf.helpers``, ``org.apache.cxf.resource``, ``org.apache.cxf.staxutils``, ``org.apache.cxf.tools.corba.utils``, ``org.apache.cxf.tools.util``, ``org.apache.cxf.transform``, ``org.apache.directory.ldap.client.api``, ``org.apache.hadoop.fs``, ``org.apache.hadoop.hive.metastore``, ``org.apache.hadoop.hive.ql.exec``, ``org.apache.hadoop.hive.ql.metadata``, ``org.apache.hc.client5.http.async.methods``, ``org.apache.hc.client5.http.classic.methods``, ``org.apache.hc.client5.http.fluent``, ``org.apache.hive.hcatalog.templeton``, ``org.apache.ibatis.jdbc``, ``org.apache.ibatis.mapping``, ``org.apache.log4j``, ``org.apache.shiro.authc``, ``org.apache.shiro.codec``, ``org.apache.shiro.jndi``, ``org.apache.shiro.mgt``, ``org.apache.sshd.client.session``, ``org.apache.struts.beanvalidation.validation.interceptor``, ``org.apache.struts2``, ``org.apache.tools.ant``, ``org.apache.tools.zip``, ``org.apache.velocity.app``, ``org.apache.velocity.runtime``, ``org.codehaus.cargo.container.installer``, ``org.codehaus.groovy.control``, ``org.dom4j``, ``org.eclipse.jetty.client``, ``org.exolab.castor.xml``, ``org.fusesource.leveldbjni``, ``org.geogebra.web.full.main``, ``org.gradle.api.file``, ``org.hibernate``, ``org.ho.yaml``, ``org.influxdb``, ``org.jabsorb``, ``org.jboss.vfs``, ``org.jdbi.v3.core``, ``org.jenkins.ui.icon``, ``org.jenkins.ui.symbol``, ``org.jooq``, ``org.keycloak.models.map.storage``, ``org.kohsuke.stapler``, ``org.lastaflute.web``, ``org.mvel2``, ``org.openjdk.jmh.runner.options``, ``org.owasp.esapi``, ``org.pac4j.jwt.config.encryption``, ``org.pac4j.jwt.config.signature``, ``org.scijava.log``, ``org.slf4j``, ``org.thymeleaf``, ``org.xml.sax``, ``org.xmlpull.v1``, ``org.yaml.snakeyaml``, ``play.libs.ws``, ``play.mvc``, ``ratpack.core.form``, ``ratpack.core.handling``, ``ratpack.core.http``, ``ratpack.exec``, ``ratpack.form``, ``ratpack.func``, ``ratpack.handling``, ``ratpack.http``, ``ratpack.util``, ``retrofit2``, ``software.amazon.awssdk.transfer.s3.model``, ``sun.jvmstat.perfdata.monitor.protocol.local``, ``sun.jvmstat.perfdata.monitor.protocol.rmi``, ``sun.misc``, ``sun.net.ftp``, ``sun.net.www.protocol.http``, ``sun.security.acl``, ``sun.security.jgss.krb5``, ``sun.security.krb5``, ``sun.security.pkcs``, ``sun.security.pkcs11``, ``sun.security.provider``, ``sun.security.ssl``, ``sun.security.x509``, ``sun.tools.jconsole``",144,10529,927,140,6,22,18,,208
|
||||
Totals,,363,26371,2656,404,16,128,33,1,409
|
||||
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
paths:
|
||||
- include
|
||||
paths-ignore:
|
||||
- include/exclude
|
||||
@@ -0,0 +1 @@
|
||||
public class ShouldAppear2 { }
|
||||
@@ -0,0 +1 @@
|
||||
<tag></tag>
|
||||
@@ -0,0 +1 @@
|
||||
public class ShouldNotAppear3 { }
|
||||
@@ -0,0 +1 @@
|
||||
<tag></tag>
|
||||
@@ -0,0 +1 @@
|
||||
public class ShouldNotAppear1 { }
|
||||
@@ -0,0 +1 @@
|
||||
<tag></tag>
|
||||
@@ -0,0 +1,4 @@
|
||||
javaFiles
|
||||
| include/ShouldAppear2.java:0:0:0:0 | ShouldAppear2 |
|
||||
#select
|
||||
| include/ShouldAppear2.xml:0:0:0:0 | include/ShouldAppear2.xml |
|
||||
5
java/ql/integration-tests/java/buildless-paths/test.py
Normal file
5
java/ql/integration-tests/java/buildless-paths/test.py
Normal file
@@ -0,0 +1,5 @@
|
||||
import os
|
||||
import os.path
|
||||
|
||||
def test(codeql, java):
|
||||
codeql.database.create(build_mode = "none", codescanning_config = "codescanning-config.yml")
|
||||
6
java/ql/integration-tests/java/buildless-paths/test.ql
Normal file
6
java/ql/integration-tests/java/buildless-paths/test.ql
Normal file
@@ -0,0 +1,6 @@
|
||||
import java
|
||||
|
||||
query predicate javaFiles(File f) { f.isJavaSourceFile() }
|
||||
|
||||
from XmlFile f
|
||||
select f
|
||||
4
java/ql/lib/change-notes/2024-09-24-multipart.md
Normal file
4
java/ql/lib/change-notes/2024-09-24-multipart.md
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
category: minorAnalysis
|
||||
---
|
||||
* Added more dataflow models of `org.apache.commons.fileupload.FileItem`, `javax/jakarta.servlet.http.Part` and `org.apache.commons.fileupload.util.Streams`.
|
||||
4
java/ql/lib/change-notes/2025-12-16-java-xml-paths.md
Normal file
4
java/ql/lib/change-notes/2025-12-16-java-xml-paths.md
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
category: minorAnalysis
|
||||
---
|
||||
* When a code-scanning configuration specifies the `paths:` and/or `paths-ignore:` settings, these are now taken into account by the Java extractor's search for XML and properties files.
|
||||
@@ -3,7 +3,14 @@ extensions:
|
||||
pack: codeql/java-all
|
||||
extensible: sourceModel
|
||||
data:
|
||||
- ["jakarta.servlet.http", "HttpServletRequest", True, "getServletPath", "", "", "ReturnValue", "remote", "manual"]
|
||||
- ["jakarta.servlet.http", "HttpServletRequest", True, "getServletPath", "()", "", "ReturnValue", "remote", "manual"]
|
||||
- ["jakarta.servlet.http", "Part", True, "getInputStream", "()", "", "ReturnValue", "remote", "manual"]
|
||||
- ["jakarta.servlet.http", "Part", True, "getName", "()", "", "ReturnValue", "remote", "manual"]
|
||||
- ["jakarta.servlet.http", "Part", True, "getContentType", "()", "", "ReturnValue", "remote", "manual"]
|
||||
- ["jakarta.servlet.http", "Part", True, "getHeader", "(String)", "", "ReturnValue", "remote", "manual"]
|
||||
- ["jakarta.servlet.http", "Part", True, "getHeaderNames", "()", "", "ReturnValue", "remote", "manual"]
|
||||
- ["jakarta.servlet.http", "Part", True, "getHeaders", "(String)", "", "ReturnValue", "remote", "manual"]
|
||||
- ["jakarta.servlet.http", "Part", True, "getSubmittedFileName", "()", "", "ReturnValue", "remote", "manual"]
|
||||
- ["jakarta.servlet.http", "HttpServletRequest", False, "getHeader", "(String)", "", "ReturnValue", "remote", "manual"]
|
||||
- ["jakarta.servlet.http", "HttpServletRequest", False, "getHeaderNames", "()", "", "ReturnValue", "remote", "manual"]
|
||||
- ["jakarta.servlet.http", "HttpServletRequest", False, "getHeaders", "(String)", "", "ReturnValue", "remote", "manual"]
|
||||
|
||||
@@ -19,6 +19,14 @@ extensions:
|
||||
- ["javax.servlet.http", "HttpServletRequest", False, "getRequestURI", "()", "", "ReturnValue", "remote", "manual"]
|
||||
- ["javax.servlet.http", "HttpServletRequest", False, "getRequestURL", "()", "", "ReturnValue", "remote", "manual"]
|
||||
- ["javax.servlet.http", "HttpServletRequest", False, "getServletPath", "()", "", "ReturnValue", "remote", "manual"]
|
||||
- ["javax.servlet.http", "Part", False, "getContentType", "()", "", "ReturnValue", "remote", "manual"]
|
||||
- ["javax.servlet.http", "Part", False, "getHeader", "(String)", "", "ReturnValue", "remote", "manual"]
|
||||
- ["javax.servlet.http", "Part", False, "getHeaderNames", "()", "", "ReturnValue", "remote", "manual"]
|
||||
- ["javax.servlet.http", "Part", False, "getHeaders", "(String)", "", "ReturnValue", "remote", "manual"]
|
||||
- ["javax.servlet.http", "Part", False, "getInputStream", "()", "", "ReturnValue", "remote", "manual"]
|
||||
- ["javax.servlet.http", "Part", False, "getName", "()", "", "ReturnValue", "remote", "manual"]
|
||||
- ["javax.servlet.http", "Part", False, "getSubmittedFileName", "()", "", "ReturnValue", "remote", "manual"]
|
||||
|
||||
|
||||
- addsTo:
|
||||
pack: codeql/java-all
|
||||
|
||||
16
java/ql/lib/ext/org.apache.commons.fileupload.model.yml
Normal file
16
java/ql/lib/ext/org.apache.commons.fileupload.model.yml
Normal file
@@ -0,0 +1,16 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/java-all
|
||||
extensible: sourceModel
|
||||
data:
|
||||
- ["org.apache.commons.fileupload", "FileItem", True, "get", "()", "", "ReturnValue", "remote", "manual"]
|
||||
- ["org.apache.commons.fileupload", "FileItem", True, "getContentType", "()", "", "ReturnValue", "remote", "manual"]
|
||||
- ["org.apache.commons.fileupload", "FileItem", True, "getFieldName", "()", "", "ReturnValue", "remote", "manual"]
|
||||
- ["org.apache.commons.fileupload", "FileItem", True, "getInputStream", "()", "", "ReturnValue", "remote", "manual"]
|
||||
- ["org.apache.commons.fileupload", "FileItem", True, "getName", "()", "", "ReturnValue", "remote", "manual"]
|
||||
- ["org.apache.commons.fileupload", "FileItem", True, "getString", "()", "", "ReturnValue", "remote", "manual"]
|
||||
- ["org.apache.commons.fileupload", "FileItem", True, "getString", "(String)", "", "ReturnValue", "remote", "manual"]
|
||||
- ["org.apache.commons.fileupload", "FileItemStream", True, "getContentType", "()", "", "ReturnValue", "remote", "manual"]
|
||||
- ["org.apache.commons.fileupload", "FileItemStream", True, "getFieldName", "()", "", "ReturnValue", "remote", "manual"]
|
||||
- ["org.apache.commons.fileupload", "FileItemStream", True, "getName", "()", "", "ReturnValue", "remote", "manual"]
|
||||
- ["org.apache.commons.fileupload", "FileItemStream", True, "openStream", "()", "", "ReturnValue", "remote", "manual"]
|
||||
@@ -0,0 +1,9 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/java-all
|
||||
extensible: summaryModel
|
||||
data:
|
||||
- ["org.apache.commons.fileupload.util", "Streams", True, "asString", "(InputStream)", "", "Argument[0]", "ReturnValue", "taint", "manual"]
|
||||
- ["org.apache.commons.fileupload.util", "Streams", True, "asString", "(InputStream,String)", "", "Argument[0]", "ReturnValue", "taint", "manual"]
|
||||
- ["org.apache.commons.fileupload.util", "Streams", True, "copy", "(InputStream,OutputStream,boolean)", "", "Argument[0]", "Argument[1]", "taint", "manual"]
|
||||
- ["org.apache.commons.fileupload.util", "Streams", True, "copy", "(InputStream,OutputStream,boolean,byte[])", "", "Argument[0]", "Argument[1]", "taint", "manual"]
|
||||
@@ -63,12 +63,23 @@ class ExposedField extends Field {
|
||||
not this.getType() instanceof LockType and
|
||||
// field is not thread-safe
|
||||
not isThreadSafeType(this.getType()) and
|
||||
not isThreadSafeType(this.getInitializer().getType()) and
|
||||
not isThreadSafeType(initialValue(this).getType()) and
|
||||
// the initializer guarantees thread safety
|
||||
not isThreadSafeInitializer(this.getInitializer())
|
||||
not isThreadSafeInitializer(initialValue(this))
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the initial value for the field `f`.
|
||||
* This is either a field initializer or an assignment in a constructor.
|
||||
*/
|
||||
Expr initialValue(Field f) {
|
||||
result = f.getInitializer()
|
||||
or
|
||||
result = f.getAnAssignedValue() and
|
||||
result.getEnclosingCallable() = f.getDeclaringType().getAConstructor()
|
||||
}
|
||||
|
||||
/**
|
||||
* A field access that is exposed to potential data races.
|
||||
* We require the field to be in a class that is annotated as `@ThreadSafe`.
|
||||
|
||||
@@ -35,6 +35,11 @@ private class DefaultIntentRedirectionSink extends IntentRedirectionSink {
|
||||
DefaultIntentRedirectionSink() { sinkNode(this, "intent-redirection") }
|
||||
}
|
||||
|
||||
/** An external sanitizer for Intent redirection vulnerabilities. */
|
||||
private class ExternalIntentRedirectionSanitizer extends IntentRedirectionSanitizer {
|
||||
ExternalIntentRedirectionSanitizer() { barrierNode(this, "intent-redirection") }
|
||||
}
|
||||
|
||||
/**
|
||||
* A default sanitizer for `Intent` nodes dominated by calls to `ComponentName.getPackageName`
|
||||
* and `ComponentName.getClassName`. These are used to check whether the origin or destination
|
||||
|
||||
@@ -37,6 +37,10 @@ private class DefaultCommandInjectionSink extends CommandInjectionSink {
|
||||
DefaultCommandInjectionSink() { sinkNode(this, "command-injection") }
|
||||
}
|
||||
|
||||
private class ExternalCommandInjectionSanitizer extends CommandInjectionSanitizer {
|
||||
ExternalCommandInjectionSanitizer() { barrierNode(this, "command-injection") }
|
||||
}
|
||||
|
||||
private class DefaultCommandInjectionSanitizer extends CommandInjectionSanitizer {
|
||||
DefaultCommandInjectionSanitizer() {
|
||||
this instanceof SimpleTypeSanitizer
|
||||
|
||||
@@ -49,6 +49,15 @@ private class DefaultFragmentInjectionSink extends FragmentInjectionSink {
|
||||
DefaultFragmentInjectionSink() { sinkNode(this, "fragment-injection") }
|
||||
}
|
||||
|
||||
/**
|
||||
* A sanitizer for Fragment injection vulnerabilities.
|
||||
*/
|
||||
abstract class FragmentInjectionSanitizer extends DataFlow::Node { }
|
||||
|
||||
private class ExternalFragmentInjectionSanitizer extends FragmentInjectionSanitizer {
|
||||
ExternalFragmentInjectionSanitizer() { barrierNode(this, "fragment-injection") }
|
||||
}
|
||||
|
||||
private class DefaultFragmentInjectionAdditionalTaintStep extends FragmentInjectionAdditionalTaintStep
|
||||
{
|
||||
override predicate step(DataFlow::Node n1, DataFlow::Node n2) {
|
||||
|
||||
@@ -14,6 +14,8 @@ module FragmentInjectionTaintConfig implements DataFlow::ConfigSig {
|
||||
|
||||
predicate isSink(DataFlow::Node sink) { sink instanceof FragmentInjectionSink }
|
||||
|
||||
predicate isBarrier(DataFlow::Node node) { node instanceof FragmentInjectionSanitizer }
|
||||
|
||||
predicate isAdditionalFlowStep(DataFlow::Node n1, DataFlow::Node n2) {
|
||||
any(FragmentInjectionAdditionalTaintStep c).step(n1, n2)
|
||||
}
|
||||
|
||||
@@ -26,6 +26,13 @@ private class DefaultGroovyInjectionSink extends GroovyInjectionSink {
|
||||
DefaultGroovyInjectionSink() { sinkNode(this, "groovy-injection") }
|
||||
}
|
||||
|
||||
/** A data flow sanitizer for Groovy expression injection vulnerabilities. */
|
||||
abstract class GroovyInjectionSanitizer extends DataFlow::ExprNode { }
|
||||
|
||||
private class ExternalGroovyInjectionSanitizer extends GroovyInjectionSanitizer {
|
||||
ExternalGroovyInjectionSanitizer() { barrierNode(this, "groovy-injection") }
|
||||
}
|
||||
|
||||
/** A set of additional taint steps to consider when taint tracking Groovy related data flows. */
|
||||
private class DefaultGroovyInjectionAdditionalTaintStep extends GroovyInjectionAdditionalTaintStep {
|
||||
override predicate step(DataFlow::Node node1, DataFlow::Node node2) {
|
||||
|
||||
@@ -289,8 +289,8 @@ private Method getSourceMethod(Method m) {
|
||||
result = m
|
||||
}
|
||||
|
||||
private class DefaultPathInjectionSanitizer extends PathInjectionSanitizer {
|
||||
DefaultPathInjectionSanitizer() { barrierNode(this, "path-injection") }
|
||||
private class ExternalPathInjectionSanitizer extends PathInjectionSanitizer {
|
||||
ExternalPathInjectionSanitizer() { barrierNode(this, "path-injection") }
|
||||
}
|
||||
|
||||
/** Holds if `g` is a guard that checks for `..` components. */
|
||||
|
||||
@@ -118,8 +118,8 @@ private class ContainsUrlSanitizer extends RequestForgerySanitizer {
|
||||
}
|
||||
}
|
||||
|
||||
private class DefaultRequestForgerySanitizer extends RequestForgerySanitizer {
|
||||
DefaultRequestForgerySanitizer() { barrierNode(this, "request-forgery") }
|
||||
private class ExternalRequestForgerySanitizer extends RequestForgerySanitizer {
|
||||
ExternalRequestForgerySanitizer() { barrierNode(this, "request-forgery") }
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -27,8 +27,8 @@ class TrustBoundaryViolationSink extends DataFlow::Node {
|
||||
*/
|
||||
abstract class TrustBoundaryValidationSanitizer extends DataFlow::Node { }
|
||||
|
||||
private class DefaultTrustBoundaryValidationSanitizer extends TrustBoundaryValidationSanitizer {
|
||||
DefaultTrustBoundaryValidationSanitizer() { barrierNode(this, "trust-boundary-violation") }
|
||||
private class ExternalTrustBoundaryValidationSanitizer extends TrustBoundaryValidationSanitizer {
|
||||
ExternalTrustBoundaryValidationSanitizer() { barrierNode(this, "trust-boundary-violation") }
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -54,8 +54,8 @@ private class DefaultXssSink extends XssSink {
|
||||
}
|
||||
}
|
||||
|
||||
private class DefaultXssSanitizer extends XssSanitizer {
|
||||
DefaultXssSanitizer() { barrierNode(this, ["html-injection", "js-injection"]) }
|
||||
private class ExternalXssSanitizer extends XssSanitizer {
|
||||
ExternalXssSanitizer() { barrierNode(this, ["html-injection", "js-injection"]) }
|
||||
}
|
||||
|
||||
/** A sanitizer that considers numeric and boolean typed data safe for writing to output. */
|
||||
|
||||
@@ -21,8 +21,8 @@ private class DefaultRegexInjectionSink extends RegexInjectionSink {
|
||||
}
|
||||
}
|
||||
|
||||
private class DefaultRegexInjectionSanitizer extends RegexInjectionSanitizer {
|
||||
DefaultRegexInjectionSanitizer() { barrierNode(this, "regex-use") }
|
||||
private class ExternalRegexInjectionSanitizer extends RegexInjectionSanitizer {
|
||||
ExternalRegexInjectionSanitizer() { barrierNode(this, "regex-use") }
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
---
|
||||
category: minorAnalysis
|
||||
---
|
||||
* Java thread safety analysis now understands initialization to thread safe classes inside constructors.
|
||||
@@ -1,7 +1,7 @@
|
||||
deprecated module;
|
||||
|
||||
import experimental.semmle.code.java.security.FileAndFormRemoteSource
|
||||
import experimental.semmle.code.java.security.DecompressionBomb::DecompressionBomb
|
||||
import semmle.code.java.dataflow.FlowSources
|
||||
|
||||
module DecompressionBombsConfig implements DataFlow::ConfigSig {
|
||||
predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource }
|
||||
|
||||
@@ -1,120 +0,0 @@
|
||||
deprecated module;
|
||||
|
||||
import java
|
||||
import semmle.code.java.dataflow.FlowSources
|
||||
|
||||
class CommonsFileUploadAdditionalTaintStep extends Unit {
|
||||
abstract predicate step(DataFlow::Node n1, DataFlow::Node n2);
|
||||
}
|
||||
|
||||
module ApacheCommonsFileUpload {
|
||||
module RemoteFlowSource {
|
||||
class TypeServletFileUpload extends RefType {
|
||||
TypeServletFileUpload() {
|
||||
this.hasQualifiedName("org.apache.commons.fileupload.servlet", "ServletFileUpload")
|
||||
}
|
||||
}
|
||||
|
||||
class TypeFileUpload extends RefType {
|
||||
TypeFileUpload() {
|
||||
this.getAStrictAncestor*().hasQualifiedName("org.apache.commons.fileupload", "FileItem")
|
||||
}
|
||||
}
|
||||
|
||||
class TypeFileItemStream extends RefType {
|
||||
TypeFileItemStream() {
|
||||
this.getAStrictAncestor*()
|
||||
.hasQualifiedName("org.apache.commons.fileupload", "FileItemStream")
|
||||
}
|
||||
}
|
||||
|
||||
class ServletFileUpload extends RemoteFlowSource {
|
||||
ServletFileUpload() {
|
||||
exists(MethodCall ma |
|
||||
ma.getReceiverType() instanceof TypeServletFileUpload and
|
||||
ma.getCallee().hasName("parseRequest") and
|
||||
this.asExpr() = ma
|
||||
)
|
||||
}
|
||||
|
||||
override string getSourceType() { result = "Apache Commons Fileupload" }
|
||||
}
|
||||
|
||||
private class FileItemRemoteSource extends RemoteFlowSource {
|
||||
FileItemRemoteSource() {
|
||||
exists(MethodCall ma |
|
||||
ma.getReceiverType() instanceof TypeFileUpload and
|
||||
ma.getCallee()
|
||||
.hasName([
|
||||
"getInputStream", "getFieldName", "getContentType", "get", "getName", "getString"
|
||||
]) and
|
||||
this.asExpr() = ma
|
||||
)
|
||||
}
|
||||
|
||||
override string getSourceType() { result = "Apache Commons Fileupload" }
|
||||
}
|
||||
|
||||
private class FileItemStreamRemoteSource extends RemoteFlowSource {
|
||||
FileItemStreamRemoteSource() {
|
||||
exists(MethodCall ma |
|
||||
ma.getReceiverType() instanceof TypeFileItemStream and
|
||||
ma.getCallee().hasName(["getContentType", "getFieldName", "getName", "openStream"]) and
|
||||
this.asExpr() = ma
|
||||
)
|
||||
}
|
||||
|
||||
override string getSourceType() { result = "Apache Commons Fileupload" }
|
||||
}
|
||||
}
|
||||
|
||||
module Util {
|
||||
class TypeStreams extends RefType {
|
||||
TypeStreams() { this.hasQualifiedName("org.apache.commons.fileupload.util", "Streams") }
|
||||
}
|
||||
|
||||
private class AsStringAdditionalTaintStep extends CommonsFileUploadAdditionalTaintStep {
|
||||
override predicate step(DataFlow::Node n1, DataFlow::Node n2) {
|
||||
exists(Call call |
|
||||
call.getCallee().getDeclaringType() instanceof TypeStreams and
|
||||
call.getArgument(0) = n1.asExpr() and
|
||||
call = n2.asExpr() and
|
||||
call.getCallee().hasName("asString")
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private class CopyAdditionalTaintStep extends CommonsFileUploadAdditionalTaintStep {
|
||||
override predicate step(DataFlow::Node n1, DataFlow::Node n2) {
|
||||
exists(Call call |
|
||||
call.getCallee().getDeclaringType() instanceof TypeStreams and
|
||||
call.getArgument(0) = n1.asExpr() and
|
||||
call.getArgument(1) = n2.asExpr() and
|
||||
call.getCallee().hasName("copy")
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module ServletRemoteMultiPartSources {
|
||||
class TypePart extends RefType {
|
||||
TypePart() { this.hasQualifiedName(["javax.servlet.http", "jakarta.servlet.http"], "Part") }
|
||||
}
|
||||
|
||||
private class ServletPartCalls extends RemoteFlowSource {
|
||||
ServletPartCalls() {
|
||||
exists(MethodCall ma |
|
||||
ma.getReceiverType() instanceof TypePart and
|
||||
ma.getCallee()
|
||||
.hasName([
|
||||
"getInputStream", "getName", "getContentType", "getHeader", "getHeaders",
|
||||
"getHeaderNames", "getSubmittedFileName", "write"
|
||||
]) and
|
||||
this.asExpr() = ma
|
||||
)
|
||||
}
|
||||
|
||||
override string getSourceType() { result = "Javax Servlet Http" }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import org.apache.commons.fileupload.FileItem;
|
||||
import org.apache.commons.fileupload.FileItemStream;
|
||||
import org.apache.commons.fileupload.servlet.ServletFileUpload;
|
||||
|
||||
public class FileUpload {
|
||||
|
||||
private HttpServletRequest request;
|
||||
private HttpServletResponse response;
|
||||
private javax.servlet.http.Part filePart;
|
||||
private FileItem fileItem;
|
||||
private FileItemStream fileItemStream;
|
||||
private jakarta.servlet.http.Part jakartaPart;
|
||||
private ServletFileUpload servletFileUpload;
|
||||
|
||||
private static void sink(Object o) {}
|
||||
|
||||
public void test() throws Exception {
|
||||
sink(filePart.getContentType()); // $ hasRemoteValueFlow
|
||||
sink(filePart.getHeader("test")); // $ hasRemoteValueFlow
|
||||
sink(filePart.getHeaderNames()); // $ hasRemoteValueFlow
|
||||
sink(filePart.getHeaders("test")); // $ hasRemoteValueFlow
|
||||
sink(filePart.getInputStream()); // $ hasRemoteValueFlow
|
||||
sink(filePart.getName()); // $ hasRemoteValueFlow
|
||||
sink(filePart.getSubmittedFileName()); // $ hasRemoteValueFlow
|
||||
|
||||
sink(fileItem.get()); // $ hasRemoteValueFlow
|
||||
sink(fileItem.getContentType()); // $ hasRemoteValueFlow
|
||||
sink(fileItem.getFieldName()); // $ hasRemoteValueFlow
|
||||
sink(fileItem.getInputStream()); // $ hasRemoteValueFlow
|
||||
sink(fileItem.getName()); // $ hasRemoteValueFlow
|
||||
sink(fileItem.getName()); // $ hasRemoteValueFlow
|
||||
sink(fileItem.getString()); // $ hasRemoteValueFlow
|
||||
|
||||
sink(fileItemStream.getContentType()); // $ hasRemoteValueFlow
|
||||
sink(fileItemStream.getFieldName()); // $ hasRemoteValueFlow
|
||||
sink(fileItemStream.getName()); // $ hasRemoteValueFlow
|
||||
sink(fileItemStream.openStream()); // $ hasRemoteValueFlow
|
||||
|
||||
sink(jakartaPart.getContentType()); // $ hasRemoteValueFlow
|
||||
sink(jakartaPart.getHeader("test")); // $ hasRemoteValueFlow
|
||||
sink(jakartaPart.getHeaderNames()); // $ hasRemoteValueFlow
|
||||
sink(jakartaPart.getHeaders("test")); // $ hasRemoteValueFlow
|
||||
sink(jakartaPart.getInputStream()); // $ hasRemoteValueFlow
|
||||
sink(jakartaPart.getName()); // $ hasRemoteValueFlow
|
||||
sink(jakartaPart.getSubmittedFileName()); // $ hasRemoteValueFlow
|
||||
|
||||
FileItem item = servletFileUpload.parseRequest(request).get(0);
|
||||
sink(item.getName()); // $ hasRemoteValueFlow
|
||||
}
|
||||
}
|
||||
@@ -1 +1 @@
|
||||
//semmle-extractor-options: --javac-args -cp ${testdir}/../../../stubs/servlet-api-2.4:${testdir}/../../../stubs/springframework-5.8.x:${testdir}/../../../stubs/google-android-9.0.0:${testdir}/../../../stubs/playframework-2.6.x:${testdir}/../../../stubs/jackson-databind-2.12:${testdir}/../../../stubs/jackson-core-2.12:${testdir}/../../../stubs/akka-2.6.x:${testdir}/../../../stubs/jwtk-jjwt-0.11.2:${testdir}/../../../stubs/jenkins:${testdir}/../../../stubs/stapler-1.263
|
||||
//semmle-extractor-options: --javac-args -cp ${testdir}/../../../stubs/jakarta.servlet-api-6.0.0:${testdir}/../../../stubs/apache-commons-fileupload-1.4:${testdir}/../../../stubs/javax-servlet-2.5:${testdir}/../../../stubs/servlet-api-2.4:${testdir}/../../../stubs/springframework-5.8.x:${testdir}/../../../stubs/google-android-9.0.0:${testdir}/../../../stubs/playframework-2.6.x:${testdir}/../../../stubs/jackson-databind-2.12:${testdir}/../../../stubs/jackson-core-2.12:${testdir}/../../../stubs/akka-2.6.x:${testdir}/../../../stubs/jwtk-jjwt-0.11.2:${testdir}/../../../stubs/jenkins:${testdir}/../../../stubs/stapler-1.263
|
||||
@@ -0,0 +1,55 @@
|
||||
package com.mycompany.app;
|
||||
|
||||
import org.apache.commons.fileupload.util.Streams;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
|
||||
// Test case generated by GenerateFlowTestCase.ql
|
||||
public class Test {
|
||||
|
||||
Object source() {
|
||||
return null;
|
||||
}
|
||||
|
||||
void sink(Object o) {
|
||||
}
|
||||
|
||||
public void test() throws Exception {
|
||||
|
||||
{
|
||||
InputStream in = (InputStream)source();
|
||||
OutputStream os = new ByteArrayOutputStream(1024);
|
||||
|
||||
InputStream in2 = (InputStream)source();
|
||||
OutputStream os2 = new ByteArrayOutputStream(1024);
|
||||
|
||||
byte[] myArray = new byte[1024];
|
||||
|
||||
// "org.apache.commons.fileupload.util;Streams;true;copy;(InputStream,OutputStream,boolean,byte[]);;Argument[0];Argument[1];taint;manual"
|
||||
long status = Streams.copy(in, os, true, myArray);
|
||||
sink(os); // $ hasTaintFlow
|
||||
// "org.apache.commons.fileupload.util;Streams;true;copy;(InputStream,OutputStream,boolean);;Argument[0];Argument[1];taint;manual"
|
||||
long status2 = Streams.copy(in2, os2, true);
|
||||
sink(os2); // $ hasTaintFlow
|
||||
}
|
||||
|
||||
}
|
||||
public void test2() throws Exception {
|
||||
|
||||
{
|
||||
|
||||
InputStream in = (InputStream)source();
|
||||
// "org.apache.commons.fileupload.util;Streams;true;asString;(InputStream,String);;Argument[0];ReturnValue;taint;manual"
|
||||
String result = Streams.asString(in);
|
||||
sink(result); // $ hasTaintFlow
|
||||
|
||||
InputStream in1 = (InputStream)source();
|
||||
// "org.apache.commons.fileupload.util;Streams;true;asString;(InputStream,String);;Argument[0];ReturnValue;taint;manual"
|
||||
String result1 = Streams.asString(in1, "test");
|
||||
sink(result1); // $ hasTaintFlow
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
//semmle-extractor-options: --javac-args -cp ${testdir}/../../../stubs/apache-commons-fileupload-1.4
|
||||
@@ -0,0 +1,45 @@
|
||||
models
|
||||
| 1 | Summary: org.apache.commons.fileupload.util; Streams; true; asString; (InputStream); ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 2 | Summary: org.apache.commons.fileupload.util; Streams; true; asString; (InputStream,String); ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 3 | Summary: org.apache.commons.fileupload.util; Streams; true; copy; (InputStream,OutputStream,boolean); ; Argument[0]; Argument[1]; taint; manual |
|
||||
| 4 | Summary: org.apache.commons.fileupload.util; Streams; true; copy; (InputStream,OutputStream,boolean,byte[]); ; Argument[0]; Argument[1]; taint; manual |
|
||||
edges
|
||||
| Test.java:21:30:21:50 | (...)... : InputStream | Test.java:30:31:30:32 | in : InputStream | provenance | |
|
||||
| Test.java:21:43:21:50 | source(...) : Object | Test.java:21:30:21:50 | (...)... : InputStream | provenance | |
|
||||
| Test.java:24:22:24:42 | (...)... : InputStream | Test.java:33:32:33:34 | in2 : InputStream | provenance | |
|
||||
| Test.java:24:35:24:42 | source(...) : Object | Test.java:24:22:24:42 | (...)... : InputStream | provenance | |
|
||||
| Test.java:30:31:30:32 | in : InputStream | Test.java:30:35:30:36 | os [post update] : ByteArrayOutputStream | provenance | MaD:4 |
|
||||
| Test.java:30:35:30:36 | os [post update] : ByteArrayOutputStream | Test.java:31:9:31:10 | os | provenance | |
|
||||
| Test.java:33:32:33:34 | in2 : InputStream | Test.java:33:37:33:39 | os2 [post update] : ByteArrayOutputStream | provenance | MaD:3 |
|
||||
| Test.java:33:37:33:39 | os2 [post update] : ByteArrayOutputStream | Test.java:34:9:34:11 | os2 | provenance | |
|
||||
| Test.java:42:30:42:50 | (...)... : InputStream | Test.java:44:37:44:38 | in : InputStream | provenance | |
|
||||
| Test.java:42:43:42:50 | source(...) : Object | Test.java:42:30:42:50 | (...)... : InputStream | provenance | |
|
||||
| Test.java:44:20:44:39 | asString(...) : String | Test.java:45:9:45:14 | result | provenance | |
|
||||
| Test.java:44:37:44:38 | in : InputStream | Test.java:44:20:44:39 | asString(...) : String | provenance | MaD:1 |
|
||||
| Test.java:47:31:47:51 | (...)... : InputStream | Test.java:49:47:49:49 | in1 : InputStream | provenance | |
|
||||
| Test.java:47:44:47:51 | source(...) : Object | Test.java:47:31:47:51 | (...)... : InputStream | provenance | |
|
||||
| Test.java:49:30:49:58 | asString(...) : String | Test.java:50:18:50:24 | result1 | provenance | |
|
||||
| Test.java:49:47:49:49 | in1 : InputStream | Test.java:49:30:49:58 | asString(...) : String | provenance | MaD:2 |
|
||||
nodes
|
||||
| Test.java:21:30:21:50 | (...)... : InputStream | semmle.label | (...)... : InputStream |
|
||||
| Test.java:21:43:21:50 | source(...) : Object | semmle.label | source(...) : Object |
|
||||
| Test.java:24:22:24:42 | (...)... : InputStream | semmle.label | (...)... : InputStream |
|
||||
| Test.java:24:35:24:42 | source(...) : Object | semmle.label | source(...) : Object |
|
||||
| Test.java:30:31:30:32 | in : InputStream | semmle.label | in : InputStream |
|
||||
| Test.java:30:35:30:36 | os [post update] : ByteArrayOutputStream | semmle.label | os [post update] : ByteArrayOutputStream |
|
||||
| Test.java:31:9:31:10 | os | semmle.label | os |
|
||||
| Test.java:33:32:33:34 | in2 : InputStream | semmle.label | in2 : InputStream |
|
||||
| Test.java:33:37:33:39 | os2 [post update] : ByteArrayOutputStream | semmle.label | os2 [post update] : ByteArrayOutputStream |
|
||||
| Test.java:34:9:34:11 | os2 | semmle.label | os2 |
|
||||
| Test.java:42:30:42:50 | (...)... : InputStream | semmle.label | (...)... : InputStream |
|
||||
| Test.java:42:43:42:50 | source(...) : Object | semmle.label | source(...) : Object |
|
||||
| Test.java:44:20:44:39 | asString(...) : String | semmle.label | asString(...) : String |
|
||||
| Test.java:44:37:44:38 | in : InputStream | semmle.label | in : InputStream |
|
||||
| Test.java:45:9:45:14 | result | semmle.label | result |
|
||||
| Test.java:47:31:47:51 | (...)... : InputStream | semmle.label | (...)... : InputStream |
|
||||
| Test.java:47:44:47:51 | source(...) : Object | semmle.label | source(...) : Object |
|
||||
| Test.java:49:30:49:58 | asString(...) : String | semmle.label | asString(...) : String |
|
||||
| Test.java:49:47:49:49 | in1 : InputStream | semmle.label | in1 : InputStream |
|
||||
| Test.java:50:18:50:24 | result1 | semmle.label | result1 |
|
||||
subpaths
|
||||
testFailures
|
||||
@@ -0,0 +1,4 @@
|
||||
import java
|
||||
import utils.test.InlineFlowTest
|
||||
import DefaultFlowTest
|
||||
import TaintFlow::PathGraph
|
||||
@@ -43,3 +43,4 @@
|
||||
| examples/Test.java:60:5:60:10 | this.y | This field access (publicly accessible via $@) is not protected by any monitor, but the class is annotated as @ThreadSafe. | examples/Test.java:60:5:60:10 | this.y | this expression |
|
||||
| examples/Test.java:74:5:74:10 | this.y | This field access (publicly accessible via $@) is not protected by any monitor, but the class is annotated as @ThreadSafe. | examples/Test.java:74:5:74:10 | this.y | this expression |
|
||||
| examples/Test.java:74:14:74:14 | y | This field access (publicly accessible via $@) is not protected by any monitor, but the class is annotated as @ThreadSafe. | examples/Test.java:74:14:74:14 | y | this expression |
|
||||
| examples/ThreadSafeInitializers.java:45:9:45:14 | this.y | This field access (publicly accessible via $@) is not protected by any monitor, but the class is annotated as @ThreadSafe. | examples/ThreadSafeInitializers.java:45:9:45:14 | this.y | this expression |
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
package examples;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.HashMap;
|
||||
import java.util.Collections;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
@ThreadSafe
|
||||
public class ThreadSafeInitializers {
|
||||
|
||||
private int y;
|
||||
private final Map<Integer, Integer> sync_map;
|
||||
private final Map<Integer, Integer> sync_map_initialised = Collections.synchronizedMap(new HashMap<Integer, Integer>());
|
||||
|
||||
|
||||
private final Map<String, String> cmap;
|
||||
private final Map<String, String> cmap_initialised = new ConcurrentHashMap();
|
||||
private final Set<Integer> set;
|
||||
private final Set<Integer> set_initialised = ConcurrentHashMap.newKeySet();
|
||||
|
||||
public ThreadSafeInitializers() {
|
||||
sync_map = Collections.synchronizedMap(new HashMap<Integer, Integer>());
|
||||
cmap = new ConcurrentHashMap();
|
||||
set = ConcurrentHashMap.newKeySet();
|
||||
}
|
||||
|
||||
public void sync_map_put(Integer i, Integer v) {
|
||||
sync_map.put(i,v);
|
||||
}
|
||||
|
||||
public void sync_map_initialised_put(Integer i, Integer v) {
|
||||
sync_map_initialised.put(i,v);
|
||||
}
|
||||
|
||||
public void cmap_put(String s1, String s2) {
|
||||
cmap.put(s1, s2);
|
||||
}
|
||||
|
||||
public void cmap_initialised_put(String s1, String s2) {
|
||||
cmap_initialised.put(s1, s2);
|
||||
}
|
||||
|
||||
public void setY(int y) {
|
||||
this.y = y; // $ Alert
|
||||
}
|
||||
|
||||
public void set_add(Integer i) {
|
||||
set.add(i);
|
||||
}
|
||||
|
||||
public void set_initialised_add(Integer i) {
|
||||
set_initialised.add(i);
|
||||
}
|
||||
}
|
||||
14
java/ql/test/stubs/apache-commons-fileupload-1.4/org/apache/commons/fileupload/FileItemStream.java
generated
Normal file
14
java/ql/test/stubs/apache-commons-fileupload-1.4/org/apache/commons/fileupload/FileItemStream.java
generated
Normal file
@@ -0,0 +1,14 @@
|
||||
package org.apache.commons.fileupload;
|
||||
|
||||
import java.io.InputStream;
|
||||
import org.apache.commons.fileupload.FileItemHeadersSupport;
|
||||
|
||||
|
||||
public interface FileItemStream extends FileItemHeadersSupport
|
||||
{
|
||||
InputStream openStream() throws java.io.IOException;
|
||||
String getContentType();
|
||||
String getName();
|
||||
String getFieldName();
|
||||
boolean isFormField();
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
// Generated automatically from org.apache.commons.fileupload.servlet.ServletFileUpload for testing purposes
|
||||
|
||||
package org.apache.commons.fileupload.servlet;
|
||||
|
||||
import java.util.List;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import org.apache.commons.fileupload.FileItem;
|
||||
|
||||
public class ServletFileUpload {
|
||||
public List<FileItem> parseRequest(HttpServletRequest p0){ return null; }
|
||||
}
|
||||
16
java/ql/test/stubs/apache-commons-fileupload-1.4/org/apache/commons/fileupload/util/Streams.java
generated
Normal file
16
java/ql/test/stubs/apache-commons-fileupload-1.4/org/apache/commons/fileupload/util/Streams.java
generated
Normal file
@@ -0,0 +1,16 @@
|
||||
// Generated automatically from org.apache.commons.fileupload.util.Streams for testing purposes
|
||||
|
||||
package org.apache.commons.fileupload.util;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
|
||||
public class Streams
|
||||
{
|
||||
protected Streams() {}
|
||||
public static String asString(InputStream p0){ return null; }
|
||||
public static String asString(InputStream p0, String p1){ return null; }
|
||||
public static String checkFileName(String p0){ return null; }
|
||||
public static long copy(InputStream p0, OutputStream p1, boolean p2){ return 0; }
|
||||
public static long copy(InputStream p0, OutputStream p1, boolean p2, byte[] p3){ return 0; }
|
||||
}
|
||||
31
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/AsyncContext.java
generated
Normal file
31
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/AsyncContext.java
generated
Normal file
@@ -0,0 +1,31 @@
|
||||
// Generated automatically from jakarta.servlet.AsyncContext for testing purposes
|
||||
|
||||
package jakarta.servlet;
|
||||
|
||||
import jakarta.servlet.AsyncListener;
|
||||
import jakarta.servlet.ServletContext;
|
||||
import jakarta.servlet.ServletRequest;
|
||||
import jakarta.servlet.ServletResponse;
|
||||
|
||||
public interface AsyncContext
|
||||
{
|
||||
<T extends AsyncListener> T createListener(java.lang.Class<T> p0);
|
||||
ServletRequest getRequest();
|
||||
ServletResponse getResponse();
|
||||
boolean hasOriginalRequestAndResponse();
|
||||
long getTimeout();
|
||||
static String ASYNC_CONTEXT_PATH = null;
|
||||
static String ASYNC_MAPPING = null;
|
||||
static String ASYNC_PATH_INFO = null;
|
||||
static String ASYNC_QUERY_STRING = null;
|
||||
static String ASYNC_REQUEST_URI = null;
|
||||
static String ASYNC_SERVLET_PATH = null;
|
||||
void addListener(AsyncListener p0);
|
||||
void addListener(AsyncListener p0, ServletRequest p1, ServletResponse p2);
|
||||
void complete();
|
||||
void dispatch();
|
||||
void dispatch(ServletContext p0, String p1);
|
||||
void dispatch(String p0);
|
||||
void setTimeout(long p0);
|
||||
void start(Runnable p0);
|
||||
}
|
||||
20
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/AsyncEvent.java
generated
Normal file
20
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/AsyncEvent.java
generated
Normal file
@@ -0,0 +1,20 @@
|
||||
// Generated automatically from jakarta.servlet.AsyncEvent for testing purposes
|
||||
|
||||
package jakarta.servlet;
|
||||
|
||||
import jakarta.servlet.AsyncContext;
|
||||
import jakarta.servlet.ServletRequest;
|
||||
import jakarta.servlet.ServletResponse;
|
||||
|
||||
public class AsyncEvent
|
||||
{
|
||||
protected AsyncEvent() {}
|
||||
public AsyncContext getAsyncContext(){ return null; }
|
||||
public AsyncEvent(AsyncContext p0){}
|
||||
public AsyncEvent(AsyncContext p0, ServletRequest p1, ServletResponse p2){}
|
||||
public AsyncEvent(AsyncContext p0, ServletRequest p1, ServletResponse p2, Throwable p3){}
|
||||
public AsyncEvent(AsyncContext p0, Throwable p1){}
|
||||
public ServletRequest getSuppliedRequest(){ return null; }
|
||||
public ServletResponse getSuppliedResponse(){ return null; }
|
||||
public Throwable getThrowable(){ return null; }
|
||||
}
|
||||
14
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/AsyncListener.java
generated
Normal file
14
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/AsyncListener.java
generated
Normal file
@@ -0,0 +1,14 @@
|
||||
// Generated automatically from jakarta.servlet.AsyncListener for testing purposes
|
||||
|
||||
package jakarta.servlet;
|
||||
|
||||
import jakarta.servlet.AsyncEvent;
|
||||
import java.util.EventListener;
|
||||
|
||||
public interface AsyncListener extends EventListener
|
||||
{
|
||||
void onComplete(AsyncEvent p0);
|
||||
void onError(AsyncEvent p0);
|
||||
void onStartAsync(AsyncEvent p0);
|
||||
void onTimeout(AsyncEvent p0);
|
||||
}
|
||||
10
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/DispatcherType.java
generated
Normal file
10
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/DispatcherType.java
generated
Normal file
@@ -0,0 +1,10 @@
|
||||
// Generated automatically from jakarta.servlet.DispatcherType for testing purposes
|
||||
|
||||
package jakarta.servlet;
|
||||
|
||||
|
||||
public enum DispatcherType
|
||||
{
|
||||
ASYNC, ERROR, FORWARD, INCLUDE, REQUEST;
|
||||
private DispatcherType() {}
|
||||
}
|
||||
15
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/Filter.java
generated
Normal file
15
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/Filter.java
generated
Normal file
@@ -0,0 +1,15 @@
|
||||
// Generated automatically from jakarta.servlet.Filter for testing purposes
|
||||
|
||||
package jakarta.servlet;
|
||||
|
||||
import jakarta.servlet.FilterChain;
|
||||
import jakarta.servlet.FilterConfig;
|
||||
import jakarta.servlet.ServletRequest;
|
||||
import jakarta.servlet.ServletResponse;
|
||||
|
||||
public interface Filter
|
||||
{
|
||||
default void destroy(){}
|
||||
default void init(FilterConfig p0){}
|
||||
void doFilter(ServletRequest p0, ServletResponse p1, FilterChain p2);
|
||||
}
|
||||
11
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/FilterChain.java
generated
Normal file
11
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/FilterChain.java
generated
Normal file
@@ -0,0 +1,11 @@
|
||||
// Generated automatically from jakarta.servlet.FilterChain for testing purposes
|
||||
|
||||
package jakarta.servlet;
|
||||
|
||||
import jakarta.servlet.ServletRequest;
|
||||
import jakarta.servlet.ServletResponse;
|
||||
|
||||
public interface FilterChain
|
||||
{
|
||||
void doFilter(ServletRequest p0, ServletResponse p1);
|
||||
}
|
||||
14
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/FilterConfig.java
generated
Normal file
14
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/FilterConfig.java
generated
Normal file
@@ -0,0 +1,14 @@
|
||||
// Generated automatically from jakarta.servlet.FilterConfig for testing purposes
|
||||
|
||||
package jakarta.servlet;
|
||||
|
||||
import jakarta.servlet.ServletContext;
|
||||
import java.util.Enumeration;
|
||||
|
||||
public interface FilterConfig
|
||||
{
|
||||
Enumeration<String> getInitParameterNames();
|
||||
ServletContext getServletContext();
|
||||
String getFilterName();
|
||||
String getInitParameter(String p0);
|
||||
}
|
||||
19
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/FilterRegistration.java
generated
Normal file
19
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/FilterRegistration.java
generated
Normal file
@@ -0,0 +1,19 @@
|
||||
// Generated automatically from jakarta.servlet.FilterRegistration for testing purposes
|
||||
|
||||
package jakarta.servlet;
|
||||
|
||||
import jakarta.servlet.DispatcherType;
|
||||
import jakarta.servlet.Registration;
|
||||
import java.util.Collection;
|
||||
import java.util.EnumSet;
|
||||
|
||||
public interface FilterRegistration extends Registration
|
||||
{
|
||||
Collection<String> getServletNameMappings();
|
||||
Collection<String> getUrlPatternMappings();
|
||||
static public interface Dynamic extends FilterRegistration, Registration.Dynamic
|
||||
{
|
||||
}
|
||||
void addMappingForServletNames(EnumSet<DispatcherType> p0, boolean p1, String... p2);
|
||||
void addMappingForUrlPatterns(EnumSet<DispatcherType> p0, boolean p1, String... p2);
|
||||
}
|
||||
16
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/HttpConstraintElement.java
generated
Normal file
16
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/HttpConstraintElement.java
generated
Normal file
@@ -0,0 +1,16 @@
|
||||
// Generated automatically from jakarta.servlet.HttpConstraintElement for testing purposes
|
||||
|
||||
package jakarta.servlet;
|
||||
|
||||
import jakarta.servlet.annotation.ServletSecurity;
|
||||
|
||||
public class HttpConstraintElement
|
||||
{
|
||||
public HttpConstraintElement(){}
|
||||
public HttpConstraintElement(ServletSecurity.EmptyRoleSemantic p0){}
|
||||
public HttpConstraintElement(ServletSecurity.EmptyRoleSemantic p0, ServletSecurity.TransportGuarantee p1, String... p2){}
|
||||
public HttpConstraintElement(ServletSecurity.TransportGuarantee p0, String... p1){}
|
||||
public ServletSecurity.EmptyRoleSemantic getEmptyRoleSemantic(){ return null; }
|
||||
public ServletSecurity.TransportGuarantee getTransportGuarantee(){ return null; }
|
||||
public String[] getRolesAllowed(){ return null; }
|
||||
}
|
||||
13
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/HttpMethodConstraintElement.java
generated
Normal file
13
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/HttpMethodConstraintElement.java
generated
Normal file
@@ -0,0 +1,13 @@
|
||||
// Generated automatically from jakarta.servlet.HttpMethodConstraintElement for testing purposes
|
||||
|
||||
package jakarta.servlet;
|
||||
|
||||
import jakarta.servlet.HttpConstraintElement;
|
||||
|
||||
public class HttpMethodConstraintElement extends HttpConstraintElement
|
||||
{
|
||||
protected HttpMethodConstraintElement() {}
|
||||
public HttpMethodConstraintElement(String p0){}
|
||||
public HttpMethodConstraintElement(String p0, HttpConstraintElement p1){}
|
||||
public String getMethodName(){ return null; }
|
||||
}
|
||||
17
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/MultipartConfigElement.java
generated
Normal file
17
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/MultipartConfigElement.java
generated
Normal file
@@ -0,0 +1,17 @@
|
||||
// Generated automatically from jakarta.servlet.MultipartConfigElement for testing purposes
|
||||
|
||||
package jakarta.servlet;
|
||||
|
||||
import jakarta.servlet.annotation.MultipartConfig;
|
||||
|
||||
public class MultipartConfigElement
|
||||
{
|
||||
protected MultipartConfigElement() {}
|
||||
public MultipartConfigElement(MultipartConfig p0){}
|
||||
public MultipartConfigElement(String p0){}
|
||||
public MultipartConfigElement(String p0, long p1, long p2, int p3){}
|
||||
public String getLocation(){ return null; }
|
||||
public int getFileSizeThreshold(){ return 0; }
|
||||
public long getMaxFileSize(){ return 0; }
|
||||
public long getMaxRequestSize(){ return 0; }
|
||||
}
|
||||
12
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/ReadListener.java
generated
Normal file
12
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/ReadListener.java
generated
Normal file
@@ -0,0 +1,12 @@
|
||||
// Generated automatically from jakarta.servlet.ReadListener for testing purposes
|
||||
|
||||
package jakarta.servlet;
|
||||
|
||||
import java.util.EventListener;
|
||||
|
||||
public interface ReadListener extends EventListener
|
||||
{
|
||||
void onAllDataRead();
|
||||
void onDataAvailable();
|
||||
void onError(Throwable p0);
|
||||
}
|
||||
20
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/Registration.java
generated
Normal file
20
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/Registration.java
generated
Normal file
@@ -0,0 +1,20 @@
|
||||
// Generated automatically from jakarta.servlet.Registration for testing purposes
|
||||
|
||||
package jakarta.servlet;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
public interface Registration
|
||||
{
|
||||
Map<String, String> getInitParameters();
|
||||
Set<String> setInitParameters(Map<String, String> p0);
|
||||
String getClassName();
|
||||
String getInitParameter(String p0);
|
||||
String getName();
|
||||
boolean setInitParameter(String p0, String p1);
|
||||
static public interface Dynamic extends Registration
|
||||
{
|
||||
void setAsyncSupported(boolean p0);
|
||||
}
|
||||
}
|
||||
30
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/RequestDispatcher.java
generated
Normal file
30
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/RequestDispatcher.java
generated
Normal file
@@ -0,0 +1,30 @@
|
||||
// Generated automatically from jakarta.servlet.RequestDispatcher for testing purposes
|
||||
|
||||
package jakarta.servlet;
|
||||
|
||||
import jakarta.servlet.ServletRequest;
|
||||
import jakarta.servlet.ServletResponse;
|
||||
|
||||
public interface RequestDispatcher
|
||||
{
|
||||
static String ERROR_EXCEPTION = null;
|
||||
static String ERROR_EXCEPTION_TYPE = null;
|
||||
static String ERROR_MESSAGE = null;
|
||||
static String ERROR_REQUEST_URI = null;
|
||||
static String ERROR_SERVLET_NAME = null;
|
||||
static String ERROR_STATUS_CODE = null;
|
||||
static String FORWARD_CONTEXT_PATH = null;
|
||||
static String FORWARD_MAPPING = null;
|
||||
static String FORWARD_PATH_INFO = null;
|
||||
static String FORWARD_QUERY_STRING = null;
|
||||
static String FORWARD_REQUEST_URI = null;
|
||||
static String FORWARD_SERVLET_PATH = null;
|
||||
static String INCLUDE_CONTEXT_PATH = null;
|
||||
static String INCLUDE_MAPPING = null;
|
||||
static String INCLUDE_PATH_INFO = null;
|
||||
static String INCLUDE_QUERY_STRING = null;
|
||||
static String INCLUDE_REQUEST_URI = null;
|
||||
static String INCLUDE_SERVLET_PATH = null;
|
||||
void forward(ServletRequest p0, ServletResponse p1);
|
||||
void include(ServletRequest p0, ServletResponse p1);
|
||||
}
|
||||
16
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/Servlet.java
generated
Normal file
16
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/Servlet.java
generated
Normal file
@@ -0,0 +1,16 @@
|
||||
// Generated automatically from jakarta.servlet.Servlet for testing purposes
|
||||
|
||||
package jakarta.servlet;
|
||||
|
||||
import jakarta.servlet.ServletConfig;
|
||||
import jakarta.servlet.ServletRequest;
|
||||
import jakarta.servlet.ServletResponse;
|
||||
|
||||
public interface Servlet
|
||||
{
|
||||
ServletConfig getServletConfig();
|
||||
String getServletInfo();
|
||||
void destroy();
|
||||
void init(ServletConfig p0);
|
||||
void service(ServletRequest p0, ServletResponse p1);
|
||||
}
|
||||
14
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/ServletConfig.java
generated
Normal file
14
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/ServletConfig.java
generated
Normal file
@@ -0,0 +1,14 @@
|
||||
// Generated automatically from jakarta.servlet.ServletConfig for testing purposes
|
||||
|
||||
package jakarta.servlet;
|
||||
|
||||
import jakarta.servlet.ServletContext;
|
||||
import java.util.Enumeration;
|
||||
|
||||
public interface ServletConfig
|
||||
{
|
||||
Enumeration<String> getInitParameterNames();
|
||||
ServletContext getServletContext();
|
||||
String getInitParameter(String p0);
|
||||
String getServletName();
|
||||
}
|
||||
12
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/ServletConnection.java
generated
Normal file
12
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/ServletConnection.java
generated
Normal file
@@ -0,0 +1,12 @@
|
||||
// Generated automatically from jakarta.servlet.ServletConnection for testing purposes
|
||||
|
||||
package jakarta.servlet;
|
||||
|
||||
|
||||
public interface ServletConnection
|
||||
{
|
||||
String getConnectionId();
|
||||
String getProtocol();
|
||||
String getProtocolConnectionId();
|
||||
boolean isSecure();
|
||||
}
|
||||
79
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/ServletContext.java
generated
Normal file
79
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/ServletContext.java
generated
Normal file
@@ -0,0 +1,79 @@
|
||||
// Generated automatically from jakarta.servlet.ServletContext for testing purposes
|
||||
|
||||
package jakarta.servlet;
|
||||
|
||||
import jakarta.servlet.Filter;
|
||||
import jakarta.servlet.FilterRegistration;
|
||||
import jakarta.servlet.RequestDispatcher;
|
||||
import jakarta.servlet.Servlet;
|
||||
import jakarta.servlet.ServletRegistration;
|
||||
import jakarta.servlet.SessionCookieConfig;
|
||||
import jakarta.servlet.SessionTrackingMode;
|
||||
import jakarta.servlet.descriptor.JspConfigDescriptor;
|
||||
import java.io.InputStream;
|
||||
import java.net.URL;
|
||||
import java.util.Enumeration;
|
||||
import java.util.EventListener;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
public interface ServletContext
|
||||
{
|
||||
<T extends EventListener> T createListener(java.lang.Class<T> p0);
|
||||
<T extends EventListener> void addListener(T p0);
|
||||
<T extends Filter> T createFilter(java.lang.Class<T> p0);
|
||||
<T extends Servlet> T createServlet(java.lang.Class<T> p0);
|
||||
ClassLoader getClassLoader();
|
||||
Enumeration<String> getAttributeNames();
|
||||
Enumeration<String> getInitParameterNames();
|
||||
FilterRegistration getFilterRegistration(String p0);
|
||||
FilterRegistration.Dynamic addFilter(String p0, Class<? extends Filter> p1);
|
||||
FilterRegistration.Dynamic addFilter(String p0, Filter p1);
|
||||
FilterRegistration.Dynamic addFilter(String p0, String p1);
|
||||
InputStream getResourceAsStream(String p0);
|
||||
JspConfigDescriptor getJspConfigDescriptor();
|
||||
Map<String, ? extends FilterRegistration> getFilterRegistrations();
|
||||
Map<String, ? extends ServletRegistration> getServletRegistrations();
|
||||
Object getAttribute(String p0);
|
||||
RequestDispatcher getNamedDispatcher(String p0);
|
||||
RequestDispatcher getRequestDispatcher(String p0);
|
||||
ServletContext getContext(String p0);
|
||||
ServletRegistration getServletRegistration(String p0);
|
||||
ServletRegistration.Dynamic addJspFile(String p0, String p1);
|
||||
ServletRegistration.Dynamic addServlet(String p0, Class<? extends Servlet> p1);
|
||||
ServletRegistration.Dynamic addServlet(String p0, Servlet p1);
|
||||
ServletRegistration.Dynamic addServlet(String p0, String p1);
|
||||
SessionCookieConfig getSessionCookieConfig();
|
||||
Set<SessionTrackingMode> getDefaultSessionTrackingModes();
|
||||
Set<SessionTrackingMode> getEffectiveSessionTrackingModes();
|
||||
Set<String> getResourcePaths(String p0);
|
||||
String getContextPath();
|
||||
String getInitParameter(String p0);
|
||||
String getMimeType(String p0);
|
||||
String getRealPath(String p0);
|
||||
String getRequestCharacterEncoding();
|
||||
String getResponseCharacterEncoding();
|
||||
String getServerInfo();
|
||||
String getServletContextName();
|
||||
String getVirtualServerName();
|
||||
URL getResource(String p0);
|
||||
boolean setInitParameter(String p0, String p1);
|
||||
int getEffectiveMajorVersion();
|
||||
int getEffectiveMinorVersion();
|
||||
int getMajorVersion();
|
||||
int getMinorVersion();
|
||||
int getSessionTimeout();
|
||||
static String ORDERED_LIBS = null;
|
||||
static String TEMPDIR = null;
|
||||
void addListener(Class<? extends EventListener> p0);
|
||||
void addListener(String p0);
|
||||
void declareRoles(String... p0);
|
||||
void log(String p0);
|
||||
void log(String p0, Throwable p1);
|
||||
void removeAttribute(String p0);
|
||||
void setAttribute(String p0, Object p1);
|
||||
void setRequestCharacterEncoding(String p0);
|
||||
void setResponseCharacterEncoding(String p0);
|
||||
void setSessionTimeout(int p0);
|
||||
void setSessionTrackingModes(Set<SessionTrackingMode> p0);
|
||||
}
|
||||
15
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/ServletInputStream.java
generated
Normal file
15
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/ServletInputStream.java
generated
Normal file
@@ -0,0 +1,15 @@
|
||||
// Generated automatically from jakarta.servlet.ServletInputStream for testing purposes
|
||||
|
||||
package jakarta.servlet;
|
||||
|
||||
import jakarta.servlet.ReadListener;
|
||||
import java.io.InputStream;
|
||||
|
||||
abstract public class ServletInputStream extends InputStream
|
||||
{
|
||||
protected ServletInputStream(){}
|
||||
public abstract boolean isFinished();
|
||||
public abstract boolean isReady();
|
||||
public abstract void setReadListener(ReadListener p0);
|
||||
public int readLine(byte[] p0, int p1, int p2){ return 0; }
|
||||
}
|
||||
28
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/ServletOutputStream.java
generated
Normal file
28
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/ServletOutputStream.java
generated
Normal file
@@ -0,0 +1,28 @@
|
||||
// Generated automatically from jakarta.servlet.ServletOutputStream for testing purposes
|
||||
|
||||
package jakarta.servlet;
|
||||
|
||||
import jakarta.servlet.WriteListener;
|
||||
import java.io.OutputStream;
|
||||
|
||||
abstract public class ServletOutputStream extends OutputStream
|
||||
{
|
||||
protected ServletOutputStream(){}
|
||||
public abstract boolean isReady();
|
||||
public abstract void setWriteListener(WriteListener p0);
|
||||
public void print(String p0){}
|
||||
public void print(boolean p0){}
|
||||
public void print(char p0){}
|
||||
public void print(double p0){}
|
||||
public void print(float p0){}
|
||||
public void print(int p0){}
|
||||
public void print(long p0){}
|
||||
public void println(){}
|
||||
public void println(String p0){}
|
||||
public void println(boolean p0){}
|
||||
public void println(char p0){}
|
||||
public void println(double p0){}
|
||||
public void println(float p0){}
|
||||
public void println(int p0){}
|
||||
public void println(long p0){}
|
||||
}
|
||||
23
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/ServletRegistration.java
generated
Normal file
23
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/ServletRegistration.java
generated
Normal file
@@ -0,0 +1,23 @@
|
||||
// Generated automatically from jakarta.servlet.ServletRegistration for testing purposes
|
||||
|
||||
package jakarta.servlet;
|
||||
|
||||
import jakarta.servlet.MultipartConfigElement;
|
||||
import jakarta.servlet.Registration;
|
||||
import jakarta.servlet.ServletSecurityElement;
|
||||
import java.util.Collection;
|
||||
import java.util.Set;
|
||||
|
||||
public interface ServletRegistration extends Registration
|
||||
{
|
||||
Collection<String> getMappings();
|
||||
Set<String> addMapping(String... p0);
|
||||
String getRunAsRole();
|
||||
static public interface Dynamic extends Registration.Dynamic, ServletRegistration
|
||||
{
|
||||
Set<String> setServletSecurity(ServletSecurityElement p0);
|
||||
void setLoadOnStartup(int p0);
|
||||
void setMultipartConfig(MultipartConfigElement p0);
|
||||
void setRunAsRole(String p0);
|
||||
}
|
||||
}
|
||||
58
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/ServletRequest.java
generated
Normal file
58
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/ServletRequest.java
generated
Normal file
@@ -0,0 +1,58 @@
|
||||
// Generated automatically from jakarta.servlet.ServletRequest for testing purposes
|
||||
|
||||
package jakarta.servlet;
|
||||
|
||||
import jakarta.servlet.AsyncContext;
|
||||
import jakarta.servlet.DispatcherType;
|
||||
import jakarta.servlet.RequestDispatcher;
|
||||
import jakarta.servlet.ServletConnection;
|
||||
import jakarta.servlet.ServletContext;
|
||||
import jakarta.servlet.ServletInputStream;
|
||||
import jakarta.servlet.ServletResponse;
|
||||
import java.io.BufferedReader;
|
||||
import java.util.Enumeration;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
|
||||
public interface ServletRequest
|
||||
{
|
||||
AsyncContext getAsyncContext();
|
||||
AsyncContext startAsync();
|
||||
AsyncContext startAsync(ServletRequest p0, ServletResponse p1);
|
||||
BufferedReader getReader();
|
||||
DispatcherType getDispatcherType();
|
||||
Enumeration<Locale> getLocales();
|
||||
Enumeration<String> getAttributeNames();
|
||||
Enumeration<String> getParameterNames();
|
||||
Locale getLocale();
|
||||
Map<String, String[]> getParameterMap();
|
||||
Object getAttribute(String p0);
|
||||
RequestDispatcher getRequestDispatcher(String p0);
|
||||
ServletConnection getServletConnection();
|
||||
ServletContext getServletContext();
|
||||
ServletInputStream getInputStream();
|
||||
String getCharacterEncoding();
|
||||
String getContentType();
|
||||
String getLocalAddr();
|
||||
String getLocalName();
|
||||
String getParameter(String p0);
|
||||
String getProtocol();
|
||||
String getProtocolRequestId();
|
||||
String getRemoteAddr();
|
||||
String getRemoteHost();
|
||||
String getRequestId();
|
||||
String getScheme();
|
||||
String getServerName();
|
||||
String[] getParameterValues(String p0);
|
||||
boolean isAsyncStarted();
|
||||
boolean isAsyncSupported();
|
||||
boolean isSecure();
|
||||
int getContentLength();
|
||||
int getLocalPort();
|
||||
int getRemotePort();
|
||||
int getServerPort();
|
||||
long getContentLengthLong();
|
||||
void removeAttribute(String p0);
|
||||
void setAttribute(String p0, Object p1);
|
||||
void setCharacterEncoding(String p0);
|
||||
}
|
||||
27
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/ServletResponse.java
generated
Normal file
27
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/ServletResponse.java
generated
Normal file
@@ -0,0 +1,27 @@
|
||||
// Generated automatically from jakarta.servlet.ServletResponse for testing purposes
|
||||
|
||||
package jakarta.servlet;
|
||||
|
||||
import jakarta.servlet.ServletOutputStream;
|
||||
import java.io.PrintWriter;
|
||||
import java.util.Locale;
|
||||
|
||||
public interface ServletResponse
|
||||
{
|
||||
Locale getLocale();
|
||||
PrintWriter getWriter();
|
||||
ServletOutputStream getOutputStream();
|
||||
String getCharacterEncoding();
|
||||
String getContentType();
|
||||
boolean isCommitted();
|
||||
int getBufferSize();
|
||||
void flushBuffer();
|
||||
void reset();
|
||||
void resetBuffer();
|
||||
void setBufferSize(int p0);
|
||||
void setCharacterEncoding(String p0);
|
||||
void setContentLength(int p0);
|
||||
void setContentLengthLong(long p0);
|
||||
void setContentType(String p0);
|
||||
void setLocale(Locale p0);
|
||||
}
|
||||
19
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/ServletSecurityElement.java
generated
Normal file
19
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/ServletSecurityElement.java
generated
Normal file
@@ -0,0 +1,19 @@
|
||||
// Generated automatically from jakarta.servlet.ServletSecurityElement for testing purposes
|
||||
|
||||
package jakarta.servlet;
|
||||
|
||||
import jakarta.servlet.HttpConstraintElement;
|
||||
import jakarta.servlet.HttpMethodConstraintElement;
|
||||
import jakarta.servlet.annotation.ServletSecurity;
|
||||
import java.util.Collection;
|
||||
|
||||
public class ServletSecurityElement extends HttpConstraintElement
|
||||
{
|
||||
public Collection<HttpMethodConstraintElement> getHttpMethodConstraints(){ return null; }
|
||||
public Collection<String> getMethodNames(){ return null; }
|
||||
public ServletSecurityElement(){}
|
||||
public ServletSecurityElement(Collection<HttpMethodConstraintElement> p0){}
|
||||
public ServletSecurityElement(HttpConstraintElement p0){}
|
||||
public ServletSecurityElement(HttpConstraintElement p0, Collection<HttpMethodConstraintElement> p1){}
|
||||
public ServletSecurityElement(ServletSecurity p0){}
|
||||
}
|
||||
26
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/SessionCookieConfig.java
generated
Normal file
26
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/SessionCookieConfig.java
generated
Normal file
@@ -0,0 +1,26 @@
|
||||
// Generated automatically from jakarta.servlet.SessionCookieConfig for testing purposes
|
||||
|
||||
package jakarta.servlet;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public interface SessionCookieConfig
|
||||
{
|
||||
Map<String, String> getAttributes();
|
||||
String getAttribute(String p0);
|
||||
String getComment();
|
||||
String getDomain();
|
||||
String getName();
|
||||
String getPath();
|
||||
boolean isHttpOnly();
|
||||
boolean isSecure();
|
||||
int getMaxAge();
|
||||
void setAttribute(String p0, String p1);
|
||||
void setComment(String p0);
|
||||
void setDomain(String p0);
|
||||
void setHttpOnly(boolean p0);
|
||||
void setMaxAge(int p0);
|
||||
void setName(String p0);
|
||||
void setPath(String p0);
|
||||
void setSecure(boolean p0);
|
||||
}
|
||||
10
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/SessionTrackingMode.java
generated
Normal file
10
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/SessionTrackingMode.java
generated
Normal file
@@ -0,0 +1,10 @@
|
||||
// Generated automatically from jakarta.servlet.SessionTrackingMode for testing purposes
|
||||
|
||||
package jakarta.servlet;
|
||||
|
||||
|
||||
public enum SessionTrackingMode
|
||||
{
|
||||
COOKIE, SSL, URL;
|
||||
private SessionTrackingMode() {}
|
||||
}
|
||||
11
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/WriteListener.java
generated
Normal file
11
java/ql/test/stubs/jakarta.servlet-api-6.0.0/jakarta/servlet/WriteListener.java
generated
Normal file
@@ -0,0 +1,11 @@
|
||||
// Generated automatically from jakarta.servlet.WriteListener for testing purposes
|
||||
|
||||
package jakarta.servlet;
|
||||
|
||||
import java.util.EventListener;
|
||||
|
||||
public interface WriteListener extends EventListener
|
||||
{
|
||||
void onError(Throwable p0);
|
||||
void onWritePossible();
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user