diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-09-19 01:45:44 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-09-19 01:45:44 +0000 |
commit | 85dc423f7090da0a52c73eb66faf22ddb20efff9 (patch) | |
tree | 9160f299afd8c80c038f08e1545be119f5e3f1e1 /app/models/merge_request_diff_file.rb | |
parent | 15c2c8c66dbe422588e5411eee7e68f1fa440bb8 (diff) | |
download | gitlab-ce-85dc423f7090da0a52c73eb66faf22ddb20efff9.tar.gz |
Add latest changes from gitlab-org/gitlab@13-4-stable-ee
Diffstat (limited to 'app/models/merge_request_diff_file.rb')
-rw-r--r-- | app/models/merge_request_diff_file.rb | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/app/models/merge_request_diff_file.rb b/app/models/merge_request_diff_file.rb index 23319445a38..55ff4250c2d 100644 --- a/app/models/merge_request_diff_file.rb +++ b/app/models/merge_request_diff_file.rb @@ -25,6 +25,16 @@ class MergeRequestDiffFile < ApplicationRecord super end - binary? ? content.unpack1('m0') : content + return content unless binary? + + # If the data isn't valid base64, return it as-is, since it's almost certain + # to be a valid diff. Parsing it as a diff will fail if it's something else. + # + # https://gitlab.com/gitlab-org/gitlab/-/issues/240921 + begin + content.unpack1('m0') + rescue ArgumentError + content + end end end |