@@ -27,9 +27,9 @@ abstract class Stored extends DataFlow::Node {
27
27
class UserDefaultsStore extends Stored {
28
28
UserDefaultsStore ( ) {
29
29
exists ( ClassDecl c , AbstractFunctionDecl f , CallExpr call |
30
- c .getName ( ) = [ "UserDefaults" ] and
30
+ c .getName ( ) = "UserDefaults" and
31
31
c .getAMember ( ) = f and
32
- f .getName ( ) = [ "set(_:forKey:)" ] and
32
+ f .getName ( ) = "set(_:forKey:)" and
33
33
call .getStaticTarget ( ) = f and
34
34
call .getArgument ( 0 ) .getExpr ( ) = this .asExpr ( )
35
35
)
@@ -42,9 +42,9 @@ class UserDefaultsStore extends Stored {
42
42
class NSUbiquitousKeyValueStore extends Stored {
43
43
NSUbiquitousKeyValueStore ( ) {
44
44
exists ( ClassDecl c , AbstractFunctionDecl f , CallExpr call |
45
- c .getName ( ) = [ "NSUbiquitousKeyValueStore" ] and
45
+ c .getName ( ) = "NSUbiquitousKeyValueStore" and
46
46
c .getAMember ( ) = f and
47
- f .getName ( ) = [ "set(_:forKey:)" ] and
47
+ f .getName ( ) = "set(_:forKey:)" and
48
48
call .getStaticTarget ( ) = f and
49
49
call .getArgument ( 0 ) .getExpr ( ) = this .asExpr ( )
50
50
)
@@ -54,9 +54,10 @@ class NSUbiquitousKeyValueStore extends Stored {
54
54
}
55
55
56
56
/**
57
- * TODO: A more complicated case, this is a macOS-only way of writing to
57
+ * A more complicated case, this is a macOS-only way of writing to
58
58
* NSUserDefaults by modifying the `NSUserDefaultsController.values: Any`
59
- * object via reflection (`perform(Selector)`) or the `NSKeyValueCoding`, `NSKeyValueBindingCreation` APIs.
59
+ * object via reflection (`perform(Selector)`) or the `NSKeyValueCoding`,
60
+ * `NSKeyValueBindingCreation` APIs. (TODO)
60
61
*/
61
62
class NSUserDefaultsControllerStore extends Stored {
62
63
NSUserDefaultsControllerStore ( ) { none ( ) }
@@ -77,7 +78,7 @@ class CleartextStorageConfig extends TaintTracking::Configuration {
77
78
78
79
override predicate isSanitizerIn ( DataFlow:: Node node ) {
79
80
// make sources barriers so that we only report the closest instance
80
- isSource ( node )
81
+ this . isSource ( node )
81
82
}
82
83
83
84
override predicate isSanitizer ( DataFlow:: Node node ) {
@@ -101,5 +102,5 @@ where config.hasFlowPath(sourceNode, sinkNode)
101
102
select cleanupNode ( sinkNode .getNode ( ) ) , sourceNode , sinkNode ,
102
103
"This operation stores '" + sinkNode .getNode ( ) .toString ( ) + "' in " +
103
104
sinkNode .getNode ( ) .( Stored ) .getStoreName ( ) +
104
- ". It may contain unencrypted sensitive data from $@" , sourceNode ,
105
+ ". It may contain unencrypted sensitive data from $@. " , sourceNode ,
105
106
sourceNode .getNode ( ) .toString ( )
0 commit comments