
* Update JSON schema to include STIG ASD 2023-06-08 mapping * Update rules to add STIG metadata mappings --------- Co-authored-by: Loris Sierra <loris.sierra@sonarsource.com>
55 lines
1.1 KiB
Plaintext
55 lines
1.1 KiB
Plaintext
== Why is this an issue?
|
|
|
|
Correctly updating a ``++static++`` field from a non-static method is tricky to get right and could easily lead to bugs if there are multiple class instances and/or multiple threads in play. Ideally, ``++static++`` fields are only updated from ``++synchronized static++`` methods.
|
|
|
|
|
|
This rule raises an issue each time a ``++static++`` field is updated from a non-static method.
|
|
|
|
|
|
=== Noncompliant code example
|
|
|
|
[source,java]
|
|
----
|
|
public class MyClass {
|
|
|
|
private static int count = 0;
|
|
|
|
public void doSomething() {
|
|
//...
|
|
count++; // Noncompliant
|
|
}
|
|
}
|
|
----
|
|
|
|
|
|
== Resources
|
|
|
|
include::../common/resources/standards.adoc[]
|
|
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
=== Message
|
|
|
|
Make the enclosing method "static" or remove this set.
|
|
|
|
|
|
=== Highlighting
|
|
|
|
* Primary: the field assignment
|
|
* Secondary: the field definition
|
|
** message: "Field definition."
|
|
|
|
|
|
'''
|
|
== Comments And Links
|
|
(visible only on this page)
|
|
|
|
include::../comments-and-links.adoc[]
|
|
|
|
endif::env-github,rspecator-view[]
|