diff options
author | Eric Wong <e@80x24.org> | 2022-01-20 18:34:19 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2022-01-21 19:54:43 +0000 |
commit | 88a8d4793473259b392241f1e2d20d39bd96b214 (patch) | |
tree | 28e3fb5d17017038045de143bd2e6a7d95655d0d /bin/dtas-readahead | |
parent | 748c3633ce794685af343de0bcd24eca7440281b (diff) | |
download | dtas-88a8d4793473259b392241f1e2d20d39bd96b214.tar.gz |
Psych 4.x defaults to "nanny mode" to handle untrusted data. This causes breakage with since YAML references (aliases) emitted by dtas-player can't be handled by Psych clients under Ruby 3.1. Since dtas is single user and is a shell designed to run arbitrary code, favor the new YAML.unsafe_load API which behaves like the old YAML.load in Ruby <= 3.0.
Diffstat (limited to 'bin/dtas-readahead')
-rwxr-xr-x | bin/dtas-readahead | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/bin/dtas-readahead b/bin/dtas-readahead index a1971bd..3f46b95 100755 --- a/bin/dtas-readahead +++ b/bin/dtas-readahead @@ -140,7 +140,7 @@ def do_open(path) when "---\n" buf << fp.read(fp.size - 4) Dir.chdir(File.dirname(path)) do - yml = YAML.load(buf) + yml = DTAS.yaml_load(buf) x = yml['infile'] and return File.open(File.expand_path(x).freeze) end end @@ -155,7 +155,7 @@ begin @todo_ra = @max_ra t0 = DTAS.now fp = nil - cur = YAML.load(c.req('current')) + cur = DTAS.yaml_load(c.req('current')) while @todo_ra > 0 && fp.nil? if current = cur['current'] track = current['infile'] @@ -177,7 +177,7 @@ begin end # queue has priority, work on it, first - queue = YAML.load(c.req('queue cat')) + queue = DTAS.yaml_load(c.req('queue cat')) while @todo_ra > 0 && track = queue.shift next unless track.kind_of?(String) fp = nil @@ -209,7 +209,7 @@ begin end end idx or break - cur = YAML.load(c.req('current')) + cur = DTAS.yaml_load(c.req('current')) current = cur['current'] or break end if current |