mirror of
https://github.com/wahyd4/gitlabhq.git
synced 2026-08-09 20:56:08 +10:00
Improve invalid build artifacts metadata path matcher
This commit is contained in:
@@ -43,6 +43,7 @@ module Gitlab
|
||||
def match_entries(gz)
|
||||
paths, metadata = [], []
|
||||
match_pattern = %r{^#{Regexp.escape(@path)}[^/\s]*/?$}
|
||||
invalid_pattern = %r{(^\.?\.?/)|(/\.?\.?/)}
|
||||
|
||||
until gz.eof? do
|
||||
begin
|
||||
@@ -50,7 +51,7 @@ module Gitlab
|
||||
meta = read_string(gz)
|
||||
|
||||
next unless path =~ match_pattern
|
||||
next unless path_valid?(path)
|
||||
next if path =~ invalid_pattern
|
||||
|
||||
paths.push(path)
|
||||
metadata.push(JSON.parse(meta.chomp, symbolize_names: true))
|
||||
@@ -62,10 +63,6 @@ module Gitlab
|
||||
[paths, metadata]
|
||||
end
|
||||
|
||||
def path_valid?(path)
|
||||
!(path.start_with?('/') || path =~ %r{\.?\./})
|
||||
end
|
||||
|
||||
def read_version
|
||||
gzip do|gz|
|
||||
version_string = read_string(gz)
|
||||
|
||||
Reference in New Issue
Block a user