diff options
author | Jon Rowe <hello@jonrowe.co.uk> | 2012-03-15 12:21:20 +0000 |
---|---|---|
committer | Jon Rowe <hello@jonrowe.co.uk> | 2012-03-15 12:21:20 +0000 |
commit | 4073505065a0937d67c45860988fbe634a700c37 (patch) | |
tree | 847447d1262067ee8392d96bdbfe9ed8b9baa50f /activesupport/lib | |
parent | fbc9d0f44f090a9873834f4966760c3e80682559 (diff) | |
download | rails-4073505065a0937d67c45860988fbe634a700c37.tar.gz rails-4073505065a0937d67c45860988fbe634a700c37.tar.bz2 rails-4073505065a0937d67c45860988fbe634a700c37.zip |
escape commas in paths before globbing to avoid infinite hang in Dir[]
Diffstat (limited to 'activesupport/lib')
-rw-r--r-- | activesupport/lib/active_support/file_update_checker.rb | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/activesupport/lib/active_support/file_update_checker.rb b/activesupport/lib/active_support/file_update_checker.rb index 2ede084e95..3ff249536e 100644 --- a/activesupport/lib/active_support/file_update_checker.rb +++ b/activesupport/lib/active_support/file_update_checker.rb @@ -106,11 +106,15 @@ module ActiveSupport globs = [] hash.each do |key, value| - globs << "#{key}/**/*#{compile_ext(value)}" + globs << "#{escape(key)}/**/*#{compile_ext(value)}" end "{#{globs.join(",")}}" end + def escape(key) + key.gsub(',','\,') + end + def compile_ext(array) #:nodoc: array = Array(array) return if array.empty? |