From ce968c02dd62c9246ad30f047f7f68b60243513a Mon Sep 17 00:00:00 2001 From: 21pages Date: Thu, 3 Sep 2026 10:36:12 +0800 Subject: [PATCH] scrap: load the D3D compiler securely from System32 Signed-off-by: 21pages --- libs/scrap/src/dxgi/hdr.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/scrap/src/dxgi/hdr.rs b/libs/scrap/src/dxgi/hdr.rs index 52f5ab21e..0e23ef5bf 100644 --- a/libs/scrap/src/dxgi/hdr.rs +++ b/libs/scrap/src/dxgi/hdr.rs @@ -49,7 +49,7 @@ use winapi::{ um::{ d3d11::*, d3dcommon::{ID3DBlob, ID3DInclude, D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST, D3D_SHADER_MACRO}, - libloaderapi::{GetProcAddress, LoadLibraryW}, + libloaderapi::{GetProcAddress, LoadLibraryExW, LOAD_LIBRARY_SEARCH_SYSTEM32}, unknwnbase::IUnknown, wingdi::{ DISPLAYCONFIG_DEVICE_INFO_GET_SOURCE_NAME, DISPLAYCONFIG_DEVICE_INFO_HEADER, @@ -495,7 +495,7 @@ fn load_d3d_compile() -> io::Result { unsafe fn find_d3d_compile() -> Result { let name: Vec = "d3dcompiler_47.dll\0".encode_utf16().collect(); - let module = LoadLibraryW(name.as_ptr()); + let module = LoadLibraryExW(name.as_ptr(), ptr::null_mut(), LOAD_LIBRARY_SEARCH_SYSTEM32); if module.is_null() { return Err("d3dcompiler_47.dll not available".into()); }