From 1c7e303b26090205f393595f15dadddd4b2d31b6 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Fri, 21 Jun 2019 23:03:36 +0900 Subject: [PATCH] Constified unusable chars --- lib/tmpdir.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/tmpdir.rb b/lib/tmpdir.rb index 87e53a83be7dc4..05e74eb523bbaf 100644 --- a/lib/tmpdir.rb +++ b/lib/tmpdir.rb @@ -112,6 +112,8 @@ def tmpdir Dir.tmpdir end + UNUSABLE_CHARS = [File::SEPARATOR, File::ALT_SEPARATOR, File::PATH_SEPARATOR, ":"].uniq.join("").freeze + def create(basename, tmpdir=nil, max_try: nil, **opts) if $SAFE > 0 and tmpdir.tainted? tmpdir = '/tmp' @@ -123,10 +125,10 @@ def create(basename, tmpdir=nil, max_try: nil, **opts) prefix, suffix = basename prefix = (String.try_convert(prefix) or raise ArgumentError, "unexpected prefix: #{prefix.inspect}") - prefix = prefix.delete("#{File::SEPARATOR}#{File::ALT_SEPARATOR}") + prefix = prefix.delete(UNUSABLE_CHARS) suffix &&= (String.try_convert(suffix) or raise ArgumentError, "unexpected suffix: #{suffix.inspect}") - suffix &&= suffix.delete("#{File::SEPARATOR}#{File::ALT_SEPARATOR}") + suffix &&= suffix.delete(UNUSABLE_CHARS) begin t = Time.now.strftime("%Y%m%d") path = "#{prefix}#{t}-#{$$}-#{rand(0x100000000).to_s(36)}"\