diff options
author | Grzegorz Bizon <grzegorz@gitlab.com> | 2018-10-23 06:40:57 +0000 |
---|---|---|
committer | Grzegorz Bizon <grzegorz@gitlab.com> | 2018-10-23 06:40:57 +0000 |
commit | 075bbd4cb614783b7b49613c70088fe6bca766d2 (patch) | |
tree | 067ac1fe61d81ca3aa4a931c098a2e057471e131 /lib/gitlab | |
parent | 6691d5f9b6fb60bacd7252d001e7a5fe59c90e3f (diff) | |
parent | 9065599e7947e44ea51be9824fe60b0d858b1605 (diff) | |
download | gitlab-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.rb | 7 |
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 |