@@ -30,8 +30,8 @@ private class SendBroadcastMethodAccess extends MethodAccess {
3030 }
3131}
3232
33- private predicate isNullArg ( Expr ex ) {
34- exists ( DataFlow:: Node src , DataFlow:: Node sink , SendBroadcastMethodAccess ma |
33+ private predicate maybeNullArg ( Expr ex ) {
34+ exists ( DataFlow:: Node src , DataFlow:: Node sink , MethodAccess ma |
3535 ex = ma .getAnArgument ( ) and
3636 sink .asExpr ( ) = ex and
3737 src .asExpr ( ) instanceof NullLiteral
@@ -40,8 +40,8 @@ private predicate isNullArg(Expr ex) {
4040 )
4141}
4242
43- private predicate isEmptyArrayArg ( Expr ex ) {
44- exists ( DataFlow:: Node src , DataFlow:: Node sink , SendBroadcastMethodAccess ma |
43+ private predicate maybeEmptyArrayArg ( Expr ex ) {
44+ exists ( DataFlow:: Node src , DataFlow:: Node sink , MethodAccess ma |
4545 ex = ma .getAnArgument ( ) and
4646 sink .asExpr ( ) = ex and
4747 src .asExpr ( ) .( ArrayCreationExpr ) .getFirstDimensionSize ( ) = 0
@@ -63,7 +63,7 @@ private predicate isSensitiveBroadcastSink(DataFlow::Node sink) {
6363 ma .getNumArgument ( ) = 1
6464 or
6565 // sendBroadcast(Intent intent, String receiverPermission)
66- isNullArg ( ma .getArgument ( 1 ) )
66+ maybeNullArg ( ma .getArgument ( 1 ) )
6767 )
6868 or
6969 name = "sendBroadcastAsUser" and
@@ -72,30 +72,30 @@ private predicate isSensitiveBroadcastSink(DataFlow::Node sink) {
7272 ma .getNumArgument ( ) = 2
7373 or
7474 // sendBroadcastAsUser(Intent intent, UserHandle user, String receiverPermission)
75- isNullArg ( ma .getArgument ( 2 ) )
75+ maybeNullArg ( ma .getArgument ( 2 ) )
7676 )
7777 or
7878 // sendBroadcastWithMultiplePermissions(Intent intent, String[] receiverPermissions)
7979 name = "sendBroadcastWithMultiplePermissions" and
80- isEmptyArrayArg ( ma .getArgument ( 1 ) )
80+ maybeEmptyArrayArg ( ma .getArgument ( 1 ) )
8181 or
8282 // Method calls of `sendOrderedBroadcast` whose second argument is always `receiverPermission`
8383 name = "sendOrderedBroadcast" and
8484 (
8585 // sendOrderedBroadcast(Intent intent, String receiverPermission)
8686 // sendOrderedBroadcast(Intent intent, String receiverPermission, BroadcastReceiver resultReceiver, Handler scheduler, int initialCode, String initialData, Bundle initialExtras)
87- isNullArg ( ma .getArgument ( 1 ) ) and
87+ maybeNullArg ( ma .getArgument ( 1 ) ) and
8888 ma .getNumArgument ( ) = [ 2 , 7 ]
8989 or
9090 // sendOrderedBroadcast(Intent intent, String receiverPermission, String receiverAppOp, BroadcastReceiver resultReceiver, Handler scheduler, int initialCode, String initialData, Bundle initialExtras)
91- isNullArg ( ma .getArgument ( 1 ) ) and
92- isNullArg ( ma .getArgument ( 2 ) ) and
91+ maybeNullArg ( ma .getArgument ( 1 ) ) and
92+ maybeNullArg ( ma .getArgument ( 2 ) ) and
9393 ma .getNumArgument ( ) = 8
9494 )
9595 or
9696 // sendOrderedBroadcastAsUser(Intent intent, UserHandle user, String receiverPermission, BroadcastReceiver resultReceiver, Handler scheduler, int initialCode, String initialData, Bundle initialExtras)
9797 name = "sendOrderedBroadcastAsUser" and
98- isNullArg ( ma .getArgument ( 2 ) )
98+ maybeNullArg ( ma .getArgument ( 2 ) )
9999 or
100100 // sendStickyBroadcast(Intent intent)
101101 // sendStickyBroadcast(Intent intent, Bundle options)
@@ -127,10 +127,10 @@ predicate isCleanIntent(Expr intent) {
127127 cc .getNumArgument ( ) > 1 and
128128 (
129129 cc .getArgument ( 0 ) .getType ( ) instanceof TypeContext and
130- not isNullArg ( cc .getArgument ( 1 ) )
130+ not maybeNullArg ( cc .getArgument ( 1 ) )
131131 or
132132 cc .getArgument ( 2 ) .getType ( ) instanceof TypeContext and
133- not isNullArg ( cc .getArgument ( 3 ) )
133+ not maybeNullArg ( cc .getArgument ( 3 ) )
134134 )
135135 )
136136 )
0 commit comments