brakeman 5.1.2 → 5.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +21 -0
  3. data/bundle/load.rb +2 -2
  4. data/bundle/ruby/2.7.0/gems/{parallel-1.21.0 → parallel-1.22.1}/MIT-LICENSE.txt +0 -0
  5. data/bundle/ruby/2.7.0/gems/{parallel-1.21.0 → parallel-1.22.1}/lib/parallel/processor_count.rb +2 -3
  6. data/bundle/ruby/2.7.0/gems/parallel-1.22.1/lib/parallel/version.rb +4 -0
  7. data/bundle/ruby/2.7.0/gems/{parallel-1.21.0 → parallel-1.22.1}/lib/parallel.rb +84 -4
  8. data/bundle/ruby/2.7.0/gems/{ruby_parser-3.18.0 → ruby_parser-3.19.1}/History.rdoc +40 -0
  9. data/bundle/ruby/2.7.0/gems/{ruby_parser-3.18.0 → ruby_parser-3.19.1}/Manifest.txt +2 -0
  10. data/bundle/ruby/2.7.0/gems/{ruby_parser-3.18.0 → ruby_parser-3.19.1}/README.rdoc +8 -6
  11. data/bundle/ruby/2.7.0/gems/{ruby_parser-3.18.0 → ruby_parser-3.19.1}/compare/normalize.rb +0 -0
  12. data/bundle/ruby/2.7.0/gems/{ruby_parser-3.18.0 → ruby_parser-3.19.1}/debugging.md +0 -0
  13. data/bundle/ruby/2.7.0/gems/{ruby_parser-3.18.0 → ruby_parser-3.19.1}/gauntlet.md +19 -18
  14. data/bundle/ruby/2.7.0/gems/{ruby_parser-3.18.0 → ruby_parser-3.19.1}/lib/rp_extensions.rb +0 -0
  15. data/bundle/ruby/2.7.0/gems/{ruby_parser-3.18.0 → ruby_parser-3.19.1}/lib/rp_stringscanner.rb +0 -0
  16. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/lib/ruby20_parser.rb +10973 -0
  17. data/bundle/ruby/2.7.0/gems/{ruby_parser-3.18.0 → ruby_parser-3.19.1}/lib/ruby20_parser.y +23 -30
  18. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/lib/ruby21_parser.rb +10980 -0
  19. data/bundle/ruby/2.7.0/gems/{ruby_parser-3.18.0 → ruby_parser-3.19.1}/lib/ruby21_parser.y +23 -30
  20. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/lib/ruby22_parser.rb +11123 -0
  21. data/bundle/ruby/2.7.0/gems/{ruby_parser-3.18.0 → ruby_parser-3.19.1}/lib/ruby22_parser.y +23 -30
  22. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/lib/ruby23_parser.rb +11132 -0
  23. data/bundle/ruby/2.7.0/gems/{ruby_parser-3.18.0 → ruby_parser-3.19.1}/lib/ruby23_parser.y +23 -30
  24. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/lib/ruby24_parser.rb +11231 -0
  25. data/bundle/ruby/2.7.0/gems/{ruby_parser-3.18.0 → ruby_parser-3.19.1}/lib/ruby24_parser.y +23 -30
  26. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/lib/ruby25_parser.rb +11231 -0
  27. data/bundle/ruby/2.7.0/gems/{ruby_parser-3.18.0 → ruby_parser-3.19.1}/lib/ruby25_parser.y +23 -30
  28. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/lib/ruby26_parser.rb +11253 -0
  29. data/bundle/ruby/2.7.0/gems/{ruby_parser-3.18.0 → ruby_parser-3.19.1}/lib/ruby26_parser.y +23 -30
  30. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/lib/ruby27_parser.rb +12980 -0
  31. data/bundle/ruby/2.7.0/gems/{ruby_parser-3.18.0 → ruby_parser-3.19.1}/lib/ruby27_parser.y +28 -44
  32. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/lib/ruby30_parser.rb +13242 -0
  33. data/bundle/ruby/2.7.0/gems/{ruby_parser-3.18.0 → ruby_parser-3.19.1}/lib/ruby30_parser.y +77 -93
  34. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/lib/ruby31_parser.rb +13622 -0
  35. data/bundle/ruby/2.7.0/gems/{ruby_parser-3.18.0/lib/ruby3_parser.yy → ruby_parser-3.19.1/lib/ruby31_parser.y} +121 -107
  36. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/lib/ruby3_parser.yy +3536 -0
  37. data/bundle/ruby/2.7.0/gems/{ruby_parser-3.18.0 → ruby_parser-3.19.1}/lib/ruby_lexer.rb +0 -0
  38. data/bundle/ruby/2.7.0/gems/{ruby_parser-3.18.0 → ruby_parser-3.19.1}/lib/ruby_lexer.rex +0 -0
  39. data/bundle/ruby/2.7.0/gems/{ruby_parser-3.18.0 → ruby_parser-3.19.1}/lib/ruby_lexer.rex.rb +0 -0
  40. data/bundle/ruby/2.7.0/gems/{ruby_parser-3.18.0 → ruby_parser-3.19.1}/lib/ruby_lexer_strings.rb +0 -0
  41. data/bundle/ruby/2.7.0/gems/{ruby_parser-3.18.0 → ruby_parser-3.19.1}/lib/ruby_parser.rb +2 -0
  42. data/bundle/ruby/2.7.0/gems/{ruby_parser-3.18.0 → ruby_parser-3.19.1}/lib/ruby_parser.yy +28 -44
  43. data/bundle/ruby/2.7.0/gems/{ruby_parser-3.18.0 → ruby_parser-3.19.1}/lib/ruby_parser_extras.rb +55 -2
  44. data/bundle/ruby/2.7.0/gems/{ruby_parser-3.18.0 → ruby_parser-3.19.1}/tools/munge.rb +0 -0
  45. data/bundle/ruby/2.7.0/gems/{ruby_parser-3.18.0 → ruby_parser-3.19.1}/tools/ripper.rb +0 -0
  46. data/lib/brakeman/checks/base_check.rb +10 -0
  47. data/lib/brakeman/checks/check_eol_rails.rb +23 -0
  48. data/lib/brakeman/checks/check_eol_ruby.rb +26 -0
  49. data/lib/brakeman/checks/check_sql.rb +6 -4
  50. data/lib/brakeman/checks/check_symbol_dos.rb +1 -1
  51. data/lib/brakeman/checks/check_unsafe_reflection.rb +7 -2
  52. data/lib/brakeman/checks/eol_check.rb +47 -0
  53. data/lib/brakeman/options.rb +8 -0
  54. data/lib/brakeman/processors/alias_processor.rb +17 -1
  55. data/lib/brakeman/processors/gem_processor.rb +3 -0
  56. data/lib/brakeman/processors/lib/rails3_route_processor.rb +2 -0
  57. data/lib/brakeman/scanner.rb +3 -1
  58. data/lib/brakeman/tracker/config.rb +8 -1
  59. data/lib/brakeman/version.rb +1 -1
  60. data/lib/brakeman/warning_codes.rb +4 -0
  61. metadata +48 -43
  62. data/bundle/ruby/2.7.0/gems/parallel-1.21.0/lib/parallel/version.rb +0 -4
  63. data/bundle/ruby/2.7.0/gems/ruby_parser-3.18.0/lib/ruby20_parser.rb +0 -7122
  64. data/bundle/ruby/2.7.0/gems/ruby_parser-3.18.0/lib/ruby21_parser.rb +0 -7176
  65. data/bundle/ruby/2.7.0/gems/ruby_parser-3.18.0/lib/ruby22_parser.rb +0 -7222
  66. data/bundle/ruby/2.7.0/gems/ruby_parser-3.18.0/lib/ruby23_parser.rb +0 -7231
  67. data/bundle/ruby/2.7.0/gems/ruby_parser-3.18.0/lib/ruby24_parser.rb +0 -7262
  68. data/bundle/ruby/2.7.0/gems/ruby_parser-3.18.0/lib/ruby25_parser.rb +0 -7262
  69. data/bundle/ruby/2.7.0/gems/ruby_parser-3.18.0/lib/ruby26_parser.rb +0 -7281
  70. data/bundle/ruby/2.7.0/gems/ruby_parser-3.18.0/lib/ruby27_parser.rb +0 -8511
  71. data/bundle/ruby/2.7.0/gems/ruby_parser-3.18.0/lib/ruby30_parser.rb +0 -8741
