@@ -26,10 +26,8 @@ abstract class BlockMode extends Expr { }
2626class AES extends BlockMode {
2727 AES ( ) {
2828 // `blockMode` arg in `AES.init` is a sink
29- exists ( ClassOrStructDecl c , AbstractFunctionDecl f , CallExpr call |
30- c .getName ( ) = "AES" and
31- c .getAMember ( ) = f and
32- f .getName ( ) = [ "init(key:blockMode:)" , "init(key:blockMode:padding:)" ] and
29+ exists ( MethodDecl f , CallExpr call |
30+ f .hasQualifiedName ( "AES" , [ "init(key:blockMode:)" , "init(key:blockMode:padding:)" ] ) and
3331 call .getStaticTarget ( ) = f and
3432 call .getArgument ( 1 ) .getExpr ( ) = this
3533 )
@@ -42,10 +40,8 @@ class AES extends BlockMode {
4240class Blowfish extends BlockMode {
4341 Blowfish ( ) {
4442 // `blockMode` arg in `Blowfish.init` is a sink
45- exists ( ClassOrStructDecl c , AbstractFunctionDecl f , CallExpr call |
46- c .getName ( ) = "Blowfish" and
47- c .getAMember ( ) = f and
48- f .getName ( ) = "init(key:blockMode:padding:)" and
43+ exists ( MethodDecl f , CallExpr call |
44+ f .hasQualifiedName ( "Blowfish" , "init(key:blockMode:padding:)" ) and
4945 call .getStaticTarget ( ) = f and
5046 call .getArgument ( 1 ) .getExpr ( ) = this
5147 )
@@ -60,10 +56,8 @@ class EcbEncryptionConfig extends DataFlow::Configuration {
6056 EcbEncryptionConfig ( ) { this = "EcbEncryptionConfig" }
6157
6258 override predicate isSource ( DataFlow:: Node node ) {
63- exists ( ClassOrStructDecl s , AbstractFunctionDecl f , CallExpr call |
64- s .getName ( ) = "ECB" and
65- s .getAMember ( ) = f and
66- f .getName ( ) = "init()" and
59+ exists ( MethodDecl f , CallExpr call |
60+ f .hasQualifiedName ( "ECB" , "init()" ) and
6761 call .getStaticTarget ( ) = f and
6862 node .asExpr ( ) = call
6963 )
0 commit comments