Skip to content

Commit 73fc313

Browse files
committed
fix super/parent bug, use new SignatureOperationNode
1 parent 34146bb commit 73fc313

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

cpp/ql/lib/experimental/quantum/OpenSSL/Operations/EVPSignatureOperation.qll

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ private Expr signatureOperationOutputArg(Call call) {
9393
/**
9494
* Base configuration for all EVP signature operations.
9595
*/
96-
abstract class EVP_Signature_Operation extends EVPOperation, Crypto::KeyOperationInstance {
96+
abstract class EVP_Signature_Operation extends EVPOperation, Crypto::SignatureOperationInstance {
9797
EVP_Signature_Operation() {
9898
this.(Call).getTarget().getName().matches("EVP_%") and
9999
// NULL output argument means the call is to get the size of the signature
@@ -128,12 +128,18 @@ abstract class EVP_Signature_Operation extends EVPOperation, Crypto::KeyOperatio
128128
}
129129

130130
override Crypto::ArtifactOutputDataFlowNode getOutputArtifact() {
131-
result = this.(EVPOperation).getOutputArtifact()
131+
result = EVPOperation.super.getOutputArtifact()
132132
}
133133

134134
override Crypto::ConsumerInputDataFlowNode getInputConsumer() {
135-
result = this.(EVPOperation).getInputConsumer()
135+
result = EVPOperation.super.getInputConsumer()
136136
}
137+
138+
/**
139+
* TODO: only signing operations for now, change when verificaiton is added
140+
*/
141+
override Crypto::ConsumerInputDataFlowNode getSignatureConsumer() { none() }
142+
137143
}
138144

139145
class EVP_Signature_Call extends EVPOperation, EVP_Signature_Operation {

0 commit comments

Comments
 (0)