@@ -680,8 +680,7 @@ rule
680
680
 
681
681
  cpath: tCOLON3 cname
682
682
  {
683
- _, (name, line) = val
684
- result = s(:colon3, name.to_sym).line line
683
+ result = wrap :colon3, val[1]
685
684
  }
686
685
  | cname
687
686
  {
@@ -706,9 +705,7 @@ rule
706
705
 
707
706
  fitem: fname
708
707
  {
709
- (id, line), = val
710
-
711
- result = s(:lit, id.to_sym).line line
708
+ result = wrap :lit, val[0]
712
709
  }
713
710
  | symbol
714
711
 
@@ -777,9 +774,9 @@ rule
777
774
  }
778
775
  | tCOLON3 tCONSTANT tOP_ASGN arg_rhs
779
776
  {
780
- _, (lhs, line), op, rhs = val
777
+ _, lhs, op, rhs = val
781
778
 
782
- lhs = s(:colon3, lhs.to_sym).line line
779
+ lhs = wrap :colon3, lhs
783
780
  result = new_const_op_asgn [lhs, op, rhs]
784
781
  }
785
782
  | backref tOP_ASGN arg_rhs
@@ -1181,9 +1178,7 @@ rule
1181
1178
  }
1182
1179
  | tCOLON3 tCONSTANT
