summaryrefslogtreecommitdiff
path: root/lib/gitlab
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzegorz@gitlab.com>2018-10-23 06:40:57 +0000
committerGrzegorz Bizon <grzegorz@gitlab.com>2018-10-23 06:40:57 +0000
commit075bbd4cb614783b7b49613c70088fe6bca766d2 (patch)
tree067ac1fe61d81ca3aa4a931c098a2e057471e131 /lib/gitlab
parent6691d5f9b6fb60bacd7252d001e7a5fe59c90e3f (diff)
parent9065599e7947e44ea51be9824fe60b0d858b1605 (diff)
downloadgitlab-ce-075bbd4cb614783b7b49613c70088fe6bca766d2.tar.gz
Merge branch 'sh-pages-eof-error' into 'master'
Fix EOF detection with CI artifacts metadata Closes #36954 See merge request gitlab-org/gitlab-ce!22479
Diffstat (limited to 'lib/gitlab')
-rw-r--r--lib/gitlab/ci/build/artifacts/metadata.rb7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/gitlab/ci/build/artifacts/metadata.rb b/lib/gitlab/ci/build/artifacts/metadata.rb
index 375d8bc1ff5..551d4f4473e 100644
--- a/lib/gitlab/ci/build/artifacts/metadata.rb
+++ b/lib/gitlab/ci/build/artifacts/metadata.rb
@@ -59,9 +59,12 @@ module Gitlab
until gz.eof?
begin
- path = read_string(gz).force_encoding('UTF-8')
- meta = read_string(gz).force_encoding('UTF-8')
+ path = read_string(gz)&.force_encoding('UTF-8')
+ meta = read_string(gz)&.force_encoding('UTF-8')
+ # We might hit an EOF while reading either value, so we should
+ # abort if we don't get any data.
+ next unless path && meta
next unless path.valid_encoding? && meta.valid_encoding?
next unless path =~ match_pattern
next if path =~ INVALID_PATH_PATTERN