Markdown is not rendering, "Error loading viewer": undefined method `html_escape'

As reported in https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=895871, Overview and Repository pages show "Error loading viewer" errors on projects with Markdown-formatted README.md:

Completed 500 Internal Server Error in 82ms (ActiveRecord: 3.3ms)

ActionView::Template::Error (undefined method `html_escape' for #<Banzai::Renderer::Redcarpet::HTML:0x000055aa553a6768>
Did you mean?  html_safe?):
    1: - blob = viewer.blob
    2: - rendered_markup = blob.rendered_markup if blob.respond_to?(:rendered_markup)
    3: .file-content.wiki
    4:   = markup(blob.name, blob.data, rendered: rendered_markup)
  lib/banzai/renderer/redcarpet/html.rb:9:in `block_code'
  lib/banzai/filter/markdown_engines/redcarpet.rb:27:in `render'
  lib/banzai/filter/markdown_engines/redcarpet.rb:27:in `render'
  lib/banzai/filter/markdown_filter.rb:12:in `call'
  lib/banzai/pipeline/base_pipeline.rb:21:in `block (2 levels) in singleton class'
  lib/banzai/renderer.rb:108:in `render_result'
  lib/banzai/renderer.rb:139:in `block in cacheless_render'
  lib/gitlab/metrics/influx_db.rb:98:in `measure'
  lib/banzai/renderer.rb:138:in `cacheless_render'
  lib/banzai/renderer.rb:28:in `render'
  lib/banzai.rb:3:in `render'
  app/helpers/markup_helper.rb:244:in `markdown_unsafe'
  app/helpers/markup_helper.rb:143:in `markup_unsafe'
  app/helpers/markup_helper.rb:110:in `markup'
  app/views/projects/blob/viewers/_markup.html.haml:4:in `_app_views_projects_blob_viewers__markup_html_haml__1729761416022180057_47095031404280'
  app/views/projects/blob/_viewer.html.haml:20:in `_app_views_projects_blob__viewer_html_haml___2248780134913313564_47095031583720'
  app/controllers/application_controller.rb:252:in `view_to_html_string'
  app/controllers/concerns/renders_blob.rb:18:in `blob_json'
  app/controllers/projects/blob_controller.rb:200:in `show_json'
  app/controllers/projects/blob_controller.rb:47:in `block (2 levels) in show'
  app/controllers/projects/blob_controller.rb:39:in `show'
  lib/gitlab/i18n.rb:50:in `with_locale'
  lib/gitlab/i18n.rb:56:in `with_user_locale'
  app/controllers/application_controller.rb:330:in `set_locale'
  lib/gitlab/middleware/multipart.rb:95:in `call'
  lib/gitlab/request_profiler/middleware.rb:14:in `call'
  lib/gitlab/middleware/go.rb:17:in `call'
  lib/gitlab/etag_caching/middleware.rb:11:in `call'
  lib/gitlab/middleware/read_only/controller.rb:28:in `call'
  lib/gitlab/middleware/read_only.rb:16:in `call'
  lib/gitlab/request_context.rb:18:in `call'
  lib/gitlab/metrics/requests_rack_middleware.rb:27:in `call'
  lib/gitlab/middleware/release_env.rb:10:in `call'

The culprit is in https://gitlab.com/gitlab-org/gitlab-ce/blob/master/lib/banzai/renderer/redcarpet/html.rb#L9

The following patch fixes the problem:

--- a/lib/banzai/renderer/redcarpet/html.rb
+++ b/lib/banzai/renderer/redcarpet/html.rb
@@ -5,9 +5,9 @@
         def block_code(code, lang)
           lang_attr = lang ? %Q{ lang="#{lang}"} : ''

           "\n<pre>" \
-            "<code#{lang_attr}>#{html_escape(code)}</code>" \
+            "<code#{lang_attr}>#{ERB::Util.html_escape(code)}</code>" \
           "</pre>"
         end
       end
     end