mirror of
https://github.com/github/codeql.git
synced 2025-12-17 01:03:14 +01:00
[DIFF-INFORMED] C++: UnsafeDaclSecurityDescriptor
This commit is contained in:
@@ -37,6 +37,16 @@ module NullDaclConfig implements DataFlow::ConfigSig {
|
|||||||
val = call.getArgument(2)
|
val = call.getArgument(2)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
predicate observeDiffInformedIncrementalMode() { any() }
|
||||||
|
|
||||||
|
Location getASelectedSourceLocation(DataFlow::Node source) { none() }
|
||||||
|
|
||||||
|
Location getASelectedSinkLocation(DataFlow::Node sink) {
|
||||||
|
exists(SetSecurityDescriptorDaclFunctionCall call | result = call.getLocation() |
|
||||||
|
sink.asExpr() = call.getArgument(2)
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
module NullDaclFlow = DataFlow::Global<NullDaclConfig>;
|
module NullDaclFlow = DataFlow::Global<NullDaclConfig>;
|
||||||
@@ -68,6 +78,10 @@ module NonNullDaclConfig implements DataFlow::ConfigSig {
|
|||||||
predicate isSink(DataFlow::Node sink) {
|
predicate isSink(DataFlow::Node sink) {
|
||||||
exists(SetSecurityDescriptorDaclFunctionCall call | sink.asExpr() = call.getArgument(2))
|
exists(SetSecurityDescriptorDaclFunctionCall call | sink.asExpr() = call.getArgument(2))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
predicate observeDiffInformedIncrementalMode() {
|
||||||
|
none() // only used negatively
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
module NonNullDaclFlow = DataFlow::Global<NonNullDaclConfig>;
|
module NonNullDaclFlow = DataFlow::Global<NonNullDaclConfig>;
|
||||||
|
|||||||
Reference in New Issue
Block a user