7
0

Accepting request 1065564 from home:dziobian:gulgul-ultron:19

- Add RenderFrameHostImpl-use-after-free.patch to fix a crash reported by an user.
- Fix unnecessary libz dependency added for downstream node modules on Fedora.

OBS-URL: https://build.opensuse.org/request/show/1065564
OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs-electron?expand=0&rev=63
This commit is contained in:
2023-02-13 18:46:12 +00:00
committed by Git OBS Bridge
parent 05c15db0db
commit 23d036eca0
4 changed files with 31 additions and 1 deletions

View File

@@ -0,0 +1,24 @@
--- src/content/browser/renderer_host/render_frame_host_impl.cc.orig 2023-02-08 21:38:09.974003318 +0100
+++ src/content/browser/renderer_host/render_frame_host_impl.cc 2023-02-13 14:13:50.217792624 +0100
@@ -5,6 +5,7 @@
#include "content/browser/renderer_host/render_frame_host_impl.h"
#include <memory>
+#include <new>
#include <tuple>
#include <unordered_map>
#include <utility>
@@ -1876,7 +1877,12 @@
// completes. Among other things, this ensures that any `SafeRef`s from
// `DocumentService` and `RenderFrameHostUserData` subclasses are still valid
// when their destructors run.
- document_associated_data_.reset();
+ // HACK: Using .reset() here works on MSVC and LLVM libc++ because the std::optional
+ // is still valid while the destructor runs. This does not work on GNU libstdc++
+ // however which invalidates the optional before calling the destructor, causing a crash.
+ // Upstream bug: https://bugs.chromium.org/p/chromium/issues/detail?id=1415154
+ document_associated_data_->~DocumentAssociatedData();
+ new(&document_associated_data_) absl::optional<DocumentAssociatedData>(absl::nullopt);
// Ensure that the render process host has been notified that all audio
// streams from this frame have terminated. This is required to ensure the

View File

@@ -8,7 +8,7 @@ Index: electron-17.1.0/third_party/electron_node/common.gypi
}],
+ [ 'OS in "linux"', {
+ 'cflags': [ '-I/usr/include/electron' ],
+ 'ldflags': [ '-lz' ],
+ 'ldflags': [ '-Wl,--as-needed', '-lz' ],
+ }],
[ 'OS in "linux freebsd openbsd solaris aix"', {
'cflags': [ '-pthread' ],

View File

@@ -1,3 +1,8 @@
-------------------------------------------------------------------
Mon Feb 13 13:19:38 UTC 2023 - Bruno Pitrus <brunopitrus@hotmail.com>
- Add RenderFrameHostImpl-use-after-free.patch to fix a crash reported by an user.
- Fix unnecessary libz dependency added for downstream node modules on Fedora.
-------------------------------------------------------------------
Wed Feb 8 21:17:12 UTC 2023 - Bruno Pitrus <brunopitrus@hotmail.com>
- New upstream release 22.2.1

View File

@@ -307,6 +307,7 @@ Patch2033: node-upgrade-llhttp-to-8.patch
Source2033: node-upgrade-llhttp-to-8.patch
%endif
Patch2034: swiftshader-LLVMJIT-AddressSanitizerPass-dead-code-remove.patch
Patch2035: RenderFrameHostImpl-use-after-free.patch
# PATCHES that should be submitted upstream verbatim or near-verbatim
Patch3016: chromium-98-EnumTable-crash.patch