1183
1180
  {
1184
- _, (id, line) = val
1185
-
1186
- result = s(:colon3, id.to_sym).line line
1181
+ result = wrap :colon3, val[1]
1187
1182
  }
1188
1183
  | tLBRACK { result = lexer.lineno } aref_args tRBRACK
1189
1184
  {
@@ -1207,15 +1202,21 @@ rule
1207
1202
  }
1208
1203
  | kYIELD tLPAREN2 call_args rparen
1209
1204
  {
1210
- result = new_yield val[2]
1205
+ (_, line), _, args, _ = val
1206
+
1207
+ result = new_yield(args).line line
1211
1208
  }
1212
1209
  | kYIELD tLPAREN2 rparen
1213
1210
  {
1214
- result = new_yield
1211
+ (_, line), _, _ = val
1212
+
1213
+ result = new_yield.line line
1215
1214
  }
1216
1215
  | kYIELD
1217
1216
  {
1218
- result = new_yield
1217
+ (_, line), = val
1218
+
1219
+ result = new_yield.line line
1219
1220
  }
1220
1221
  | kDEFINED opt_nl tLPAREN2 expr rparen
1221
1222
  {
@@ -1671,8 +1672,7 @@ opt_block_args_tail: tCOMMA block_args_tail
1671
1672
 
1672
1673
  bvar: tIDENTIFIER
1673
1674
  {
1674
- (id, line), = val
1675
- result = s(:shadow, id.to_sym).line line
1675
+ result = wrap :shadow, val[0]
1676
1676
  }
1677
1677
  | f_bad_arg
1678
1678
 
@@ -2187,18 +2187,15 @@ regexp_contents: none
2187
2187
 
2188
2188
  string_dvar: tGVAR
2189
2189
  {
2190
- (id, line), = val
2191
- result = s(:gvar, id.to_sym).line line
2190
+ result = wrap :gvar, val[0]
2192
2191
  }
2193
2192
  | tIVAR
2194
2193
  {
2195
- (id, line), = val
2196
- result = s(:ivar, id.to_sym).line line
2194
+ result = wrap :ivar, val[0]
2197
2195
  }
2198
2196
  | tCVAR
2199
2197
  {
2200
- (id, line), = val
2201
- result = s(:cvar, id.to_sym).line line
2198
+ result = wrap :cvar, val[0]
2202
2199
  }
2203
2200
  | backref
2204
2201
 
@@ -2207,17 +2204,13 @@ regexp_contents: none
2207
2204
 
2208
2205
  ssym: tSYMBEG sym
2209
2206
  {
2210
- _, (id, line) = val
2211
-
2212
2207
  lexer.lex_state = EXPR_END
2213
- result = s(:lit, id.to_sym).line line
2208
+ result = wrap :lit, val[1]
2214
2209
  }
2215
2210
  | tSYMBOL
2216
2211
  {
2217
- (id, line), = val
2218
-
2219
2212
  lexer.lex_state = EXPR_END
2220
- result = s(:lit, id.to_sym).line line
2213
+ result = wrap :lit, val[0]
2221
2214
  }
2222
2215
 
2223
2216
  sym: fname | tIVAR | tGVAR | tCVAR
@@ -2661,10 +2654,10 @@ keyword_variable: kNIL { result = s(:nil).line lexer.lineno }
2661
2654
  }
2662
2655
  | tLABEL arg_value
2663
2656
  {
2664
- (label, line), arg = val
2657
+ label, arg = val
2665
2658
 
2666
- lit = s(:lit, label.to_sym).line line
2667
- result = s(:array, lit, arg).line line
2659
+ lit = wrap :lit, label
2660
+ result = s(:array, lit, arg).line lit.line
2668
2661
  }
2669
2662
  | tSTRING_BEG string_contents tLABEL_END arg_value
2670
2663
  {