lib/tork/driver.rb in tork-19.8.0 vs lib/tork/driver.rb in tork-19.8.1
- old
+ new
@@ -1,6 +1,7 @@
require 'set'
+require 'pathname'
require 'tork/engine'
require 'tork/server'
require 'tork/config'
module Tork
@@ -49,9 +50,13 @@
when @engine
send @clients, message # propagate downstream
when @herald
message.each do |changed_file|
+ # make sure this path works with the GREPS and GLOBBERS below
+ # by squashing relative directory traversal and extra slashes
+ changed_file = Pathname.new(changed_file).cleanpath.to_s
+
# reabsorb text execution overhead if overhead files changed
if overhead_file? changed_file
send @clients, [:reabsorb, changed_file]
reabsorb_overhead
else