external/skia/UnpackedTarball_skia.mk | 3 ++- external/skia/windows-libraries-system32.patch.1 | 13 +++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-)
New commits: commit 754a28a5a0e4cb3eb7ab98dd9d45c992caa0a51f Author: Luboš Luňák <l.lu...@collabora.com> AuthorDate: Wed Sep 1 11:00:38 2021 +0200 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Thu Sep 16 11:48:29 2021 +0200 patch Skia to search only system32/ for libraries LO on Windows defaults to Vulkan, and Skia tries to load the vulkan DLL, which may not be present on some systems. The library AFAICT should always be in a system directory, so restrict library searching to just there to avoid the possibility of DLL hijacking, just to be safe. Change-Id: I78ad3c7297e613c0316e82c5ff3c0110a02da337 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121437 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lu...@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122137 Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/external/skia/UnpackedTarball_skia.mk b/external/skia/UnpackedTarball_skia.mk index 319b33716a96..78713aaaefc1 100644 --- a/external/skia/UnpackedTarball_skia.mk +++ b/external/skia/UnpackedTarball_skia.mk @@ -36,7 +36,8 @@ skia_patches := \ c++20.patch.0 \ constexpr-debug-std-max.patch.1 \ swap-buffers-rect.patch.1 \ - ubsan.patch.0 + ubsan.patch.0 \ + windows-libraries-system32.patch.1 $(eval $(call gb_UnpackedTarball_set_patchlevel,skia,1)) diff --git a/external/skia/windows-libraries-system32.patch.1 b/external/skia/windows-libraries-system32.patch.1 new file mode 100644 index 000000000000..45c0e35d1cfa --- /dev/null +++ b/external/skia/windows-libraries-system32.patch.1 @@ -0,0 +1,13 @@ +diff --git a/src/ports/SkOSLibrary_win.cpp b/src/ports/SkOSLibrary_win.cpp +index d2dcbe0af6..c288bbf177 100644 +--- a/src/ports/SkOSLibrary_win.cpp ++++ b/src/ports/SkOSLibrary_win.cpp +@@ -11,7 +11,7 @@ + #include "src/ports/SkOSLibrary.h" + + void* SkLoadDynamicLibrary(const char* libraryName) { +- return LoadLibraryA(libraryName); ++ return LoadLibraryExA(libraryName, nullptr, LOAD_LIBRARY_SEARCH_SYSTEM32); + } + + void* SkGetProcedureAddress(void* library, const char* functionName) {