Skip to content

Commit 0c636dd

Browse files
committed
[DIFF-INFORMED] C++: UnsafeDaclSecurityDescriptor
1 parent 194d9a9 commit 0c636dd

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

cpp/ql/src/Security/CWE/CWE-732/UnsafeDaclSecurityDescriptor.ql

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,16 @@ module NullDaclConfig implements DataFlow::ConfigSig {
3737
val = call.getArgument(2)
3838
)
3939
}
40+
41+
predicate observeDiffInformedIncrementalMode() { any() }
42+
43+
Location getASelectedSourceLocation(DataFlow::Node source) { none() }
44+
45+
Location getASelectedSinkLocation(DataFlow::Node sink) {
46+
exists(SetSecurityDescriptorDaclFunctionCall call | result = call.getLocation() |
47+
sink.asExpr() = call.getArgument(2)
48+
)
49+
}
4050
}
4151

4252
module NullDaclFlow = DataFlow::Global<NullDaclConfig>;
@@ -68,6 +78,10 @@ module NonNullDaclConfig implements DataFlow::ConfigSig {
6878
predicate isSink(DataFlow::Node sink) {
6979
exists(SetSecurityDescriptorDaclFunctionCall call | sink.asExpr() = call.getArgument(2))
7080
}
81+
82+
predicate observeDiffInformedIncrementalMode() {
83+
none() // only used negatively
84+
}
7185
}
7286

7387
module NonNullDaclFlow = DataFlow::Global<NonNullDaclConfig>;

0 commit comments

Comments
 (0)