CodeQL documentation

Non-synchronized override of synchronized method

ID: java/non-sync-override
Kind: problem
Severity: warning
Precision: very-high
Tags:
   - reliability
   - correctness
   - concurrency
   - language-features
   - external/cwe/cwe-820
Query suites:
   - java-security-and-quality.qls

Click to see the query in the CodeQL repository

If a synchronized method is overridden in a subclass, the compiler does not require the overriding method to be synchronized. However, if the overriding method is not synchronized, the thread-safety of the subclass may be broken.

Recommendation

Ensure that the overriding method is synchronized, if necessary.

References