File tree Expand file tree Collapse file tree 4 files changed +27
-43
lines changed
javascript/ql/src/Performance
java/ql/src/Security/CWE/CWE-730
python/ql/src/Security/CWE-730
ruby/ql/src/queries/security/cwe-1333 Expand file tree Collapse file tree 4 files changed +27
-43
lines changed Original file line number Diff line number Diff line change 15
15
</p >
16
16
17
17
<sample language =" java" >
18
- Pattern.compile("^\\s+|\\s+$").matcher(text).replaceAll("") // BAD
19
- </sample >
18
+ Pattern.compile("^\\s+|\\s+$").matcher(text).replaceAll("") // BAD</sample >
20
19
21
20
<p >
22
21
71
70
</p >
72
71
73
72
<sample language =" java" >
74
- "^0\\.\\d+E?\\d+$""
75
- </sample >
73
+ "^0\\.\\d+E?\\d+$"" </sample >
76
74
77
75
<p >
78
76
113
111
</p >
114
112
115
113
<sample language =" java" >
116
- Pattern.matches("^(\\+|-)?(\\d+|(\\d*\\.\\d*))?(E|e)?([-+])?(\\d+)?$", str);
117
- </sample >
114
+ Pattern.matches("^(\\+|-)?(\\d+|(\\d*\\.\\d*))?(E|e)?([-+])?(\\d+)?$", str); </sample >
118
115
119
116
<p >
120
117
It's not immediately obvious how to rewrite this regular expression
124
121
</p >
125
122
126
123
<sample language =" java" >
127
- if (str.length() > 1000) {
128
- throw new IllegalArgumentException("Input too long");
129
- }
124
+ if (str.length() > 1000) {
125
+ throw new IllegalArgumentException("Input too long");
126
+ }
130
127
131
- Pattern.matches("^(\\+|-)?(\\d+|(\\d*\\.\\d*))?(E|e)?([-+])?(\\d+)?$", str);
132
- </sample >
128
+ Pattern.matches("^(\\+|-)?(\\d+|(\\d*\\.\\d*))?(E|e)?([-+])?(\\d+)?$", str); </sample >
133
129
</example >
134
130
135
131
<include src =" ReDoSReferences.inc.qhelp" />
Original file line number Diff line number Diff line change 15
15
</p >
16
16
17
17
<sample language =" javascript" >
18
- text.replace(/^\s+|\s+$/g, ''); // BAD
19
- </sample >
18
+ text.replace(/^\s+|\s+$/g, ''); // BAD</sample >
20
19
21
20
<p >
22
21
71
70
</p >
72
71
73
72
<sample language =" javascript" >
74
- /^0\.\d+E?\d+$/.test(str) // BAD
75
- </sample >
73
+ /^0\.\d+E?\d+$/.test(str) // BAD</sample >
76
74
77
75
<p >
78
76
113
111
</p >
114
112
115
113
<sample language =" javascript" >
116
- /^(\+|-)?(\d+|(\d*\.\d*))?(E|e)?([-+])?(\d+)?$/.test(str) // BAD
117
- </sample >
114
+ /^(\+|-)?(\d+|(\d*\.\d*))?(E|e)?([-+])?(\d+)?$/.test(str) // BAD</sample >
118
115
119
116
<p >
120
117
It's not immediately obvious how to rewrite this regular expression
124
121
</p >
125
122
126
123
<sample language =" javascript" >
127
- if (str.length > 1000) {
128
- throw new Error("Input too long");
129
- }
130
- /^(\+|-)?(\d+|(\d*\.\d*))?(E|e)?([-+])?(\d+)?$/.test(str)
131
- </sample >
124
+ if (str.length > 1000) {
125
+ throw new Error("Input too long");
126
+ }
127
+ /^(\+|-)?(\d+|(\d*\.\d*))?(E|e)?([-+])?(\d+)?$/.test(str)</sample >
132
128
</example >
133
129
134
130
<include src =" ReDoSReferences.inc.qhelp" />
Original file line number Diff line number Diff line change 15
15
</p >
16
16
17
17
<sample language =" python" >
18
- re.sub(r"^\s+|\s+$", "", text) # BAD
19
- </sample >
18
+ re.sub(r"^\s+|\s+$", "", text) # BAD</sample >
20
19
21
20
<p >
22
21
71
70
</p >
72
71
73
72
<sample language =" python" >
74
- ^0\.\d+E?\d+$ # BAD
75
- </sample >
73
+ ^0\.\d+E?\d+$ # BAD</sample >
76
74
77
75
<p >
78
76
113
111
</p >
114
112
115
113
<sample language =" python" >
116
- match = re.search(r'^(\+|-)?(\d+|(\d*\.\d*))?(E|e)?([-+])?(\d+)?$', str)
117
- </sample >
114
+ match = re.search(r'^(\+|-)?(\d+|(\d*\.\d*))?(E|e)?([-+])?(\d+)?$', str) </sample >
118
115
119
116
<p >
120
117
It's not immediately obvious how to rewrite this regular expression
124
121
</p >
125
122
126
123
<sample language =" python" >
127
- if len(str) > 1000:
128
- raise ValueError("Input too long")
124
+ if len(str) > 1000:
125
+ raise ValueError("Input too long")
129
126
130
- match = re.search(r'^(\+|-)?(\d+|(\d*\.\d*))?(E|e)?([-+])?(\d+)?$', str)
131
- </sample >
127
+ match = re.search(r'^(\+|-)?(\d+|(\d*\.\d*))?(E|e)?([-+])?(\d+)?$', str) </sample >
132
128
</example >
133
129
134
130
<include src =" ReDoSReferences.inc.qhelp" />
Original file line number Diff line number Diff line change 15
15
</p >
16
16
17
17
<sample language =" ruby" >
18
- text.gsub!(/^\s+|\s+$/, '') # BAD
19
- </sample >
18
+ text.gsub!(/^\s+|\s+$/, '') # BAD</sample >
20
19
21
20
<p >
22
21
74
73
</p >
75
74
76
75
<sample language =" ruby" >
77
- /^0\.\d+E?\d+$/ # BAD
78
- </sample >
76
+ /^0\.\d+E?\d+$/ # BAD</sample >
79
77
80
78
<p >
81
79
118
116
</p >
119
117
120
118
<sample language =" ruby" >
121
- is_matching = /^(\+|-)?(\d+|(\d*\.\d*))?(E|e)?([-+])?(\d+)?$/.match?(str)
122
- </sample >
119
+ is_matching = /^(\+|-)?(\d+|(\d*\.\d*))?(E|e)?([-+])?(\d+)?$/.match?(str)</sample >
123
120
124
121
<p >
125
122
It's not immediately obvious how to rewrite this regular expression
129
126
</p >
130
127
131
128
<sample language =" ruby" >
132
- if str.length > 1000
133
- raise ArgumentError, "Input too long"
134
- end
129
+ if str.length > 1000
130
+ raise ArgumentError, "Input too long"
131
+ end
135
132
136
- is_matching = /^(\+|-)?(\d+|(\d*\.\d*))?(E|e)?([-+])?(\d+)?$/.match?(str)
137
- </sample >
133
+ is_matching = /^(\+|-)?(\d+|(\d*\.\d*))?(E|e)?([-+])?(\d+)?$/.match?(str)</sample >
138
134
</example >
139
135
140
136
<include src =" ReDoSReferences.inc.qhelp" />
You can’t perform that action at this time.
0 commit comments