Skip to content

Commit d467f35

Browse files
committed
csparser: accept FB.JLM_JSR166_UTILCONCURRENT_MONITORENTER as checker name
It comes out of Coverity Analysis 2019.03 while scanning tomcat-7.0.76-9.el7.
1 parent 3573647 commit d467f35

File tree

5 files changed

+116
-1
lines changed

5 files changed

+116
-1
lines changed

csparser.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ class ErrFileLexer {
121121
hasError_(false),
122122
reEmpty_("^ *$"),
123123
reComment_("^(#)(.*)$"),
124-
reChecker_("^Error: *([A-Za-z][A-Za-z_.]+)( *\\([^)]+\\))? *:$"),
124+
reChecker_("^Error: *([A-Za-z][0-9A-Za-z_.]+)( *\\([^)]+\\))? *:$"),
125125
reEvent_(
126126
/* location */ "^([^:]+)(?::([0-9]+))?(?::([0-9]+))?"
127127
/* evt/mesg */ ": (" RE_EVENT "): (.*)$")

tests/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,7 @@ test_csgrep(csgrep "45-gcc-parser-clang" )
155155
test_csgrep(csgrep "46-cov-json-v2" )
156156
test_csgrep(csgrep "47-csparser-new-key-evts" )
157157
test_csgrep(csgrep "48-csparser-missing-break-key-evt")
158+
test_csgrep(csgrep "49-csparser-findbugs-jsr166" )
158159
test_csparser(csparser-5.8 00)
159160
test_csparser(csparser-5.8 01)
160161
test_csparser(csparser-5.8 02)

tests/csgrep/49-csparser-findbugs-jsr166-args.txt

Whitespace-only changes.
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
Error: FB.REC_CATCH_EXCEPTION:
2+
apache-tomcat-7.0.76-src/java/org/apache/catalina/core/NamingContextListener.java:932: defect: Catching RuntimeExceptions, perhaps unintentionally, with a catch block for Exception.
3+
# 930| // Ignore
4+
# 931| }
5+
# 932|-> } catch (Exception e) {
6+
# 933| // Ignore
7+
# 934| }
8+
9+
Error: FB.JLM_JSR166_UTILCONCURRENT_MONITORENTER:
10+
apache-tomcat-7.0.76-src/java/org/apache/catalina/core/StandardContext.java:3347: defect: Synchronization performed on java.util.concurrent.ConcurrentMap.
11+
# 3345|
12+
# 3346| // Add this parameter to our defined set
13+
# 3347|-> synchronized (parameters) {
14+
# 3348| parameters.put(name, value);
15+
# 3349| }
16+
17+
Error: FB.JLM_JSR166_UTILCONCURRENT_MONITORENTER:
18+
apache-tomcat-7.0.76-src/java/org/apache/catalina/core/StandardContext.java:3877: defect: Synchronization performed on java.util.concurrent.ConcurrentMap.
19+
# 3875| public String findParameter(String name) {
20+
# 3876|
21+
# 3877|-> synchronized (parameters) {
22+
# 3878| return (parameters.get(name));
23+
# 3879| }
24+
25+
Error: FB.JLM_JSR166_UTILCONCURRENT_MONITORENTER:
26+
apache-tomcat-7.0.76-src/java/org/apache/catalina/core/StandardContext.java:3892: defect: Synchronization performed on java.util.concurrent.ConcurrentMap.
27+
# 3890| public String[] findParameters() {
28+
# 3891|
29+
# 3892|-> synchronized (parameters) {
30+
# 3893| String results[] = new String[parameters.size()];
31+
# 3894| return (parameters.keySet().toArray(results));
32+
33+
Error: GUARDED_BY_VIOLATION (CWE-366):
34+
apache-tomcat-7.0.76-src/java/org/apache/catalina/core/StandardContext.java:3997: missing_lock: Accessing "statusPages" without holding lock "StandardContext.statusPages". Elsewhere, "org.apache.catalina.core.StandardContext.statusPages" is accessed with "StandardContext.statusPages" held 6 out of 8 times.
35+
apache-tomcat-7.0.76-src/java/org/apache/catalina/core/StandardContext.java:3148: example_lock: Example 1: Locking "StandardContext.statusPages".
36+
apache-tomcat-7.0.76-src/java/org/apache/catalina/core/StandardContext.java:3152: example_access: Example 1 (cont.): "StandardContext.statusPages" is accessed with lock "StandardContext.statusPages" held.
37+
apache-tomcat-7.0.76-src/java/org/apache/catalina/core/StandardContext.java:3700: example_lock: Example 2: Locking "StandardContext.statusPages".
38+
apache-tomcat-7.0.76-src/java/org/apache/catalina/core/StandardContext.java:3703: example_access: Example 2 (cont.): "StandardContext.statusPages" is accessed with lock "StandardContext.statusPages" held.
39+
apache-tomcat-7.0.76-src/java/org/apache/catalina/core/StandardContext.java:4311: example_lock: Example 3: Locking "StandardContext.statusPages".
40+
apache-tomcat-7.0.76-src/java/org/apache/catalina/core/StandardContext.java:4315: example_access: Example 3 (cont.): "StandardContext.statusPages" is accessed with lock "StandardContext.statusPages" held.
41+
apache-tomcat-7.0.76-src/java/org/apache/catalina/core/StandardContext.java:4014: example_lock: Example 4: Locking "StandardContext.statusPages".
42+
apache-tomcat-7.0.76-src/java/org/apache/catalina/core/StandardContext.java:4015: example_access: Example 4 (cont.): "StandardContext.statusPages" is accessed with lock "StandardContext.statusPages" held.
43+
apache-tomcat-7.0.76-src/java/org/apache/catalina/core/StandardContext.java:4014: example_lock: Example 5: Locking "StandardContext.statusPages".
44+
apache-tomcat-7.0.76-src/java/org/apache/catalina/core/StandardContext.java:4016: example_access: Example 5 (cont.): "StandardContext.statusPages" is accessed with lock "StandardContext.statusPages" held.
45+
# 3995| public String findStatusPage(int status) {
46+
# 3996|
47+
# 3997|-> ErrorPage errorPage = statusPages.get(Integer.valueOf(status));
48+
# 3998| if (errorPage!=null) {
49+
# 3999| return errorPage.getLocation();
50+
51+
Error: FB.JLM_JSR166_UTILCONCURRENT_MONITORENTER:
52+
apache-tomcat-7.0.76-src/java/org/apache/catalina/core/StandardContext.java:4446: defect: Synchronization performed on java.util.concurrent.ConcurrentMap.
53+
# 4444| public void removeParameter(String name) {
54+
# 4445|
55+
# 4446|-> synchronized (parameters) {
56+
# 4447| parameters.remove(name);
57+
# 4448| }
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
Error: FB.REC_CATCH_EXCEPTION:
2+
apache-tomcat-7.0.76-src/java/org/apache/catalina/core/NamingContextListener.java:932: defect: Catching RuntimeExceptions, perhaps unintentionally, with a catch block for Exception.
3+
# 930| // Ignore
4+
# 931| }
5+
# 932|-> } catch (Exception e) {
6+
# 933| // Ignore
7+
# 934| }
8+
9+
Error: FB.JLM_JSR166_UTILCONCURRENT_MONITORENTER:
10+
apache-tomcat-7.0.76-src/java/org/apache/catalina/core/StandardContext.java:3347: defect: Synchronization performed on java.util.concurrent.ConcurrentMap.
11+
# 3345|
12+
# 3346| // Add this parameter to our defined set
13+
# 3347|-> synchronized (parameters) {
14+
# 3348| parameters.put(name, value);
15+
# 3349| }
16+
17+
Error: FB.JLM_JSR166_UTILCONCURRENT_MONITORENTER:
18+
apache-tomcat-7.0.76-src/java/org/apache/catalina/core/StandardContext.java:3877: defect: Synchronization performed on java.util.concurrent.ConcurrentMap.
19+
# 3875| public String findParameter(String name) {
20+
# 3876|
21+
# 3877|-> synchronized (parameters) {
22+
# 3878| return (parameters.get(name));
23+
# 3879| }
24+
25+
Error: FB.JLM_JSR166_UTILCONCURRENT_MONITORENTER:
26+
apache-tomcat-7.0.76-src/java/org/apache/catalina/core/StandardContext.java:3892: defect: Synchronization performed on java.util.concurrent.ConcurrentMap.
27+
# 3890| public String[] findParameters() {
28+
# 3891|
29+
# 3892|-> synchronized (parameters) {
30+
# 3893| String results[] = new String[parameters.size()];
31+
# 3894| return (parameters.keySet().toArray(results));
32+
33+
Error: GUARDED_BY_VIOLATION (CWE-366):
34+
apache-tomcat-7.0.76-src/java/org/apache/catalina/core/StandardContext.java:3997: missing_lock: Accessing "statusPages" without holding lock "StandardContext.statusPages". Elsewhere, "org.apache.catalina.core.StandardContext.statusPages" is accessed with "StandardContext.statusPages" held 6 out of 8 times.
35+
apache-tomcat-7.0.76-src/java/org/apache/catalina/core/StandardContext.java:3148: example_lock: Example 1: Locking "StandardContext.statusPages".
36+
apache-tomcat-7.0.76-src/java/org/apache/catalina/core/StandardContext.java:3152: example_access: Example 1 (cont.): "StandardContext.statusPages" is accessed with lock "StandardContext.statusPages" held.
37+
apache-tomcat-7.0.76-src/java/org/apache/catalina/core/StandardContext.java:3700: example_lock: Example 2: Locking "StandardContext.statusPages".
38+
apache-tomcat-7.0.76-src/java/org/apache/catalina/core/StandardContext.java:3703: example_access: Example 2 (cont.): "StandardContext.statusPages" is accessed with lock "StandardContext.statusPages" held.
39+
apache-tomcat-7.0.76-src/java/org/apache/catalina/core/StandardContext.java:4311: example_lock: Example 3: Locking "StandardContext.statusPages".
40+
apache-tomcat-7.0.76-src/java/org/apache/catalina/core/StandardContext.java:4315: example_access: Example 3 (cont.): "StandardContext.statusPages" is accessed with lock "StandardContext.statusPages" held.
41+
apache-tomcat-7.0.76-src/java/org/apache/catalina/core/StandardContext.java:4014: example_lock: Example 4: Locking "StandardContext.statusPages".
42+
apache-tomcat-7.0.76-src/java/org/apache/catalina/core/StandardContext.java:4015: example_access: Example 4 (cont.): "StandardContext.statusPages" is accessed with lock "StandardContext.statusPages" held.
43+
apache-tomcat-7.0.76-src/java/org/apache/catalina/core/StandardContext.java:4014: example_lock: Example 5: Locking "StandardContext.statusPages".
44+
apache-tomcat-7.0.76-src/java/org/apache/catalina/core/StandardContext.java:4016: example_access: Example 5 (cont.): "StandardContext.statusPages" is accessed with lock "StandardContext.statusPages" held.
45+
# 3995| public String findStatusPage(int status) {
46+
# 3996|
47+
# 3997|-> ErrorPage errorPage = statusPages.get(Integer.valueOf(status));
48+
# 3998| if (errorPage!=null) {
49+
# 3999| return errorPage.getLocation();
50+
51+
Error: FB.JLM_JSR166_UTILCONCURRENT_MONITORENTER:
52+
apache-tomcat-7.0.76-src/java/org/apache/catalina/core/StandardContext.java:4446: defect: Synchronization performed on java.util.concurrent.ConcurrentMap.
53+
# 4444| public void removeParameter(String name) {
54+
# 4445|
55+
# 4446|-> synchronized (parameters) {
56+
# 4447| parameters.remove(name);
57+
# 4448| }

0 commit comments

Comments
 (0)