safe_regexp 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a1b53f631242793887df75393c4014b95d315c0da5d29ca71a19fdbee8ea0814
4
- data.tar.gz: 8feeb084ff50295347f4d1912c4a60411d6a35a1926356a5bc11f50cc6f5c356
3
+ metadata.gz: d41a513f71c9af110f801100927df7c2f99abb869b131bd5ebdd9694eec9f740
4
+ data.tar.gz: ae1565f7ef31858ecb5c64e0568dd8850f4192f594ce42d54564f616b8810306
5
5
  SHA512:
6
- metadata.gz: 35168912597704b09226bdea3250b79e33b59fe1efa45e6cc1dda3e86b62ffafd40139f8a25846b9dd0e91451b5d8df6933be4ebe9979ecaacf6675b5b9e64c7
7
- data.tar.gz: 60c632ae1285e018beb9332be2a81a75c04d76d0127c387528fa24720062e0fe9499eeab189a4f6c05b5d3e5279808d932fa5e201e9cf0a04abc15916e8cbd13
6
+ metadata.gz: be06fe147c0df803974e4c4bbf23b652aa475d45048e757095ba4dd5b0f25d632f5e2aa71d69627cce6e0b9e48d3ff7e3cc8c9ad7a22b7f1cdcd1e138c57c12b
7
+ data.tar.gz: 500711ebe4a39248c8f7d8c7b16fea6bf7aaaa71696b5b95e00c58b62a520ce0f116a215bedfabd55278a79fd0ea0afa03b3ce5ed03e11337b5dd4836482b863
@@ -8,7 +8,7 @@ module SafeRegexp
8
8
  end
9
9
 
10
10
  class << self
11
- def execute(regex, method, string, timeout: 1, keepalive: 10)
11
+ def execute(regex, method, *args, timeout: 1, keepalive: 10)
12
12
  retried = false
13
13
 
14
14
  begin
@@ -16,7 +16,7 @@ module SafeRegexp
16
16
 
17
17
  begin
18
18
  read, write, pid = executor
19
- Marshal.dump([regex, method, string, keepalive], write)
19
+ Marshal.dump([regex, method, args, keepalive], write)
20
20
  rescue Errno::EPIPE
21
21
  # keepalive already killed the process, but we don't check before sending
22
22
  # since that would be a race condition and cause overhead for the 99.9% case
@@ -87,12 +87,12 @@ module SafeRegexp
87
87
  loop do
88
88
  break unless IO.select([in_read], nil, nil, keepalive)
89
89
  begin
90
- regexp, method, string, keepalive = Marshal.load(in_read)
90
+ regexp, method, args, keepalive = Marshal.load(in_read)
91
91
  rescue EOFError # someone killed this fork
92
92
  break
93
93
  end
94
94
  begin
95
- result = regexp.public_send(method, string)
95
+ result = regexp.public_send(method, *args)
96
96
  result = result.to_a if result.is_a?(MatchData) # cannot be dumped
97
97
  rescue RESCUED_EXCEPTION
98
98
  result = $!
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module SafeRegexp
3
- VERSION = "0.3.0"
3
+ VERSION = "0.4.0"
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: safe_regexp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Grosser
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-04-10 00:00:00.000000000 Z
11
+ date: 2020-04-23 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email: michael@grosser.it
@@ -38,8 +38,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
38
38
  - !ruby/object:Gem::Version
39
39
  version: '0'
40
40
  requirements: []
41
- rubyforge_project:
42
- rubygems_version: 2.7.6
41
+ rubygems_version: 3.0.3
43
42
  signing_key:
44
43
  specification_version: 4
45
44
  summary: Backtracking bomb safety / timeouts for regular expressions