Sha256: bb5e36a92039e02273ceb4013688d2041ef43c646e3859ebdd7ec52505ce7f0e

Contents?: true

Size: 532 Bytes

Versions: 2

Compression:

Stored size: 532 Bytes

Contents

# frozen_string_literal: true

module TaintedLove
  module Replacer

    class ReplaceRackFile < Base
      def replace!
        # Assume that Rack::File is used path that are safe
        TaintedLove::Utils::Proxy.new('Rack::File', :call) do
          def before
            env['PATH_INFO'].untaint
          end

          def env
            arguments.first
          end
        end

        TaintedLove.proxy_method('Rack::File', :initialize) do |_, *args|
          args.first.untaint
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
tainted_love-0.4.1 lib/tainted_love/replacer/replace_rack_file.rb
tainted_love-0.4.0 lib/tainted_love/replacer/replace_rack_file.rb