@@ -12,21 +12,19 @@ private import experimental.quantum.OpenSSL.AlgorithmValueConsumers.OpenSSLAlgor
12
12
* - `EVP_DigestInit_ex`
13
13
* - `EVP_DigestInit_ex2`
14
14
*/
15
- class EvpDigestInitVariantCalls extends OperationStep {
15
+ class EvpDigestInitVariantCalls extends OperationStep instanceof Call {
16
16
EvpDigestInitVariantCalls ( ) {
17
- this .( Call ) .getTarget ( ) .getName ( ) in [
18
- "EVP_DigestInit" , "EVP_DigestInit_ex" , "EVP_DigestInit_ex2"
19
- ]
17
+ this .getTarget ( ) .getName ( ) in [ "EVP_DigestInit" , "EVP_DigestInit_ex" , "EVP_DigestInit_ex2" ]
20
18
}
21
19
22
20
override DataFlow:: Node getInput ( IOType type ) {
23
- result .asExpr ( ) = this .( Call ) . getArgument ( 0 ) and type = ContextIO ( )
21
+ result .asExpr ( ) = this .getArgument ( 0 ) and type = ContextIO ( )
24
22
or
25
- result .asExpr ( ) = this .( Call ) . getArgument ( 1 ) and type = PrimaryAlgorithmIO ( )
23
+ result .asExpr ( ) = this .getArgument ( 1 ) and type = PrimaryAlgorithmIO ( )
26
24
}
27
25
28
26
override DataFlow:: Node getOutput ( IOType type ) {
29
- result .asExpr ( ) = this .( Call ) . getArgument ( 0 ) and
27
+ result .asExpr ( ) = this .getArgument ( 0 ) and
30
28
type = ContextIO ( )
31
29
}
32
30
@@ -36,17 +34,17 @@ class EvpDigestInitVariantCalls extends OperationStep {
36
34
/**
37
35
* A call to `EVP_DigestUpdate`.
38
36
*/
39
- class EvpDigestUpdateCall extends OperationStep {
40
- EvpDigestUpdateCall ( ) { this .( Call ) . getTarget ( ) .getName ( ) = "EVP_DigestUpdate" }
37
+ class EvpDigestUpdateCall extends OperationStep instanceof Call {
38
+ EvpDigestUpdateCall ( ) { this .getTarget ( ) .getName ( ) = "EVP_DigestUpdate" }
41
39
42
40
override DataFlow:: Node getInput ( IOType type ) {
43
- result .asExpr ( ) = this .( Call ) . getArgument ( 0 ) and type = ContextIO ( )
41
+ result .asExpr ( ) = this .getArgument ( 0 ) and type = ContextIO ( )
44
42
or
45
- result .asExpr ( ) = this .( Call ) . getArgument ( 1 ) and type = PlaintextIO ( )
43
+ result .asExpr ( ) = this .getArgument ( 1 ) and type = PlaintextIO ( )
46
44
}
47
45
48
46
override DataFlow:: Node getOutput ( IOType type ) {
49
- result .asExpr ( ) = this .( Call ) . getArgument ( 0 ) and
47
+ result .asExpr ( ) = this .getArgument ( 0 ) and
50
48
type = ContextIO ( )
51
49
}
52
50
@@ -64,58 +62,56 @@ abstract class EvpFinalDigestOperationStep extends OperationStep {
64
62
* A call to `EVP_Q_digest`
65
63
* https://docs.openssl.org/3.0/man3/EVP_DigestInit/#synopsis
66
64
*/
67
- class EvpQDigestOperation extends EvpFinalDigestOperationStep {
68
- EvpQDigestOperation ( ) { this .( Call ) . getTarget ( ) .getName ( ) = "EVP_Q_digest" }
65
+ class EvpQDigestOperation extends EvpFinalDigestOperationStep instanceof Call {
66
+ EvpQDigestOperation ( ) { this .getTarget ( ) .getName ( ) = "EVP_Q_digest" }
69
67
70
68
override DataFlow:: Node getInput ( IOType type ) {
71
- result .asExpr ( ) = this .( Call ) . getArgument ( 1 ) and type = PrimaryAlgorithmIO ( )
69
+ result .asExpr ( ) = this .getArgument ( 1 ) and type = PrimaryAlgorithmIO ( )
72
70
or
73
- result .asExpr ( ) = this .( Call ) . getArgument ( 0 ) and type = ContextIO ( )
71
+ result .asExpr ( ) = this .getArgument ( 0 ) and type = ContextIO ( )
74
72
or
75
- result .asExpr ( ) = this .( Call ) . getArgument ( 3 ) and type = PlaintextIO ( )
73
+ result .asExpr ( ) = this .getArgument ( 3 ) and type = PlaintextIO ( )
76
74
}
77
75
78
76
override DataFlow:: Node getOutput ( IOType type ) {
79
- result .asExpr ( ) = this .( Call ) . getArgument ( 0 ) and
77
+ result .asExpr ( ) = this .getArgument ( 0 ) and
80
78
type = ContextIO ( )
81
79
or
82
- result .asDefiningArgument ( ) = this .( Call ) . getArgument ( 5 ) and type = DigestIO ( )
80
+ result .asDefiningArgument ( ) = this .getArgument ( 5 ) and type = DigestIO ( )
83
81
}
84
82
}
85
83
86
- class EvpDigestOperation extends EvpFinalDigestOperationStep {
87
- EvpDigestOperation ( ) { this .( Call ) . getTarget ( ) .getName ( ) = "EVP_Digest" }
84
+ class EvpDigestOperation extends EvpFinalDigestOperationStep instanceof Call {
85
+ EvpDigestOperation ( ) { this .getTarget ( ) .getName ( ) = "EVP_Digest" }
88
86
89
87
override DataFlow:: Node getInput ( IOType type ) {
90
- result .asExpr ( ) = this .( Call ) . getArgument ( 4 ) and type = PrimaryAlgorithmIO ( )
88
+ result .asExpr ( ) = this .getArgument ( 4 ) and type = PrimaryAlgorithmIO ( )
91
89
or
92
- result .asExpr ( ) = this .( Call ) . getArgument ( 0 ) and type = PlaintextIO ( )
90
+ result .asExpr ( ) = this .getArgument ( 0 ) and type = PlaintextIO ( )
93
91
}
94
92
95
93
override DataFlow:: Node getOutput ( IOType type ) {
96
- result .asDefiningArgument ( ) = this .( Call ) . getArgument ( 2 ) and type = DigestIO ( )
94
+ result .asDefiningArgument ( ) = this .getArgument ( 2 ) and type = DigestIO ( )
97
95
}
98
96
}
99
97
100
98
/**
101
99
* A call to EVP_DigestFinal variants
102
100
*/
103
- class EvpDigestFinalCall extends EvpFinalDigestOperationStep {
101
+ class EvpDigestFinalCall extends EvpFinalDigestOperationStep instanceof Call {
104
102
EvpDigestFinalCall ( ) {
105
- this .( Call ) .getTarget ( ) .getName ( ) in [
106
- "EVP_DigestFinal" , "EVP_DigestFinal_ex" , "EVP_DigestFinalXOF"
107
- ]
103
+ this .getTarget ( ) .getName ( ) in [ "EVP_DigestFinal" , "EVP_DigestFinal_ex" , "EVP_DigestFinalXOF" ]
108
104
}
109
105
110
106
override DataFlow:: Node getInput ( IOType type ) {
111
- result .asExpr ( ) = this .( Call ) . getArgument ( 0 ) and type = ContextIO ( )
107
+ result .asExpr ( ) = this .getArgument ( 0 ) and type = ContextIO ( )
112
108
}
113
109
114
110
override DataFlow:: Node getOutput ( IOType type ) {
115
- result .asExpr ( ) = this .( Call ) . getArgument ( 0 ) and
111
+ result .asExpr ( ) = this .getArgument ( 0 ) and
116
112
type = ContextIO ( )
117
113
or
118
- result .asDefiningArgument ( ) = this .( Call ) . getArgument ( 1 ) and type = DigestIO ( )
114
+ result .asDefiningArgument ( ) = this .getArgument ( 1 ) and type = DigestIO ( )
119
115
}
120
116
}
121
117
0 commit comments