diff options
author | Mike Gilbert <floppym@gentoo.org> | 2020-10-22 13:23:32 -0400 |
---|---|---|
committer | Mike Gilbert <floppym@gentoo.org> | 2020-10-22 13:24:09 -0400 |
commit | 9b903750a9a89f7a788370261daff9a8ac0bfe02 (patch) | |
tree | 80c98f16f2e26d8abd3a00cd9c7764a20a505928 /www-client/chromium | |
parent | media-video/ffmpeg: add multilib on frei0r (diff) | |
download | gentoo-9b903750a9a89f7a788370261daff9a8ac0bfe02.tar.gz gentoo-9b903750a9a89f7a788370261daff9a8ac0bfe02.tar.bz2 gentoo-9b903750a9a89f7a788370261daff9a8ac0bfe02.zip |
www-client/chromium: backport crash fix
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
Diffstat (limited to 'www-client/chromium')
-rw-r--r-- | www-client/chromium/chromium-86.0.4240.111-r1.ebuild (renamed from www-client/chromium/chromium-86.0.4240.111.ebuild) | 5 | ||||
-rw-r--r-- | www-client/chromium/chromium-87.0.4280.20-r1.ebuild (renamed from www-client/chromium/chromium-87.0.4280.20.ebuild) | 8 | ||||
-rw-r--r-- | www-client/chromium/files/chromium-87-xproto-crash.patch | 38 |
3 files changed, 48 insertions, 3 deletions
diff --git a/www-client/chromium/chromium-86.0.4240.111.ebuild b/www-client/chromium/chromium-86.0.4240.111-r1.ebuild index df085819384b..3afc7420f133 100644 --- a/www-client/chromium/chromium-86.0.4240.111.ebuild +++ b/www-client/chromium/chromium-86.0.4240.111-r1.ebuild @@ -235,7 +235,10 @@ src_prepare() { # Calling this here supports resumption via FEATURES=keepwork python_setup - eapply "${WORKDIR}/patches" + local PATCHES=( + "${WORKDIR}/patches" + "${FILESDIR}/chromium-87-xproto-crash.patch" + ) default diff --git a/www-client/chromium/chromium-87.0.4280.20.ebuild b/www-client/chromium/chromium-87.0.4280.20-r1.ebuild index 15eece70ebee..bf67a111684f 100644 --- a/www-client/chromium/chromium-87.0.4280.20.ebuild +++ b/www-client/chromium/chromium-87.0.4280.20-r1.ebuild @@ -231,9 +231,13 @@ src_prepare() { # Calling this here supports resumption via FEATURES=keepwork python_setup - eapply "${WORKDIR}/patches" + local PATCHES=( + "${WORKDIR}/patches" + "${FILESDIR}/chromium-87-xproto-crash.patch" + ) + if use vaapi; then - eapply "${FILESDIR}/chromium-86-fix-vaapi-on-intel.patch" + PATCHES+=( "${FILESDIR}/chromium-86-fix-vaapi-on-intel.patch" ) fi default diff --git a/www-client/chromium/files/chromium-87-xproto-crash.patch b/www-client/chromium/files/chromium-87-xproto-crash.patch new file mode 100644 index 000000000000..d0dc391e8f10 --- /dev/null +++ b/www-client/chromium/files/chromium-87-xproto-crash.patch @@ -0,0 +1,38 @@ +From 6e50c5a3abfa22eb17e26086bffbee288d07483e Mon Sep 17 00:00:00 2001 +From: Tom Anderson <thomasanderson@chromium.org> +Date: Thu, 22 Oct 2020 01:05:44 +0000 +Subject: [PATCH] [XProto] Fix crash in media::UserInputMonitorLinuxCore::DispatchXEvent + +The X server may send unsolicited events (from clients calling +XSendEvent() or from new keyboard mappings). So we must check that +the event is the correct type before dispatching it. + +R=dalecurtis + +Change-Id: Ic3e19f7da1415c358991609c9b016bd60ead2038 +Bug: 1140927 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2490674 +Commit-Queue: Thomas Anderson <thomasanderson@chromium.org> +Auto-Submit: Thomas Anderson <thomasanderson@chromium.org> +Reviewed-by: Dale Curtis <dalecurtis@chromium.org> +Cr-Commit-Position: refs/heads/master@{#819650} +--- + +diff --git a/media/base/user_input_monitor_linux.cc b/media/base/user_input_monitor_linux.cc +index 59e655f..13c373f 100644 +--- a/media/base/user_input_monitor_linux.cc ++++ b/media/base/user_input_monitor_linux.cc +@@ -115,9 +115,10 @@ + DCHECK(io_task_runner_->BelongsToCurrentThread()); + + auto* raw = event->As<x11::Input::RawDeviceEvent>(); +- DCHECK(raw); +- DCHECK(raw->opcode == x11::Input::RawDeviceEvent::RawKeyPress || +- raw->opcode == x11::Input::RawDeviceEvent::RawKeyRelease); ++ if (!raw || (raw->opcode != x11::Input::RawDeviceEvent::RawKeyPress && ++ raw->opcode != x11::Input::RawDeviceEvent::RawKeyRelease)) { ++ return; ++ } + + ui::EventType type = raw->opcode == x11::Input::RawDeviceEvent::RawKeyPress + ? ui::ET_KEY_PRESSED |