From f94a38e4b1c0276557a2e2807554bd729ded6864 Mon Sep 17 00:00:00 2001 From: Mike McQuaid <mike@mikemcquaid.com> Date: Fri, 12 Jun 2020 11:42:40 +0100 Subject: [PATCH] tap-new: restrict new tap names. Don't want to restrict this for all taps otherwise existing ones may explode. Fixes #7734 --- Library/Homebrew/dev-cmd/tap-new.rb | 3 +++ Library/Homebrew/tap.rb | 5 +---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Library/Homebrew/dev-cmd/tap-new.rb b/Library/Homebrew/dev-cmd/tap-new.rb index 1ff92d0c7c..2e75d05515 100644 --- a/Library/Homebrew/dev-cmd/tap-new.rb +++ b/Library/Homebrew/dev-cmd/tap-new.rb @@ -22,7 +22,10 @@ module Homebrew def tap_new tap_new_args.parse + tap_name = args.named.first tap = Tap.fetch(args.named.first) + raise "Invalid tap name '#{tap_name}'" unless tap.path.to_s.match?(HOMEBREW_TAP_PATH_REGEX) + titleized_user = tap.user.dup titleized_repo = tap.repo.dup titleized_user[0] = titleized_user[0].upcase diff --git a/Library/Homebrew/tap.rb b/Library/Homebrew/tap.rb index cf2f2851a5..9894b4b47b 100644 --- a/Library/Homebrew/tap.rb +++ b/Library/Homebrew/tap.rb @@ -34,10 +34,7 @@ class Tap return CoreTap.instance if ["Homebrew", "Linuxbrew"].include?(user) && ["core", "homebrew"].include?(repo) cache_key = "#{user}/#{repo}".downcase - tap = cache.fetch(cache_key) { |key| cache[key] = Tap.new(user, repo) } - raise "Invalid tap name '#{args.join("/")}'" unless tap.path.to_s.match?(HOMEBREW_TAP_PATH_REGEX) - - tap + cache.fetch(cache_key) { |key| cache[key] = Tap.new(user, repo) } end def self.from_path(path) -- GitLab