brakeman 5.4.1 → 6.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGES.md +14 -0
- data/README.md +2 -2
- data/bundle/load.rb +3 -4
- data/bundle/ruby/3.1.0/gems/parallel-1.23.0/lib/parallel/version.rb +4 -0
- data/bundle/ruby/3.1.0/gems/{parallel-1.22.1 → parallel-1.23.0}/lib/parallel.rb +43 -3
- data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/History.rdoc +38 -0
- data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/Manifest.txt +2 -0
- data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/README.rdoc +2 -1
- data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/compare/normalize.rb +1 -0
- data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby20_parser.rb +4267 -4284
- data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby20_parser.y +50 -26
- data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby21_parser.rb +4241 -4240
- data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby21_parser.y +50 -26
- data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby22_parser.rb +4289 -4290
- data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby22_parser.y +50 -26
- data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby23_parser.rb +4274 -4243
- data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby23_parser.y +50 -26
- data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby24_parser.rb +4279 -4298
- data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby24_parser.y +50 -26
- data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby25_parser.rb +4270 -4289
- data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby25_parser.y +50 -26
- data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby26_parser.rb +4270 -4289
- data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby26_parser.y +50 -26
- data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby27_parser.rb +4173 -4206
- data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby27_parser.y +50 -26
- data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby30_parser.rb +6029 -5971
- data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby30_parser.y +135 -86
- data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby31_parser.rb +6195 -6184
- data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby31_parser.y +136 -87
- data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby32_parser.rb +13601 -0
- data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2/lib/ruby3_parser.yy → ruby_parser-3.20.3/lib/ruby32_parser.y} +158 -163
- data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby3_parser.yy +3635 -0
- data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby_lexer.rb +15 -7
- data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby_lexer.rex.rb +1 -1
- data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby_lexer_strings.rb +2 -2
- data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby_parser.rb +2 -0
- data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby_parser.yy +50 -26
- data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby_parser_extras.rb +25 -19
- data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/tools/munge.rb +8 -2
- data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/tools/ripper.rb +14 -12
- data/bundle/ruby/3.1.0/gems/{sexp_processor-4.16.1 → sexp_processor-4.17.0}/History.rdoc +13 -0
- data/bundle/ruby/3.1.0/gems/{sexp_processor-4.16.1 → sexp_processor-4.17.0}/lib/pt_testcase.rb +3 -3
- data/bundle/ruby/3.1.0/gems/{sexp_processor-4.16.1 → sexp_processor-4.17.0}/lib/sexp.rb +8 -2
- data/bundle/ruby/3.1.0/gems/{sexp_processor-4.16.1 → sexp_processor-4.17.0}/lib/sexp_processor.rb +1 -1
- data/bundle/ruby/3.1.0/gems/{sexp_processor-4.16.1 → sexp_processor-4.17.0}/lib/strict_sexp.rb +6 -5
- data/lib/brakeman/app_tree.rb +0 -1
- data/lib/brakeman/checks/check_content_tag.rb +8 -5
- data/lib/brakeman/checks/check_eol_ruby.rb +3 -1
- data/lib/brakeman/report/report_github.rb +1 -1
- data/lib/brakeman/scanner.rb +0 -1
- data/lib/brakeman/tracker/config.rb +15 -11
- data/lib/brakeman/version.rb +1 -1
- data/lib/brakeman.rb +6 -2
- metadata +56 -68
- data/bundle/ruby/3.1.0/gems/parallel-1.22.1/lib/parallel/processor_count.rb +0 -44
- data/bundle/ruby/3.1.0/gems/parallel-1.22.1/lib/parallel/version.rb +0 -4
- data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/History.rdoc +0 -6
- data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/Manifest.txt +0 -19
- data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/README.rdoc +0 -54
- data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby18_parser.rb +0 -5794
- data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby18_parser.y +0 -1909
- data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby19_parser.rb +0 -6186
- data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby19_parser.y +0 -2117
- data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_lexer.rb +0 -1412
- data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_lexer.rex +0 -179
- data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_lexer.rex.rb +0 -323
- data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_parser.rb +0 -30
- data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_parser_extras.rb +0 -1388
- data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy.rb +0 -5
- /data/bundle/ruby/3.1.0/gems/{parallel-1.22.1 → parallel-1.23.0}/MIT-LICENSE.txt +0 -0
- /data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/debugging.md +0 -0
- /data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/gauntlet.md +0 -0
- /data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/rp_extensions.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/rp_stringscanner.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby_lexer.rex +0 -0
- /data/bundle/ruby/3.1.0/gems/{sexp_processor-4.16.1 → sexp_processor-4.17.0}/Manifest.txt +0 -0
- /data/bundle/ruby/3.1.0/gems/{sexp_processor-4.16.1 → sexp_processor-4.17.0}/README.rdoc +0 -0
- /data/bundle/ruby/3.1.0/gems/{sexp_processor-4.16.1 → sexp_processor-4.17.0}/lib/composite_sexp_processor.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{sexp_processor-4.16.1 → sexp_processor-4.17.0}/lib/sexp_matcher.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{sexp_processor-4.16.1 → sexp_processor-4.17.0}/lib/unique.rb +0 -0
@@ -222,6 +222,7 @@ rule
|
|
222
222
|
| lhs tEQL mrhs
|
223
223
|
{
|
224
224
|
lhs, _, rhs = val
|
225
|
+
|
225
226
|
result = new_assign lhs, s(:svalue, rhs).line(rhs.line)
|
226
227
|
}
|
227
228
|
| mlhs tEQL mrhs_arg
|
@@ -983,8 +984,10 @@ rule
|
|
983
984
|
|
984
985
|
paren_args: tLPAREN2 opt_call_args rparen
|
985
986
|
{
|
986
|
-
_, args, _ = val
|
987
|
+
_, args, (_, line_max) = val
|
988
|
+
|
987
989
|
result = args
|
990
|
+
result.line_max = line_max if args
|
988
991
|
}
|
989
992
|
|
990
993
|
opt_paren_args: none
|
@@ -1144,7 +1147,6 @@ rule
|
|
1144
1147
|
| k_begin
|
1145
1148
|
{
|
1146
1149
|
lexer.cmdarg.push false
|
1147
|
-
result = self.lexer.lineno
|
1148
1150
|
}
|
1149
1151
|
bodystmt k_end
|
1150
1152
|
{
|
@@ -1189,12 +1191,14 @@ rule
|
|
1189
1191
|
{
|
1190
1192
|
result = wrap :colon3, val[1]
|
1191
1193
|
}
|
1192
|
-
| tLBRACK { result = lexer.lineno } aref_args
|
1194
|
+
| tLBRACK { result = lexer.lineno } aref_args rbracket
|
1193
1195
|
{
|
1194
|
-
_, line, args, _ = val
|
1196
|
+
_, line, args, (_, line_max) = val
|
1197
|
+
|
1195
1198
|
result = args || s(:array)
|
1196
1199
|
result.sexp_type = :array # aref_args is :args
|
1197
1200
|
result.line line
|
1201
|
+
result.line_max = line_max
|
1198
1202
|
}
|
1199
1203
|
| tLBRACE
|
1200
1204
|
{
|
@@ -1299,9 +1303,6 @@ rule
|
|
1299
1303
|
result = new_for iter, var, body
|
1300
1304
|
}
|
1301
1305
|
| k_class
|
1302
|
-
{
|
1303
|
-
result = self.lexer.lineno
|
1304
|
-
}
|
1305
1306
|
cpath superclass
|
1306
1307
|
{
|
1307
1308
|
if (self.in_def || self.in_single > 0) then
|
@@ -1316,9 +1317,6 @@ rule
|
|
1316
1317
|
self.lexer.ignore_body_comments
|
1317
1318
|
}
|
1318
1319
|
| k_class tLSHFT
|
1319
|
-
{
|
1320
|
-
result = self.lexer.lineno
|
1321
|
-
}
|
1322
1320
|
expr
|
1323
1321
|
{
|
1324
1322
|
result = self.in_def
|
@@ -1337,9 +1335,6 @@ rule
|
|
1337
1335
|
self.lexer.ignore_body_comments
|
1338
1336
|
}
|
1339
1337
|
| k_module
|
1340
|
-
{
|
1341
|
-
result = self.lexer.lineno
|
1342
|
-
}
|
1343
1338
|
cpath
|
1344
1339
|
{
|
1345
1340
|
yyerror "module definition in method body" if
|
@@ -1782,13 +1777,19 @@ opt_block_args_tail: tCOMMA block_args_tail
|
|
1782
1777
|
{
|
1783
1778
|
call, args = val
|
1784
1779
|
|
1785
|
-
result = call
|
1780
|
+
result = call
|
1781
|
+
|
1782
|
+
if args then
|
1783
|
+
call.concat args.sexp_body
|
1784
|
+
result.line_max = args.line_max
|
1785
|
+
end
|
1786
1786
|
}
|
1787
1787
|
| primary_value call_op operation2 opt_paren_args
|
1788
1788
|
{
|
1789
|
-
recv, call_op, (op,
|
1789
|
+
recv, call_op, (op, op_line), args = val
|
1790
1790
|
|
1791
1791
|
result = new_call recv, op.to_sym, args, call_op
|
1792
|
+
result.line_max = op_line unless args
|
1792
1793
|
}
|
1793
1794
|
| primary_value tCOLON2 operation2 paren_args
|
1794
1795
|
{
|
@@ -2002,15 +2003,17 @@ opt_block_args_tail: tCOMMA block_args_tail
|
|
2002
2003
|
|
2003
2004
|
words: tWORDS_BEG tSPACE tSTRING_END
|
2004
2005
|
{
|
2005
|
-
(_, line), _, _ = val
|
2006
|
+
(_, line), _, (_, line_max) = val
|
2006
2007
|
|
2007
2008
|
result = s(:array).line line
|
2009
|
+
result.line_max = line_max
|
2008
2010
|
}
|
2009
2011
|
| tWORDS_BEG word_list tSTRING_END
|
2010
2012
|
{
|
2011
|
-
(_, line), list, _ = val
|
2013
|
+
(_, line), list, (_, line_max) = val
|
2012
2014
|
|
2013
2015
|
result = list.line line
|
2016
|
+
result.line_max = line_max
|
2014
2017
|
}
|
2015
2018
|
|
2016
2019
|
word_list: none
|
@@ -2030,15 +2033,17 @@ opt_block_args_tail: tCOMMA block_args_tail
|
|
2030
2033
|
|
2031
2034
|
symbols: tSYMBOLS_BEG tSPACE tSTRING_END
|
2032
2035
|
{
|
2033
|
-
(_, line), _, _ = val
|
2036
|
+
(_, line), _, (_, line_max) = val
|
2034
2037
|
|
2035
2038
|
result = s(:array).line line
|
2039
|
+
result.line_max = line_max
|
2036
2040
|
}
|
2037
2041
|
| tSYMBOLS_BEG symbol_list tSTRING_END
|
2038
2042
|
{
|
2039
|
-
(_, line), list, _, = val
|
2040
|
-
|
2041
|
-
result = list
|
2043
|
+
(_, line), list, (_, line_max), = val
|
2044
|
+
|
2045
|
+
result = list.line line
|
2046
|
+
result.line_max = line_max
|
2042
2047
|
}
|
2043
2048
|
|
2044
2049
|
symbol_list: none
|
@@ -2053,28 +2058,32 @@ opt_block_args_tail: tCOMMA block_args_tail
|
|
2053
2058
|
|
2054
2059
|
qwords: tQWORDS_BEG tSPACE tSTRING_END
|
2055
2060
|
{
|
2056
|
-
(_, line), _, _ = val
|
2061
|
+
(_, line), _, (_, line_max) = val
|
2057
2062
|
|
2058
2063
|
result = s(:array).line line
|
2064
|
+
result.line_max = line_max
|
2059
2065
|
}
|
2060
2066
|
| tQWORDS_BEG qword_list tSTRING_END
|
2061
2067
|
{
|
2062
|
-
(_, line), list, _ = val
|
2068
|
+
(_, line), list, (_, line_max) = val
|
2063
2069
|
|
2064
2070
|
result = list.line line
|
2071
|
+
result.line_max = line_max
|
2065
2072
|
}
|
2066
2073
|
|
2067
2074
|
qsymbols: tQSYMBOLS_BEG tSPACE tSTRING_END
|
2068
2075
|
{
|
2069
|
-
(_, line), _, _ = val
|
2076
|
+
(_, line), _, (_, line_max) = val
|
2070
2077
|
|
2071
2078
|
result = s(:array).line line
|
2079
|
+
result.line_max = line_max
|
2072
2080
|
}
|
2073
2081
|
| tQSYMBOLS_BEG qsym_list tSTRING_END
|
2074
2082
|
{
|
2075
|
-
(_, line), list, _ = val
|
2083
|
+
(_, line), list, (_, line_max) = val
|
2076
2084
|
|
2077
2085
|
result = list.line line
|
2086
|
+
result.line_max = line_max
|
2078
2087
|
}
|
2079
2088
|
|
2080
2089
|
qword_list: none
|
@@ -2478,7 +2487,14 @@ keyword_variable: kNIL { result = s(:nil).line lexer.lineno }
|
|
2478
2487
|
result = s(:args, list).line list.line
|
2479
2488
|
end
|
2480
2489
|
|
2481
|
-
|
2490
|
+
if Sexp === item then
|
2491
|
+
line_max = item.line_max
|
2492
|
+
else
|
2493
|
+
item, line_max = item
|
2494
|
+
end
|
2495
|
+
|
2496
|
+
result << item
|
2497
|
+
result.line_max = line_max
|
2482
2498
|
}
|
2483
2499
|
|
2484
2500
|
f_label: tLABEL
|
@@ -2696,7 +2712,15 @@ keyword_variable: kNIL { result = s(:nil).line lexer.lineno }
|
|
2696
2712
|
opt_terms: | terms
|
2697
2713
|
opt_nl: | tNL
|
2698
2714
|
rparen: opt_nl tRPAREN
|
2715
|
+
{
|
2716
|
+
_, close = val
|
2717
|
+
result = [close, lexer.lineno]
|
2718
|
+
}
|
2699
2719
|
rbracket: opt_nl tRBRACK
|
2720
|
+
{
|
2721
|
+
_, close = val
|
2722
|
+
result = [close, lexer.lineno]
|
2723
|
+
}
|
2700
2724
|
trailer: | tNL | tCOMMA
|
2701
2725
|
|
2702
2726
|
term: tSEMI { yyerrok }
|