diff --git a/rules/S7435/dart/metadata.json b/rules/S7435/dart/metadata.json new file mode 100644 index 00000000000..7a73a41bfdf --- /dev/null +++ b/rules/S7435/dart/metadata.json @@ -0,0 +1,2 @@ +{ +} \ No newline at end of file diff --git a/rules/S7435/dart/rule.adoc b/rules/S7435/dart/rule.adoc new file mode 100644 index 00000000000..b176896a2f5 --- /dev/null +++ b/rules/S7435/dart/rule.adoc @@ -0,0 +1,51 @@ +include::../description.adoc[] + +include::../ask-yourself.adoc[] + +include::../recommended.adoc[] + +== Sensitive Code Example + +[source,dart,diff-id=1,diff-type=noncompliant] +---- +import 'package:android_id/android_id.dart'; + +void f() async { + var uid = await AndroidId().getId() ?? ''; // Sensitive + var user = User( + uid, + "John", + "Doe", + ); +} +---- + +== Compliant Solution + +[source,dart,diff-id=1,diff-type=compliant] +---- +import 'package:uuid/uuid.dart'; + +void f() async { + var uuid = Uuid(); + var user = User( + uid.v4(), + "John", + "Doe", + ); +} +---- + +include::../see.adoc[] + +ifdef::env-github,rspecator-view[] + +''' +== Implementation Specification +(visible only on this page) + +include::../message.adoc[] + +include::../highlighting.adoc[] + +endif::env-github,rspecator-view[]