Skip to content

Commit 4d09577

Browse files
Reduce FPs from empty arrays
1 parent c0a1300 commit 4d09577

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

java/ql/lib/semmle/code/java/security/StaticInitializationVectorQuery.qll

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,12 @@ private class ArrayUpdateConfig extends TaintTracking2::Configuration {
8484
private class StaticInitializationVectorSource extends DataFlow::Node {
8585
StaticInitializationVectorSource() {
8686
exists(StaticByteArrayCreation array | array = this.asExpr() |
87-
not exists(ArrayUpdateConfig config | config.hasFlow(DataFlow2::exprNode(array), _))
87+
not exists(ArrayUpdateConfig config | config.hasFlow(DataFlow2::exprNode(array), _)) and
88+
// Reduce FPs from utility methods that return an empty array in an exceptional case
89+
not exists(ReturnStmt ret |
90+
array.getADimension().(CompileTimeConstantExpr).getIntValue() = 0 and
91+
DataFlow::localExprFlow(array, ret.getResult())
92+
)
8893
)
8994
}
9095
}

0 commit comments

Comments
 (0)