Skip to content

Commit 7757279

Browse files
committed
Adding a KDF algorithm getter.
1 parent 44b1e92 commit 7757279

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

cpp/ql/lib/experimental/Quantum/OpenSSL/OpenSSLAlgorithmGetter.qll

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,30 @@ class EVPDigestGetterCall extends OpenSSLAlgorithmGetterCall {
255255

256256
override Expr getResultExpr() { result = resultExpr }
257257
}
258+
259+
class EVPKDFFetch extends OpenSSLAlgorithmGetterCall {
260+
DataFlow::Node valueArgNode;
261+
DataFlow::Node resultNode;
262+
Expr valueArgExpr;
263+
Expr resultExpr;
264+
265+
EVPKDFFetch() {
266+
resultExpr = this and
267+
resultNode.asExpr() = this and
268+
isPossibleOpenSSLFunction(this.getTarget()) and
269+
this.getTarget().getName() in ["EVP_KDF_fetch"] and
270+
valueArgExpr = this.getArgument(1) and
271+
valueArgNode.asExpr() = valueArgExpr
272+
}
273+
274+
override DataFlow::Node getValueArgNode() { result = valueArgNode }
275+
276+
override DataFlow::Node getResultNode() { result = resultNode }
277+
278+
override Expr getValueArgExpr() { result = valueArgExpr }
279+
280+
override Expr getResultExpr() { result = resultExpr }
281+
}
258282
// /**
259283
// * Predicates/classes for identifying algorithm sinks.
260284
// * An Algorithm Sink is a function that takes an algorithm as an argument.

0 commit comments

Comments
 (0)