From 87c621c459ce4a3e308622eb8fab215838efc029 Mon Sep 17 00:00:00 2001 From: jhongturney Date: Fri, 1 Mar 2024 08:08:51 -0800 Subject: [PATCH 1/4] limiting group matches to 1000 chars at most --- lib/octocatalog-diff/catalog-diff/display/text.rb | 5 +---- lib/octocatalog-diff/catalog-util/builddir.rb | 5 +---- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/lib/octocatalog-diff/catalog-diff/display/text.rb b/lib/octocatalog-diff/catalog-diff/display/text.rb index d38d8ac3..17e4aadd 100644 --- a/lib/octocatalog-diff/catalog-diff/display/text.rb +++ b/lib/octocatalog-diff/catalog-diff/display/text.rb @@ -307,10 +307,7 @@ def self.adjust_position_of_plus_minus(string_in) # @param string_in [String] Input string, which might contain trailing whitespace # @return [String] Modified string def self.make_trailing_whitespace_visible(string_in) - if string_in.length > 1000 - raise ArgumentError, "Input string too long" - end - return string_in unless string_in =~ /\A((?:.|\n)*?)(\s+)(\e\[0m)?\Z/ + return string_in unless string_in =~ /\A((?:.|\n){1,1000}?)(\s+)(\e\[0m)?\Z/ beginning = Regexp.last_match(1) trailing_space = Regexp.last_match(2) end_escape = Regexp.last_match(3) diff --git a/lib/octocatalog-diff/catalog-util/builddir.rb b/lib/octocatalog-diff/catalog-util/builddir.rb index a0e8f83a..760afe6d 100644 --- a/lib/octocatalog-diff/catalog-util/builddir.rb +++ b/lib/octocatalog-diff/catalog-util/builddir.rb @@ -155,10 +155,7 @@ def install_fact_file(logger, options) elsif options[:fact_file] raise Errno::ENOENT, "Fact file #{options[:fact_file]} does not exist" unless File.file?(options[:fact_file]) fact_file_opts = { fact_file_string: File.read(options[:fact_file]) } - if options[:fact_file].length > 1000 - raise ArgumentError, "Input too long" - end - fact_file_opts[:backend] = Regexp.last_match(1).to_sym if options[:fact_file] =~ /.*\.(\w+)$/ + fact_file_opts[:backend] = Regexp.last_match(1).to_sym if options[:fact_file] =~ /.*\.(\w{1,1000})$/ OctocatalogDiff::Facts.new(fact_file_opts) else raise ArgumentError, 'No facts passed to "install_fact_file" method' From 67ec2c6ff991863e4a5819e3e28c376e7c9b58ba Mon Sep 17 00:00:00 2001 From: jhongturney Date: Fri, 1 Mar 2024 08:11:42 -0800 Subject: [PATCH 2/4] moving parenthesis --- lib/octocatalog-diff/catalog-util/builddir.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/octocatalog-diff/catalog-util/builddir.rb b/lib/octocatalog-diff/catalog-util/builddir.rb index 760afe6d..827890ac 100644 --- a/lib/octocatalog-diff/catalog-util/builddir.rb +++ b/lib/octocatalog-diff/catalog-util/builddir.rb @@ -155,7 +155,7 @@ def install_fact_file(logger, options) elsif options[:fact_file] raise Errno::ENOENT, "Fact file #{options[:fact_file]} does not exist" unless File.file?(options[:fact_file]) fact_file_opts = { fact_file_string: File.read(options[:fact_file]) } - fact_file_opts[:backend] = Regexp.last_match(1).to_sym if options[:fact_file] =~ /.*\.(\w{1,1000})$/ + fact_file_opts[:backend] = Regexp.last_match(1).to_sym if options[:fact_file] =~ /.*\.(\w){1,1000}$/ OctocatalogDiff::Facts.new(fact_file_opts) else raise ArgumentError, 'No facts passed to "install_fact_file" method' From 81c89505e6811a55dcc3cee3c59babc38a8c5047 Mon Sep 17 00:00:00 2001 From: jhongturney Date: Fri, 1 Mar 2024 08:13:46 -0800 Subject: [PATCH 3/4] wrong side --- lib/octocatalog-diff/catalog-util/builddir.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/octocatalog-diff/catalog-util/builddir.rb b/lib/octocatalog-diff/catalog-util/builddir.rb index 827890ac..ed15814f 100644 --- a/lib/octocatalog-diff/catalog-util/builddir.rb +++ b/lib/octocatalog-diff/catalog-util/builddir.rb @@ -155,7 +155,7 @@ def install_fact_file(logger, options) elsif options[:fact_file] raise Errno::ENOENT, "Fact file #{options[:fact_file]} does not exist" unless File.file?(options[:fact_file]) fact_file_opts = { fact_file_string: File.read(options[:fact_file]) } - fact_file_opts[:backend] = Regexp.last_match(1).to_sym if options[:fact_file] =~ /.*\.(\w){1,1000}$/ + fact_file_opts[:backend] = Regexp.last_match(1).to_sym if options[:fact_file] =~ /.{1,1000}\.(\w)*$/ OctocatalogDiff::Facts.new(fact_file_opts) else raise ArgumentError, 'No facts passed to "install_fact_file" method' From 8a5c4867319b54304e45b933af08221748836220 Mon Sep 17 00:00:00 2001 From: jhongturney Date: Fri, 1 Mar 2024 08:31:37 -0800 Subject: [PATCH 4/4] fixing a goof --- lib/octocatalog-diff/catalog-util/builddir.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/octocatalog-diff/catalog-util/builddir.rb b/lib/octocatalog-diff/catalog-util/builddir.rb index ed15814f..f1964066 100644 --- a/lib/octocatalog-diff/catalog-util/builddir.rb +++ b/lib/octocatalog-diff/catalog-util/builddir.rb @@ -155,7 +155,7 @@ def install_fact_file(logger, options) elsif options[:fact_file] raise Errno::ENOENT, "Fact file #{options[:fact_file]} does not exist" unless File.file?(options[:fact_file]) fact_file_opts = { fact_file_string: File.read(options[:fact_file]) } - fact_file_opts[:backend] = Regexp.last_match(1).to_sym if options[:fact_file] =~ /.{1,1000}\.(\w)*$/ + fact_file_opts[:backend] = Regexp.last_match(1).to_sym if options[:fact_file] =~ /.{1,1000}\.(\w+)$/ OctocatalogDiff::Facts.new(fact_file_opts) else raise ArgumentError, 'No facts passed to "install_fact_file" method'