rspec/rules/S5320/kotlin/rule.adoc

89 lines
2.5 KiB
Plaintext
Raw Normal View History

include::../description.adoc[]
include::../ask-yourself.adoc[]
include::../recommended.adoc[]
== Sensitive Code Example
----
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.os.Handler
import android.os.UserHandle
public class MyIntentBroadcast {
fun broadcast(intent: Intent,
context: Context,
user: UserHandle,
resultReceiver: BroadcastReceiver,
scheduler: Handler,
initialCode: Int,
initialData: String,
initialExtras: Bundle,
broadcastPermission: String) {
context.sendBroadcast(intent) // Sensitive
context.sendBroadcastAsUser(intent, user) // Sensitive
// Broadcasting intent with "null" for receiverPermission
context.sendBroadcast(intent, null) // Sensitive
context.sendBroadcastAsUser(intent, user, null) // Sensitive
context.sendOrderedBroadcast(intent, null) // Sensitive
context.sendOrderedBroadcastAsUser(intent, user, null, resultReceiver,
scheduler, initialCode, initialData, initialExtras) // Sensitive
}
}
----
== Compliant Solution
2022-02-04 17:28:24 +01:00
[source,kotlin]
----
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.os.Handler
import android.os.UserHandle
public class MyIntentBroadcast {
fun broadcast(intent: Intent,
context: Context,
user: UserHandle,
resultReceiver: BroadcastReceiver,
scheduler: Handler,
initialCode: Int,
initialData: String,
initialExtras: Bundle,
broadcastPermission: String) {
context.sendBroadcast(intent, broadcastPermission)
context.sendBroadcastAsUser(intent, user, broadcastPermission)
context.sendOrderedBroadcast(intent, broadcastPermission)
context.sendOrderedBroadcastAsUser(intent, user,broadcastPermission, resultReceiver,
scheduler, initialCode, initialData, initialExtras)
}
}
----
include::../see.adoc[]
ifdef::env-github,rspecator-view[]
'''
== Implementation Specification
(visible only on this page)
include::../message.adoc[]
'''
== Comments And Links
(visible only on this page)
include::../comments-and-links.adoc[]
endif::env-github,rspecator-view[]