backport_1111737.patch 1.2 KB

1234567891011121314151617181920212223
  1. From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
  2. From: Cheng Zhao <[email protected]>
  3. Date: Thu, 4 Oct 2018 14:57:02 -0700
  4. Subject: fix: remove references to launched device before it is reset
  5. [1111737] [High] [CVE-2020-6576]: Security: OffscreenCanvas - Use After Free in OffscreenCanvasRenderingContext2D::DrawTextInternal()
  6. Backport https://chromium.googlesource.com/chromium/src/+/1283160e334f78c5eed4668d95e04f2ed2e2a4a3.
  7. diff --git a/content/browser/renderer_host/media/video_capture_controller.cc b/content/browser/renderer_host/media/video_capture_controller.cc
  8. index effb80cd2002d1a513a4218c110bff13241353c2..8c70d2a1ac54595ac027630d1a1897a66414ce39 100644
  9. --- a/content/browser/renderer_host/media/video_capture_controller.cc
  10. +++ b/content/browser/renderer_host/media/video_capture_controller.cc
  11. @@ -716,6 +716,10 @@ void VideoCaptureController::ReleaseDeviceAsync(base::OnceClosure done_cb) {
  12. device_launcher_->AbortLaunch();
  13. return;
  14. }
  15. + // |buffer_contexts_| contain references to |launched_device_| as observers.
  16. + // Clear those observer references prior to resetting |launced_device_|.
  17. + for (auto& entry : buffer_contexts_)
  18. + entry.set_consumer_feedback_observer(nullptr);
  19. launched_device_.reset();
  20. }